cat_generic.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_CAT_GENERIC_H
26 #define LIBASTERIX_CAT_GENERIC_H
27 
28 #include "dataitem.h"
29 #include "bds.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
51 typedef struct AST_API _ast_dataitem_message_type_t
53 {
54  bool valid;
55 
56  unsigned int msg_type;
58 
60 #define ast_dataitem_message_type_get_size ast_dataitem_get_size_fixed_1_byte
61 
64 
66 AST_API ast_dataitem_t ast_dataitem_message_type_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
67 
68 
93 typedef struct _ast_dataitem_data_source_identifier_t
95 {
96  bool valid;
97 
98  unsigned int sac;
99  unsigned int sic;
101 
103 #define ast_dataitem_data_source_identifier_get_size ast_dataitem_get_size_fixed_2_byte
104 
107 
109 AST_API ast_dataitem_t ast_dataitem_data_source_identifier_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
110 
112 AST_API void ast_dataitem_data_source_identifier_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
113 
115 AST_API void ast_dataitem_data_source_identifier_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
116 
133 typedef struct AST_API _ast_dataitem_service_id_t
135 {
136  bool valid;
137 
138  unsigned int service_id;
140 
142 #define ast_dataitem_service_id_get_size ast_dataitem_get_size_fixed_1_byte
143 
146 
148 AST_API void ast_dataitem_service_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
149 
151 #define ast_dataitem_service_id_get_detail_html ast_dataitem_get_detail_html_dummy;
152 
168 typedef struct _ast_dataitem_sector_number_t
170 {
171  bool valid;
172 
173  unsigned int raw_azimuth;
174  double azimuth;
176 
178 #define ast_dataitem_sector_number_get_size ast_dataitem_get_size_fixed_1_byte
179 
182 
184 AST_API ast_dataitem_t ast_dataitem_sector_number_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
185 
187 AST_API void ast_dataitem_sector_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
188 
190 AST_API void ast_dataitem_sector_number_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
191 
216 typedef struct _ast_dataitem_time_of_day_t
218 {
219  bool valid;
220 
221  unsigned int raw_time;
222 
223  unsigned int hour;
224  unsigned int min;
225  unsigned int sec;
226  unsigned int msec;
228 
230 #define ast_dataitem_time_of_day_get_size ast_dataitem_get_size_fixed_3_byte
231 
234 
236 AST_API ast_dataitem_t ast_dataitem_time_of_day_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
237 
239 AST_API void ast_dataitem_time_of_day_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
240 
242 AST_API void ast_dataitem_time_of_day_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
243 
258 typedef struct _ast_dataitem_time_of_day_high_t
260 {
261  bool valid;
262 
263  int fsi;
264  unsigned int raw_time;
267 
269 #define ast_dataitem_time_of_day_high_get_size ast_dataitem_get_size_fixed_4_byte
270 
273 
275 //AST_API ast_dataitem_t ast_dataitem_time_of_day_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
276 
278 AST_API void ast_dataitem_time_of_day_high_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
279 
281 AST_API void ast_dataitem_time_of_day_high_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
282 
296 typedef struct _ast_dataitem_position_wgs84_low_t
298 {
299  bool valid;
300 
303 
304  double latitude;
305  double longitude;
307 
309 #define ast_dataitem_position_wgs84_low_get_size ast_dataitem_get_size_fixed_6_byte
310 
313 
315 AST_API ast_dataitem_t ast_dataitem_position_wgs84_low_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
316 
318 AST_API void ast_dataitem_position_wgs84_low_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
319 
321 AST_API void ast_dataitem_position_wgs84_low_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
322 
339 typedef struct _ast_dataitem_position_wgs84_t
341 {
342  bool valid;
343 
346 
347  double latitude;
348  double longitude;
350 
352 #define ast_dataitem_position_wgs84_get_size ast_dataitem_get_size_fixed_8_byte
353 
356 
358 AST_API ast_dataitem_t ast_dataitem_position_wgs84_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
359 
361 AST_API void ast_dataitem_position_wgs84_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
362 
364 AST_API void ast_dataitem_position_wgs84_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
365 
380 typedef struct _ast_dataitem_position_cartesian_t
382 {
383  bool valid;
384 
385  int raw_x;
386  int raw_y;
387 
388  double x;
389  double y;
391 
393 #define ast_dataitem_position_cartesian_get_size ast_dataitem_get_size_fixed_6_byte
394 
397 
399 AST_API void ast_dataitem_position_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
400 
402 #define ast_dataitem_position_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
403 
419 typedef struct _ast_dataitem_velocity_cartesian_t
421 {
422  bool valid;
423 
424  int raw_vx;
425  int raw_vy;
426 
427  double vx;
428  double vy;
430 
432 #define ast_dataitem_velocity_cartesian_get_size ast_dataitem_get_size_fixed_4_byte;
433 
436 
438 AST_API void ast_dataitem_velocity_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
439 
441 #define ast_dataitem_velocity_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
442 
454 #define ast_dataitem_mode_2_code_get_size ast_dataitem_get_size_fixed_2_byte
455 
456 
474 typedef struct _ast_dataitem_mode_3a_code_t
476 {
477  bool valid;
478 
479  bool validated;
480  bool garbled;
481  bool smoothed;
482 
483  bool changed;
484 
485  int code;
486 
488 
490 #define ast_dataitem_mode_3a_code_get_size ast_dataitem_get_size_fixed_2_byte
491 
494 
496 AST_API ast_dataitem_t ast_dataitem_mode_3a_code_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
497 
499 AST_API void ast_dataitem_mode_3a_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
500 
502 AST_API void ast_dataitem_mode_3a_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
503 
520 typedef struct _ast_dataitem_mode_3a_confidence_t
522 {
523  bool valid;
524 
525  bool pulse_quality_low[4][3];
527 
529 #define ast_dataitem_mode_3a_confidence_get_size ast_dataitem_get_size_fixed_2_byte
530 
533 
535 AST_API void ast_dataitem_mode_3a_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
536 
538 AST_API void ast_dataitem_mode_3a_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
539 
558 typedef struct _ast_dataitem_mode_c_code_t
560 {
561  bool valid;
562 
563  bool validated;
564  bool garbled;
565 
566  int code;
567 
569 
571 #define ast_dataitem_mode_c_code_get_size ast_dataitem_get_size_fixed_2_byte
572 
575 
577 AST_API ast_dataitem_t ast_dataitem_mode_c_code_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
578 
580 AST_API void ast_dataitem_mode_c_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
581 
583 AST_API void ast_dataitem_mode_c_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
584 
601 typedef struct _ast_dataitem_mode_c_confidence_t
603 {
604  bool valid;
605 
606  bool validated;
607  bool garbled;
608 
609  unsigned int code;
610  bool pulse[4][3];
611  bool pulse_quality_low[4][3];
613 
615 #define ast_dataitem_mode_c_confidence_get_size ast_dataitem_get_size_fixed_4_byte
616 
619 
621 AST_API void ast_dataitem_mode_c_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
622 
624 AST_API void ast_dataitem_mode_c_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
625 
640 typedef struct _ast_dataitem_height_t
642 {
643  bool valid;
644 
647 
649 #define ast_dataitem_height_get_size ast_dataitem_get_size_fixed_2_byte
650 
653 
655 AST_API void ast_dataitem_height_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
656 
658 AST_API void ast_dataitem_height_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
659 
674 typedef struct _ast_dataitem_vertical_rate_t
676 {
677  bool valid;
678 
679  int raw_vr;
681 
683 #define ast_dataitem_vertical_rate_get_size ast_dataitem_get_size_fixed_2_byte
684 
687 
689 AST_API void ast_dataitem_vertical_rate_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
690 
692 AST_API void ast_dataitem_vertical_rate_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
693 
718 typedef struct _ast_dataitem_track_number_t
720 {
721  bool valid;
722 
723  unsigned int track_num;
725 
727 #define ast_dataitem_track_number_get_size ast_dataitem_get_size_fixed_2_byte
728 
731 
733 AST_API ast_dataitem_t ast_dataitem_track_number_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
734 
736 AST_API void ast_dataitem_track_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
737 
739 #define ast_dataitem_track_number_get_detail_html ast_dataitem_get_detail_html_dummy;
740 
756 typedef struct _ast_dataitem_velocity_polar_t
758 {
759  bool valid;
760 
763 
764  double ground_speed;
765  double heading;
767 
769 #define ast_dataitem_velocity_polar_get_size ast_dataitem_get_size_fixed_4_byte
770 
773 
775 AST_API ast_dataitem_t ast_dataitem_velocity_polar_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
776 
778 AST_API void ast_dataitem_velocity_polar_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
779 
781 AST_API void ast_dataitem_velocity_polar_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
782 
798 typedef struct _ast_dataitem_target_address_t
800 {
801  bool valid;
802 
803  unsigned char raw_address[3];
804  unsigned int icao_address;
806 
808 #define ast_dataitem_target_address_get_size ast_dataitem_get_size_fixed_3_byte
809 
812 
814 AST_API ast_dataitem_t ast_dataitem_target_address_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
815 
817 AST_API void ast_dataitem_target_address_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
818 
820 AST_API void ast_dataitem_target_address_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
821 
837 typedef struct _ast_dataitem_aircraft_id_t
839 {
840  bool valid;
841 
842  char aircraft_id[9];
844 
846 #define ast_dataitem_aircraft_id_get_size ast_dataitem_get_size_fixed_6_byte
847 
850 
852 AST_API ast_dataitem_t ast_dataitem_aircraft_id_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
853 
855 AST_API void ast_dataitem_aircraft_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
856 
858 AST_API void ast_dataitem_aircraft_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
859 
875 typedef enum _ast_target_id_type_t
877 {
883 
885 typedef struct _ast_dataitem_target_id_t
886 {
887  bool valid;
888 
890  char target_id[9];
892 
894 #define ast_dataitem_target_id_get_size ast_dataitem_get_size_fixed_7_byte
895 
898 
900 AST_API void ast_dataitem_target_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
901 
903 AST_API void ast_dataitem_target_id_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
904 
918 typedef struct _ast_dataitem_signal_amplitude_t
920 {
921  bool valid;
922 
925 
927 #define ast_dataitem_signal_amplitude_get_size ast_dataitem_get_size_fixed_1_byte
928 
931 
933 AST_API ast_dataitem_t ast_dataitem_signal_amplitude_encode(unsigned char* buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
934 
936 AST_API void ast_dataitem_signal_amplitude_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
937 
939 #define ast_dataitem_signal_amplitude_get_detail_html ast_dataitem_get_detail_html_dummy
940 
956 typedef struct _ast_dataitem_modes_mb_t
958 {
959  bool valid;
960 
961  size_t n_bds;
963 
965 
967 #define ast_dataitem_modes_mb_get_size ast_dataitem_get_size_rep_8_byte
968 
971 
973 AST_API void ast_dataitem_modes_mb_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
974 
976 AST_API void ast_dataitem_modes_mb_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
977 
992 typedef struct _ast_dataitem_video_header_t
994 {
995  bool valid;
996 
997  unsigned int start_azimuth_raw;
998  unsigned int end_azimuth_raw;
999  double start_azimuth;
1000  double end_azimuth;
1001 
1002  unsigned int start_range;
1003 
1004  unsigned int cell_duration_raw;
1005  double cell_duration;
1006 
1008 
1010 #define ast_dataitem_video_header_get_size ast_dataitem_get_size_fixed_12_byte
1011 
1026 AST_API void ast_dataitem_binary_data_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1027 
1044 AST_API size_t ast_dataitem_reserved_expansion_field_get_size(const unsigned char* buffer, const size_t bufsize);
1046 
1048 AST_API void ast_dataitem_reserved_expansion_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1049 
1051 #define ast_dataitem_reserved_expansion_field_get_detail_html ast_dataitem_get_detail_html_dummy
1052 
1070 AST_API size_t ast_dataitem_special_purpose_field_get_size(const unsigned char* buffer, const size_t bufsize);
1072 
1074 AST_API void ast_dataitem_special_purpose_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1075 
1077 #define ast_dataitem_special_purpose_field_get_detail_html ast_dataitem_get_detail_html_dummy
1078 
1082 #ifdef __cplusplus
1083  }
1084 #endif // extern "C"
1085 
1086 #endif //LIBASTERIX_CAT_GENERIC_H
1087 
1088 // vim:set ft=c sw=2 sts=2 fenc=utf8:
bool valid
Definition: cat_generic.h:561
int raw_y
Raw format as defined in doc, resolution 0.5m.
Definition: cat_generic.h:386
unsigned int hour
Raw format as defined in doc, reset zero at mid night, resolution 1/128s.
Definition: cat_generic.h:223
bool changed
Mode 3/A has changed, valid only in I062/060.
Definition: cat_generic.h:483
ast_dataitem_t ast_dataitem_track_number_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
unsigned int cell_duration_raw
Starting range of the cells group, expressed in number of cells. 0 is the radar location without any ...
Definition: cat_generic.h:1004
void ast_dataitem_mode_c_confidence_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
unsigned int icao_address
Definition: cat_generic.h:804
Data Item - Vertical Rate.
Definition: cat_generic.h:675
ast_dataitem_t ast_dataitem_position_wgs84_low_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
Data Item - Message Type.
Definition: cat_generic.h:52
double azimuth
Definition: cat_generic.h:174
bool valid
Definition: cat_generic.h:54
ast_dataitem_time_of_day_high_t ast_dataitem_time_of_day_high_decode(const ast_dataitem_t di)
Decode function.
Data Item - Time of Day High Precision.
Definition: cat_generic.h:259
Extracted dataitem.
Definition: dataitem.h:432
void ast_dataitem_height_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
bool valid
Definition: cat_generic.h:477
ast_dataitem_velocity_cartesian_t ast_dataitem_velocity_cartesian_decode(const ast_dataitem_t di)
Decode function.
int raw_latitude
Raw format as defined in doc, resolution 180/2^23 degree.
Definition: cat_generic.h:301
void ast_dataitem_target_address_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_special_purpose_field_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
unsigned int raw_time
Full Second Indication.
Definition: cat_generic.h:264
size_t n_bds
Definition: cat_generic.h:961
int amplitude
Definition: cat_generic.h:923
bool valid
Definition: cat_generic.h:261
bool valid
Definition: cat_generic.h:299
void ast_dataitem_sector_number_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail funciton.
Data Item Itrack_number - Track Number.
Definition: cat_generic.h:719
bool garbled
Definition: cat_generic.h:564
double latitude
Latitude in degree.
Definition: cat_generic.h:347
int raw_vy
Raw format as defined in doc, resolution 0.25 m/s.
Definition: cat_generic.h:425
double longitude
Longitude in degree.
Definition: cat_generic.h:305
void ast_dataitem_position_cartesian_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_dataitem_position_wgs84_low_t ast_dataitem_position_wgs84_low_decode(const ast_dataitem_t di)
Decode function.
size_t ast_dataitem_special_purpose_field_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function.
ast_dataitem_time_of_day_t ast_dataitem_time_of_day_decode(const ast_dataitem_t di)
Decode function.
Data Item - Position in Cartesian Coordinates.
Definition: cat_generic.h:381
#define AST_MAX_BDS
Max number of BDS in one data item.
Definition: bds.h:83
ast_dataitem_t ast_dataitem_position_wgs84_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
#define AST_API
Definition: platform.h:63
unsigned int msg_type
Definition: cat_generic.h:56
Data Item - Data Source Identifier.
Definition: cat_generic.h:94
void ast_dataitem_mode_3a_code_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_mode_c_code_t ast_dataitem_mode_c_code_decode(const ast_dataitem_t di)
Decode function.
unsigned int code
Definition: cat_generic.h:609
bool valid
Definition: cat_generic.h:801
void ast_dataitem_mode_c_confidence_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_t ast_dataitem_aircraft_id_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
Definition: cat_generic.h:880
ast_dataitem_mode_c_confidence_t ast_dataitem_mode_c_confidence_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat_generic.h:219
ast_target_id_type_t
Target identification type.
Definition: cat_generic.h:876
void ast_dataitem_sector_number_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary funciton.
ast_dataitem_t ast_dataitem_signal_amplitude_encode(unsigned char *buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_t ast_dataitem_sector_number_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
Data Item - Time of Day.
Definition: cat_generic.h:217
void ast_dataitem_reserved_expansion_field_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Binary Data Source (BDS)
Definition: bds.h:86
ast_dataitem_track_number_t ast_dataitem_track_number_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_t ast_dataitem_time_of_day_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
bool valid
Definition: cat_generic.h:677
int fsi
Definition: cat_generic.h:263
Definition: cat_generic.h:879
Data Item - Mode-3/A Code Confidence Indicator.
Definition: cat_generic.h:521
ast_dataitem_message_type_t ast_dataitem_message_type_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat_generic.h:721
bool valid
Definition: cat_generic.h:959
ast_dataitem_service_id_t ast_dataitem_service_id_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_height_t ast_dataitem_height_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_target_address_t ast_dataitem_target_address_decode(const ast_dataitem_t di)
Decode function.
int raw_ground_speed
Raw format as defined in doc, resolution 2^-14 nm/s.
Definition: cat_generic.h:761
double y
Y in meter.
Definition: cat_generic.h:389
int raw_height
Raw height, LSB=6.25ft.
Definition: cat_generic.h:645
ast_dataitem_target_id_t ast_dataitem_target_id_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_mode_c_code_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Data Item - Mode S MB Data.
Definition: cat_generic.h:957
ast_dataitem_t ast_dataitem_mode_3a_code_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
int code
Definition: cat_generic.h:566
ast_dataitem_sector_number_t ast_dataitem_sector_number_decode(const ast_dataitem_t di)
Decode function.
double vx
Vx in m/s.
Definition: cat_generic.h:427
ast_dataitem_t ast_dataitem_data_source_identifier_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
void ast_dataitem_signal_amplitude_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
void ast_dataitem_mode_3a_code_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
unsigned int track_num
Definition: cat_generic.h:723
double heading
Heading, LSB = degree.
Definition: cat_generic.h:765
Data Item - Service Identification.
Definition: cat_generic.h:134
bool valid
Definition: cat_generic.h:342
Data Item - Target Identification.
Definition: cat_generic.h:885
ast_dataitem_t ast_dataitem_message_type_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
unsigned int start_range
End azimuth, LSB = degree.
Definition: cat_generic.h:1002
Data Item - Mode-C Code.
Definition: cat_generic.h:559
unsigned int sec
Definition: cat_generic.h:225
void ast_dataitem_position_wgs84_low_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_mode_3a_confidence_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_track_number_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
bool validated
Definition: cat_generic.h:606
void ast_dataitem_binary_data_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
void ast_dataitem_mode_c_code_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_mode_3a_confidence_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Data Item - Position in WGS84 Coordinates.
Definition: cat_generic.h:340
int raw_longitude
Raw format as defined in doc, resolution 180/2^23 degree.
Definition: cat_generic.h:302
size_t ast_dataitem_reserved_expansion_field_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function.
bool valid
Definition: cat_generic.h:171
unsigned int sic
Definition: cat_generic.h:99
double cell_duration
Video cell duration, could be nano-seconds (10^-9 sec) or femto-seconds (10^-15 sec).
Definition: cat_generic.h:1005
void ast_dataitem_time_of_day_high_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Encode function.
bool valid
Definition: cat_generic.h:383
ast_dataitem_modes_mb_t ast_dataitem_modes_mb_decode(const ast_dataitem_t di)
Decode function.
double start_azimuth
End azimuth, LSB = 360/2^16.
Definition: cat_generic.h:999
void ast_dataitem_target_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
bool valid
Definition: cat_generic.h:840
Data Item - Sector Number.
Definition: cat_generic.h:169
bool valid
Definition: cat_generic.h:921
int raw_x
Raw format as defined in doc, resolution 0.5m.
Definition: cat_generic.h:385
int raw_latitude
Raw format as defined in doc, resolution 180/2^n degree (n varies in different data item)
Definition: cat_generic.h:344
unsigned int end_azimuth_raw
Start azimuth, LSB = 360/2^16.
Definition: cat_generic.h:998
bool valid
Definition: cat_generic.h:523
void ast_dataitem_velocity_cartesian_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary funciton.
bool valid
Definition: cat_generic.h:643
Data Item - Calculated Track Velocity in Cartesian Coordinates.
Definition: cat_generic.h:420
void ast_dataitem_time_of_day_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary funciton.
bool smoothed
Definition: cat_generic.h:481
Implementation of Dataitem concept defined by ASTERIX.
double end_azimuth
Start azimuth, LSB = degree.
Definition: cat_generic.h:1000
bool garbled
Definition: cat_generic.h:607
ast_dataitem_signal_amplitude_t ast_dataitem_signal_amplitude_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_modes_mb_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_vertical_rate_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
int raw_vr
Vertical rate, LSB=6.25FT/M.
Definition: cat_generic.h:679
ast_dataitem_t ast_dataitem_velocity_polar_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
int raw_longitude
Raw format as defined in doc, resolution 180/2^n degree (n varies in different data item)
Definition: cat_generic.h:345
bool validated
Definition: cat_generic.h:563
void ast_dataitem_time_of_day_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Data Item - Target Address.
Definition: cat_generic.h:799
ast_dataitem_aircraft_id_t ast_dataitem_aircraft_id_decode(const ast_dataitem_t di)
Decode function.
unsigned int raw_time
Definition: cat_generic.h:221
ast_dataitem_mode_3a_code_t ast_dataitem_mode_3a_code_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat_generic.h:995
void ast_dataitem_position_wgs84_low_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
void ast_dataitem_position_wgs84_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
Data Item - Calculated Track Track Velocity in Polar Co-ordinates.
Definition: cat_generic.h:757
void ast_dataitem_service_id_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
unsigned int raw_azimuth
Raw format as defined in doc, resolution 360/2^8 ~= 1.14 degree.
Definition: cat_generic.h:173
Not sure downlinked is callsign or registration.
Definition: cat_generic.h:878
Dataitem.
Definition: dataitem.h:421
void ast_dataitem_time_of_day_high_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Data Item - Mode-3/A Code in Octal Representation.
Definition: cat_generic.h:475
bool valid
Definition: cat_generic.h:136
double longitude
Longitude in degree.
Definition: cat_generic.h:348
Data Item - Mode-C Code and Code Confidence Indicator.
Definition: cat_generic.h:602
unsigned int service_id
Definition: cat_generic.h:138
double second_fraction
Raw format as defined in doc, expressed as fraction of the second of the UTC Time,...
Definition: cat_generic.h:265
void ast_dataitem_modes_mb_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_target_id_type_t type
Definition: cat_generic.h:889
unsigned int sac
Definition: cat_generic.h:98
bool valid
Definition: cat_generic.h:604
Definition: cat_generic.h:881
Data Item - Video Header.
Definition: cat_generic.h:993
ast_dataitem_position_cartesian_t ast_dataitem_position_cartesian_decode(const ast_dataitem_t di)
Decode function.
Data Item - Signal Amplitude.
Definition: cat_generic.h:919
double vy
Vy in m/s.
Definition: cat_generic.h:428
void ast_dataitem_aircraft_id_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
bool validated
Definition: cat_generic.h:479
bool valid
Definition: cat_generic.h:887
unsigned int start_azimuth_raw
Definition: cat_generic.h:997
void ast_dataitem_target_id_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
int raw_vx
Raw format as defined in doc, resolution 0.25 m/s.
Definition: cat_generic.h:424
ast_dataitem_data_source_identifier_t ast_dataitem_data_source_identifier_decode(const ast_dataitem_t di)
Decode function.
ast_dataitem_vertical_rate_t ast_dataitem_vertical_rate_decode(const ast_dataitem_t di)
Decode function.
double x
X in meter.
Definition: cat_generic.h:388
void ast_dataitem_velocity_polar_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
double ground_speed
Ground speed, LSB = knot.
Definition: cat_generic.h:764
bool valid
Definition: cat_generic.h:422
Data Item - Target Identification.
Definition: cat_generic.h:838
unsigned int msec
Definition: cat_generic.h:226
ast_dataitem_t ast_dataitem_mode_c_code_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
ast_dataitem_velocity_polar_t ast_dataitem_velocity_polar_decode(const ast_dataitem_t di)
Decode function.
Data Item - Position in WGS84 Coordinates (Low Reslution)
Definition: cat_generic.h:297
void ast_dataitem_height_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
ast_dataitem_mode_3a_confidence_t ast_dataitem_mode_3a_confidence_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat_generic.h:759
void ast_dataitem_position_wgs84_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_data_source_identifier_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
bool valid
Definition: cat_generic.h:96
void ast_dataitem_vertical_rate_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
bool garbled
Definition: cat_generic.h:480
void ast_dataitem_aircraft_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Data Item - Height.
Definition: cat_generic.h:641
unsigned int min
Definition: cat_generic.h:224
void ast_dataitem_target_address_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
Implementation of Mode-S transponder Binary Data Source (BDS) register.
int raw_heading
Raw format as defined in doc, resolution 360/2^16 degree.
Definition: cat_generic.h:762
void ast_dataitem_data_source_identifier_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_t ast_dataitem_target_address_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
double latitude
Latitude in degree.
Definition: cat_generic.h:304
int code
Original code in octal.
Definition: cat_generic.h:485
ast_dataitem_position_wgs84_t ast_dataitem_position_wgs84_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_velocity_polar_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.