cat_generic.h
Go to the documentation of this file.
1 /*
2  * libasterix
3  * Copyright [2013-2020] SinoATC <http://www.sinoatc.com>.
4  * All Rights Reserved.
5  *
6  * NOTICE: All information contained herein is, and remains
7  * the property of SinoATC and its suppliers, if any.
8  * The intellectual and technical concepts contained herein
9  * are proprietary to Aerosys Corporation and its suppliers and may be
10  * covered by U.S. and Foreign Patents, patents in process,
11  * and are protected by trade secret or copyright law.
12  * Dissemination of this information or reproduction of this material
13  * is strictly forbidden unless prior written permission is obtained
14  * from SinoATC.
15  */
16 
24 #ifndef LIBASTERIX_CAT_GENERIC_H
25 #define LIBASTERIX_CAT_GENERIC_H
26 
27 #include "dataitem.h"
28 #include "bds.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
50 typedef struct AST_API _ast_dataitem_message_type_t
52 {
53  bool valid;
54 
55  unsigned int msg_type;
57 
59 #define ast_dataitem_message_type_get_size ast_dataitem_get_size_fixed_1_byte
60 
63 
65 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);
66 
67 
92 typedef struct _ast_dataitem_data_source_identifier_t
94 {
95  bool valid;
96 
97  unsigned int sac;
98  unsigned int sic;
100 
102 #define ast_dataitem_data_source_identifier_get_size ast_dataitem_get_size_fixed_2_byte
103 
106 
108 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);
109 
111 AST_API void ast_dataitem_data_source_identifier_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
112 
114 AST_API void ast_dataitem_data_source_identifier_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
115 
132 typedef struct AST_API _ast_dataitem_service_id_t
134 {
135  bool valid;
136 
137  unsigned int service_id;
139 
141 #define ast_dataitem_service_id_get_size ast_dataitem_get_size_fixed_1_byte
142 
145 
147 AST_API ast_dataitem_t ast_dataitem_service_id_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
148 
150 AST_API void ast_dataitem_service_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
151 
153 #define ast_dataitem_service_id_get_detail_html ast_dataitem_get_detail_html_dummy;
154 
170 typedef struct _ast_dataitem_sector_number_t
172 {
173  bool valid;
174 
175  unsigned int raw_azimuth;
176  double azimuth;
178 
180 #define ast_dataitem_sector_number_get_size ast_dataitem_get_size_fixed_1_byte
181 
184 
186 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);
187 
189 AST_API void ast_dataitem_sector_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
190 
192 AST_API void ast_dataitem_sector_number_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
193 
218 typedef struct _ast_dataitem_time_of_day_t
220 {
221  bool valid;
222 
223  unsigned int raw_time;
224 
225  unsigned int hour;
226  unsigned int min;
227  unsigned int sec;
228  unsigned int msec;
230 
232 #define ast_dataitem_time_of_day_get_size ast_dataitem_get_size_fixed_3_byte
233 
236 
238 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);
239 
241 AST_API void ast_dataitem_time_of_day_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
242 
244 AST_API void ast_dataitem_time_of_day_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
245 
260 typedef struct _ast_dataitem_time_of_day_high_t
262 {
263  bool valid;
264 
265  int fsi;
266  unsigned int raw_time;
269 
271 #define ast_dataitem_time_of_day_high_get_size ast_dataitem_get_size_fixed_4_byte
272 
275 
277 //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);
278 
280 AST_API void ast_dataitem_time_of_day_high_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
281 
283 AST_API void ast_dataitem_time_of_day_high_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
284 
298 typedef struct _ast_dataitem_position_wgs84_low_t
300 {
301  bool valid;
302 
305 
306  double latitude;
307  double longitude;
309 
311 #define ast_dataitem_position_wgs84_low_get_size ast_dataitem_get_size_fixed_6_byte
312 
315 
317 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);
318 
320 AST_API void ast_dataitem_position_wgs84_low_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
321 
323 AST_API void ast_dataitem_position_wgs84_low_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
324 
342 typedef struct _ast_dataitem_position_wgs84_t
344 {
345  bool valid;
346 
349 
350  double latitude;
351  double longitude;
353 
355 #define ast_dataitem_position_wgs84_get_size ast_dataitem_get_size_fixed_8_byte
356 
359 
361 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);
362 
364 AST_API void ast_dataitem_position_wgs84_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
365 
367 AST_API void ast_dataitem_position_wgs84_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
368 
383 typedef struct _ast_dataitem_position_cartesian_t
385 {
386  bool valid;
387 
388  int raw_x;
389  int raw_y;
390 
391  double x;
392  double y;
394 
396 #define ast_dataitem_position_cartesian_get_size ast_dataitem_get_size_fixed_6_byte
397 
400 
402 AST_API void ast_dataitem_position_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
403 
405 #define ast_dataitem_position_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
406 
422 typedef struct _ast_dataitem_velocity_cartesian_t
424 {
425  bool valid;
426 
427  int raw_vx;
428  int raw_vy;
429 
430  double vx;
431  double vy;
433 
435 #define ast_dataitem_velocity_cartesian_get_size ast_dataitem_get_size_fixed_4_byte;
436 
439 
441 AST_API void ast_dataitem_velocity_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
442 
444 #define ast_dataitem_velocity_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
445 
457 #define ast_dataitem_mode_2_code_get_size ast_dataitem_get_size_fixed_2_byte
458 
459 
477 typedef struct _ast_dataitem_mode_3a_code_t
479 {
480  bool valid;
481 
482  bool validated;
483  bool garbled;
484  bool smoothed;
485 
486  bool changed;
487 
488  int code;
489 
491 
493 #define ast_dataitem_mode_3a_code_get_size ast_dataitem_get_size_fixed_2_byte
494 
497 
499 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);
500 
502 AST_API void ast_dataitem_mode_3a_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
503 
505 AST_API void ast_dataitem_mode_3a_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
506 
523 typedef struct _ast_dataitem_mode_3a_confidence_t
525 {
526  bool valid;
527 
528  bool pulse_quality_low[4][3];
530 
532 #define ast_dataitem_mode_3a_confidence_get_size ast_dataitem_get_size_fixed_2_byte
533 
536 
538 AST_API void ast_dataitem_mode_3a_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
539 
541 AST_API void ast_dataitem_mode_3a_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
542 
561 typedef struct _ast_dataitem_mode_c_code_t
563 {
564  bool valid;
565 
566  bool validated;
567  bool garbled;
568 
569  int code;
570 
572 
574 #define ast_dataitem_mode_c_code_get_size ast_dataitem_get_size_fixed_2_byte
575 
578 
580 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);
581 
583 AST_API void ast_dataitem_mode_c_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
584 
586 AST_API void ast_dataitem_mode_c_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
587 
604 typedef struct _ast_dataitem_mode_c_confidence_t
606 {
607  bool valid;
608 
609  bool validated;
610  bool garbled;
611 
612  unsigned int code;
613  bool pulse[4][3];
614  bool pulse_quality_low[4][3];
616 
618 #define ast_dataitem_mode_c_confidence_get_size ast_dataitem_get_size_fixed_4_byte
619 
622 
624 AST_API void ast_dataitem_mode_c_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
625 
627 AST_API void ast_dataitem_mode_c_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
628 
643 typedef struct _ast_dataitem_height_t
645 {
646  bool valid;
647 
650 
652 #define ast_dataitem_height_get_size ast_dataitem_get_size_fixed_2_byte
653 
656 
658 AST_API void ast_dataitem_height_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
659 
661 AST_API void ast_dataitem_height_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
662 
677 typedef struct _ast_dataitem_vertical_rate_t
679 {
680  bool valid;
681 
683  int raw_vr;
684  double vr;
686 
688 #define ast_dataitem_vertical_rate_get_size ast_dataitem_get_size_fixed_2_byte
689 
692 
694 AST_API ast_dataitem_t ast_dataitem_vertical_rate_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
695 
697 AST_API void ast_dataitem_vertical_rate_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
698 
700 AST_API void ast_dataitem_vertical_rate_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
701 
726 typedef struct _ast_dataitem_track_number_t
728 {
729  bool valid;
730 
731  unsigned int track_num;
733 
735 #define ast_dataitem_track_number_get_size ast_dataitem_get_size_fixed_2_byte
736 
739 
741 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);
742 
744 AST_API void ast_dataitem_track_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
745 
747 #define ast_dataitem_track_number_get_detail_html ast_dataitem_get_detail_html_dummy;
748 
764 typedef struct _ast_dataitem_velocity_polar_t
766 {
767  bool valid;
768 
771 
772  double ground_speed;
773  double heading;
775 
777 #define ast_dataitem_velocity_polar_get_size ast_dataitem_get_size_fixed_4_byte
778 
781 
783 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);
784 
786 AST_API void ast_dataitem_velocity_polar_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
787 
789 AST_API void ast_dataitem_velocity_polar_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
790 
806 typedef struct _ast_dataitem_target_address_t
808 {
809  bool valid;
810 
811  unsigned char raw_address[3];
812  unsigned int icao_address;
814 
816 #define ast_dataitem_target_address_get_size ast_dataitem_get_size_fixed_3_byte
817 
820 
822 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);
823 
825 AST_API void ast_dataitem_target_address_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
826 
828 AST_API void ast_dataitem_target_address_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
829 
845 typedef struct _ast_dataitem_aircraft_id_t
847 {
848  bool valid;
849 
850  char aircraft_id[9];
852 
854 #define ast_dataitem_aircraft_id_get_size ast_dataitem_get_size_fixed_6_byte
855 
858 
860 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);
861 
863 AST_API void ast_dataitem_aircraft_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
864 
866 AST_API void ast_dataitem_aircraft_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
867 
883 typedef enum _ast_target_id_type_t
885 {
891 
893 typedef struct _ast_dataitem_target_id_t
894 {
895  bool valid;
896 
898  char target_id[9];
900 
902 #define ast_dataitem_target_id_get_size ast_dataitem_get_size_fixed_7_byte
903 
906 
908 AST_API void ast_dataitem_target_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
909 
911 AST_API void ast_dataitem_target_id_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
912 
926 typedef struct _ast_dataitem_signal_amplitude_t
928 {
929  bool valid;
930 
933 
935 #define ast_dataitem_signal_amplitude_get_size ast_dataitem_get_size_fixed_1_byte
936 
939 
941 AST_API ast_dataitem_t ast_dataitem_signal_amplitude_encode(unsigned char* buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
942 
944 AST_API void ast_dataitem_signal_amplitude_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
945 
947 #define ast_dataitem_signal_amplitude_get_detail_html ast_dataitem_get_detail_html_dummy
948 
964 typedef struct _ast_dataitem_modes_mb_t
966 {
967  bool valid;
968 
969  size_t n_bds;
971 
973 
975 #define ast_dataitem_modes_mb_get_size ast_dataitem_get_size_rep_8_byte
976 
979 
981 AST_API void ast_dataitem_modes_mb_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
982 
984 AST_API void ast_dataitem_modes_mb_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
985 
1000 typedef struct _ast_dataitem_video_header_t
1002 {
1003  bool valid;
1004 
1005  unsigned int start_azimuth_raw;
1006  unsigned int end_azimuth_raw;
1007  double start_azimuth;
1008  double end_azimuth;
1009 
1010  unsigned int start_range;
1011 
1012  unsigned int cell_duration_raw;
1013  double cell_duration;
1014 
1016 
1018 #define ast_dataitem_video_header_get_size ast_dataitem_get_size_fixed_12_byte
1019 
1034 AST_API void ast_dataitem_binary_data_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1035 
1052 AST_API size_t ast_dataitem_reserved_expansion_field_get_size(const unsigned char* buffer, const size_t bufsize);
1054 
1056 AST_API void ast_dataitem_reserved_expansion_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1057 
1059 #define ast_dataitem_reserved_expansion_field_get_detail_html ast_dataitem_get_detail_html_dummy
1060 
1078 AST_API size_t ast_dataitem_special_purpose_field_get_size(const unsigned char* buffer, const size_t bufsize);
1080 
1082 AST_API void ast_dataitem_special_purpose_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1083 
1085 #define ast_dataitem_special_purpose_field_get_detail_html ast_dataitem_get_detail_html_dummy
1086 
1090 #ifdef __cplusplus
1091  }
1092 #endif // extern "C"
1093 
1094 #endif //LIBASTERIX_CAT_GENERIC_H
1095 
1096 // vim:set ft=c sw=2 sts=2 fenc=utf8:
bool valid
Definition: cat_generic.h:564
int raw_y
Raw format as defined in doc, resolution 0.5m.
Definition: cat_generic.h:389
unsigned int hour
Raw format as defined in doc, reset zero at mid night, resolution 1/128s.
Definition: cat_generic.h:225
bool changed
Mode 3/A has changed, valid only in I062/060.
Definition: cat_generic.h:486
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:1012
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:812
Data Item - Vertical Rate.
Definition: cat_generic.h:678
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:51
double azimuth
Definition: cat_generic.h:176
bool valid
Definition: cat_generic.h:53
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:261
Extracted dataitem.
Definition: dataitem.h:433
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:480
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:303
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:266
size_t n_bds
Definition: cat_generic.h:969
int amplitude
Definition: cat_generic.h:931
bool valid
Definition: cat_generic.h:263
bool valid
Definition: cat_generic.h:301
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:727
bool garbled
Definition: cat_generic.h:567
double latitude
Latitude in degree.
Definition: cat_generic.h:350
int raw_vy
Raw format as defined in doc, resolution 0.25 m/s.
Definition: cat_generic.h:428
double longitude
Longitude in degree.
Definition: cat_generic.h:307
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:384
#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:55
Data Item - Data Source Identifier.
Definition: cat_generic.h:93
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:612
bool valid
Definition: cat_generic.h:809
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:888
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:221
ast_target_id_type_t
Target identification type.
Definition: cat_generic.h:884
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:219
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:680
int fsi
Definition: cat_generic.h:265
Definition: cat_generic.h:887
Data Item - Mode-3/A Code Confidence Indicator.
Definition: cat_generic.h:524
ast_dataitem_message_type_t ast_dataitem_message_type_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat_generic.h:729
bool valid
Definition: cat_generic.h:967
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:769
double y
Y in meter.
Definition: cat_generic.h:392
int raw_height
Raw height, LSB=6.25ft.
Definition: cat_generic.h:648
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:965
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:569
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:430
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:731
double heading
Heading, LSB = degree.
Definition: cat_generic.h:773
Data Item - Service Identification.
Definition: cat_generic.h:133
bool valid
Definition: cat_generic.h:345
Data Item - Target Identification.
Definition: cat_generic.h:893
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:1010
Data Item - Mode-C Code.
Definition: cat_generic.h:562
unsigned int sec
Definition: cat_generic.h:227
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:609
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:343
int raw_longitude
Raw format as defined in doc, resolution 180/2^23 degree.
Definition: cat_generic.h:304
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:173
unsigned int sic
Definition: cat_generic.h:98
double cell_duration
Video cell duration, could be nano-seconds (10^-9 sec) or femto-seconds (10^-15 sec).
Definition: cat_generic.h:1013
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:386
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:1007
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:848
Data Item - Sector Number.
Definition: cat_generic.h:171
bool valid
Definition: cat_generic.h:929
int raw_x
Raw format as defined in doc, resolution 0.5m.
Definition: cat_generic.h:388
int raw_latitude
Raw format as defined in doc, resolution 180/2^n degree (n varies in different data item)
Definition: cat_generic.h:347
unsigned int end_azimuth_raw
Start azimuth, LSB = 360/2^16.
Definition: cat_generic.h:1006
bool valid
Definition: cat_generic.h:526
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:646
Data Item - Calculated Track Velocity in Cartesian Coordinates.
Definition: cat_generic.h:423
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:484
Implementation of Dataitem concept defined by ASTERIX.
double end_azimuth
Start azimuth, LSB = degree.
Definition: cat_generic.h:1008
bool garbled
Definition: cat_generic.h:610
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.25 feet/minute.
Definition: cat_generic.h:683
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:348
bool validated
Definition: cat_generic.h:566
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:807
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:223
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:1003
void ast_dataitem_position_wgs84_low_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
double vr
Vertical rate, LSB=1 feet/minute.
Definition: cat_generic.h:684
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:765
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:175
Not sure downlinked is callsign or registration.
Definition: cat_generic.h:886
Dataitem.
Definition: dataitem.h:422
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:478
bool valid
Definition: cat_generic.h:135
double longitude
Longitude in degree.
Definition: cat_generic.h:351
Data Item - Mode-C Code and Code Confidence Indicator.
Definition: cat_generic.h:605
unsigned int service_id
Definition: cat_generic.h:137
ast_dataitem_t ast_dataitem_service_id_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function.
double second_fraction
Raw format as defined in doc, expressed as fraction of the second of the UTC Time,...
Definition: cat_generic.h:267
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:897
unsigned int sac
Definition: cat_generic.h:97
bool valid
Definition: cat_generic.h:607
bool range_exceeded
Range exceeded indicator.
Definition: cat_generic.h:682
Definition: cat_generic.h:889
Data Item - Video Header.
Definition: cat_generic.h:1001
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:927
double vy
Vy in m/s.
Definition: cat_generic.h:431
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:482
bool valid
Definition: cat_generic.h:895
unsigned int start_azimuth_raw
Definition: cat_generic.h:1005
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:427
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:391
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:772
bool valid
Definition: cat_generic.h:425
Data Item - Target Identification.
Definition: cat_generic.h:846
unsigned int msec
Definition: cat_generic.h:228
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:299
void ast_dataitem_height_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
ast_dataitem_t ast_dataitem_vertical_rate_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode 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:767
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:95
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:483
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:644
unsigned int min
Definition: cat_generic.h:226
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:770
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:306
int code
Original code in octal.
Definition: cat_generic.h:488
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.