cat_generic.h
Go to the documentation of this file.
1 /*
2  * libasterix
3  * Copyright [2013-2019] Aerosys Corporation (http://www.aerosys.cn/).
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 void ast_dataitem_service_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
148 
150 #define ast_dataitem_service_id_get_detail_html ast_dataitem_get_detail_html_dummy;
151 
167 typedef struct _ast_dataitem_sector_number_t
169 {
170  bool valid;
171 
172  unsigned int raw_azimuth;
173  double azimuth;
175 
177 #define ast_dataitem_sector_number_get_size ast_dataitem_get_size_fixed_1_byte
178 
181 
183 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);
184 
186 AST_API void ast_dataitem_sector_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
187 
189 AST_API void ast_dataitem_sector_number_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
190 
215 typedef struct _ast_dataitem_time_of_day_t
217 {
218  bool valid;
219 
220  unsigned int raw_time;
221 
222  unsigned int hour;
223  unsigned int min;
224  unsigned int sec;
225  unsigned int msec;
227 
229 #define ast_dataitem_time_of_day_get_size ast_dataitem_get_size_fixed_3_byte
230 
233 
235 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);
236 
238 AST_API void ast_dataitem_time_of_day_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
239 
241 AST_API void ast_dataitem_time_of_day_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
242 
257 typedef struct _ast_dataitem_time_of_day_high_t
259 {
260  bool valid;
261 
262  int fsi;
263  unsigned int raw_time;
266 
268 #define ast_dataitem_time_of_day_high_get_size ast_dataitem_get_size_fixed_4_byte
269 
272 
274 //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);
275 
277 AST_API void ast_dataitem_time_of_day_high_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
278 
280 AST_API void ast_dataitem_time_of_day_high_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
281 
295 typedef struct _ast_dataitem_position_wgs84_low_t
297 {
298  bool valid;
299 
302 
303  double latitude;
304  double longitude;
306 
308 #define ast_dataitem_position_wgs84_low_get_size ast_dataitem_get_size_fixed_6_byte
309 
312 
314 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);
315 
317 AST_API void ast_dataitem_position_wgs84_low_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
318 
320 AST_API void ast_dataitem_position_wgs84_low_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
321 
338 typedef struct _ast_dataitem_position_wgs84_t
340 {
341  bool valid;
342 
345 
346  double latitude;
347  double longitude;
349 
351 #define ast_dataitem_position_wgs84_get_size ast_dataitem_get_size_fixed_8_byte
352 
355 
357 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);
358 
360 AST_API void ast_dataitem_position_wgs84_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
361 
363 AST_API void ast_dataitem_position_wgs84_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
364 
379 typedef struct _ast_dataitem_position_cartesian_t
381 {
382  bool valid;
383 
384  int raw_x;
385  int raw_y;
386 
387  double x;
388  double y;
390 
392 #define ast_dataitem_position_cartesian_get_size ast_dataitem_get_size_fixed_6_byte
393 
396 
398 AST_API void ast_dataitem_position_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
399 
401 #define ast_dataitem_position_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
402 
418 typedef struct _ast_dataitem_velocity_cartesian_t
420 {
421  bool valid;
422 
423  int raw_vx;
424  int raw_vy;
425 
426  double vx;
427  double vy;
429 
431 #define ast_dataitem_velocity_cartesian_get_size ast_dataitem_get_size_fixed_4_byte;
432 
435 
437 AST_API void ast_dataitem_velocity_cartesian_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
438 
440 #define ast_dataitem_velocity_cartesian_get_detail_html ast_dataitem_get_detail_html_dummy
441 
453 #define ast_dataitem_mode_2_code_get_size ast_dataitem_get_size_fixed_2_byte
454 
455 
473 typedef struct _ast_dataitem_mode_3a_code_t
475 {
476  bool valid;
477 
478  bool validated;
479  bool garbled;
480  bool smoothed;
481 
482  bool changed;
483 
484  int code;
485 
487 
489 #define ast_dataitem_mode_3a_code_get_size ast_dataitem_get_size_fixed_2_byte
490 
493 
495 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);
496 
498 AST_API void ast_dataitem_mode_3a_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
499 
501 AST_API void ast_dataitem_mode_3a_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
502 
519 typedef struct _ast_dataitem_mode_3a_confidence_t
521 {
522  bool valid;
523 
524  bool pulse_quality_low[4][3];
526 
528 #define ast_dataitem_mode_3a_confidence_get_size ast_dataitem_get_size_fixed_2_byte
529 
532 
534 AST_API void ast_dataitem_mode_3a_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
535 
537 AST_API void ast_dataitem_mode_3a_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
538 
557 typedef struct _ast_dataitem_mode_c_code_t
559 {
560  bool valid;
561 
562  bool validated;
563  bool garbled;
564 
565  int code;
566 
568 
570 #define ast_dataitem_mode_c_code_get_size ast_dataitem_get_size_fixed_2_byte
571 
574 
576 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);
577 
579 AST_API void ast_dataitem_mode_c_code_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
580 
582 AST_API void ast_dataitem_mode_c_code_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
583 
600 typedef struct _ast_dataitem_mode_c_confidence_t
602 {
603  bool valid;
604 
605  bool validated;
606  bool garbled;
607 
608  unsigned int code;
609  bool pulse[4][3];
610  bool pulse_quality_low[4][3];
612 
614 #define ast_dataitem_mode_c_confidence_get_size ast_dataitem_get_size_fixed_4_byte
615 
618 
620 AST_API void ast_dataitem_mode_c_confidence_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
621 
623 AST_API void ast_dataitem_mode_c_confidence_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
624 
639 typedef struct _ast_dataitem_height_t
641 {
642  bool valid;
643 
646 
648 #define ast_dataitem_height_get_size ast_dataitem_get_size_fixed_2_byte
649 
652 
654 AST_API void ast_dataitem_height_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
655 
657 AST_API void ast_dataitem_height_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
658 
673 typedef struct _ast_dataitem_vertical_rate_t
675 {
676  bool valid;
677 
678  int raw_vr;
680 
682 #define ast_dataitem_vertical_rate_get_size ast_dataitem_get_size_fixed_2_byte
683 
686 
688 AST_API void ast_dataitem_vertical_rate_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
689 
691 AST_API void ast_dataitem_vertical_rate_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
692 
717 typedef struct _ast_dataitem_track_number_t
719 {
720  bool valid;
721 
722  unsigned int track_num;
724 
726 #define ast_dataitem_track_number_get_size ast_dataitem_get_size_fixed_2_byte
727 
730 
732 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);
733 
735 AST_API void ast_dataitem_track_number_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
736 
738 #define ast_dataitem_track_number_get_detail_html ast_dataitem_get_detail_html_dummy;
739 
755 typedef struct _ast_dataitem_velocity_polar_t
757 {
758  bool valid;
759 
762 
763  double ground_speed;
764  double heading;
766 
768 #define ast_dataitem_velocity_polar_get_size ast_dataitem_get_size_fixed_4_byte
769 
772 
774 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);
775 
777 AST_API void ast_dataitem_velocity_polar_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
778 
780 AST_API void ast_dataitem_velocity_polar_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
781 
797 typedef struct _ast_dataitem_target_address_t
799 {
800  bool valid;
801 
802  unsigned char raw_address[3];
803  unsigned int icao_address;
805 
807 #define ast_dataitem_target_address_get_size ast_dataitem_get_size_fixed_3_byte
808 
811 
813 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);
814 
816 AST_API void ast_dataitem_target_address_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
817 
819 AST_API void ast_dataitem_target_address_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
820 
836 typedef struct _ast_dataitem_aircraft_id_t
838 {
839  bool valid;
840 
841  char aircraft_id[9];
843 
845 #define ast_dataitem_aircraft_id_get_size ast_dataitem_get_size_fixed_6_byte
846 
849 
851 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);
852 
854 AST_API void ast_dataitem_aircraft_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
855 
857 AST_API void ast_dataitem_aircraft_id_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
858 
874 typedef enum _ast_target_id_type_t
876 {
882 
884 typedef struct _ast_dataitem_target_id_t
885 {
886  bool valid;
887 
889  char target_id[9];
891 
893 #define ast_dataitem_target_id_get_size ast_dataitem_get_size_fixed_7_byte
894 
897 
899 AST_API void ast_dataitem_target_id_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
900 
902 AST_API void ast_dataitem_target_id_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
903 
917 typedef struct _ast_dataitem_signal_amplitude_t
919 {
920  bool valid;
921 
924 
926 #define ast_dataitem_signal_amplitude_get_size ast_dataitem_get_size_fixed_1_byte
927 
930 
932 AST_API ast_dataitem_t ast_dataitem_signal_amplitude_encode(unsigned char* buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
933 
935 AST_API void ast_dataitem_signal_amplitude_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
936 
938 #define ast_dataitem_signal_amplitude_get_detail_html ast_dataitem_get_detail_html_dummy
939 
955 typedef struct _ast_dataitem_modes_mb_t
957 {
958  bool valid;
959 
960  size_t n_bds;
962 
964 
966 #define ast_dataitem_modes_mb_get_size ast_dataitem_get_size_rep_8_byte
967 
970 
972 AST_API void ast_dataitem_modes_mb_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
973 
975 AST_API void ast_dataitem_modes_mb_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
976 
991 typedef struct _ast_dataitem_video_header_t
993 {
994  bool valid;
995 
996  unsigned int start_azimuth_raw;
997  unsigned int end_azimuth_raw;
998  double start_azimuth;
999  double end_azimuth;
1000 
1001  unsigned int start_range;
1002 
1003  unsigned int cell_duration_raw;
1004  double cell_duration;
1005 
1007 
1009 #define ast_dataitem_video_header_get_size ast_dataitem_get_size_fixed_12_byte
1010 
1025 AST_API void ast_dataitem_binary_data_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1026 
1043 AST_API size_t ast_dataitem_reserved_expansion_field_get_size(const unsigned char* buffer, const size_t bufsize);
1045 
1047 AST_API void ast_dataitem_reserved_expansion_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1048 
1050 #define ast_dataitem_reserved_expansion_field_get_detail_html ast_dataitem_get_detail_html_dummy
1051 
1069 AST_API size_t ast_dataitem_special_purpose_field_get_size(const unsigned char* buffer, const size_t bufsize);
1071 
1073 AST_API void ast_dataitem_special_purpose_field_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1074 
1076 #define ast_dataitem_special_purpose_field_get_detail_html ast_dataitem_get_detail_html_dummy
1077 
1081 #ifdef __cplusplus
1082  }
1083 #endif // extern "C"
1084 
1085 #endif //LIBASTERIX_CAT_GENERIC_H
1086 
1087 // vim:set ft=c sw=2 sts=2 fenc=utf8:
bool valid
Definition: cat_generic.h:560
int raw_y
Raw format as defined in doc, resolution 0.5m.
Definition: cat_generic.h:385
unsigned int hour
Raw format as defined in doc, reset zero at mid night, resolution 1/128s.
Definition: cat_generic.h:222
bool changed
Mode 3/A has changed, valid only in I062/060.
Definition: cat_generic.h:482
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:1003
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:803
Data Item - Vertical Rate.
Definition: cat_generic.h:674
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:173
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:258
Extracted dataitem.
Definition: dataitem.h:430
void ast_dataitem_height_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_signal_amplitude_t ast_dataitem_signal_amplitud_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat_generic.h:476
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:300
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:263
size_t n_bds
Definition: cat_generic.h:960
int amplitude
Definition: cat_generic.h:922
bool valid
Definition: cat_generic.h:260
bool valid
Definition: cat_generic.h:298
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:718
bool garbled
Definition: cat_generic.h:563
double latitude
Latitude in degree.
Definition: cat_generic.h:346
int raw_vy
Raw format as defined in doc, resolution 0.25 m/s.
Definition: cat_generic.h:424
double longitude
Longitude in degree.
Definition: cat_generic.h:304
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:380
#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:608
bool valid
Definition: cat_generic.h:800
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:879
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:218
ast_target_id_type_t
Target identification type.
Definition: cat_generic.h:875
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:216
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:676
int fsi
Definition: cat_generic.h:262
Definition: cat_generic.h:878
Data Item - Mode-3/A Code Confidence Indicator.
Definition: cat_generic.h:520
ast_dataitem_message_type_t ast_dataitem_message_type_decode(const ast_dataitem_t di)
Decode function.
bool valid
Definition: cat_generic.h:720
bool valid
Definition: cat_generic.h:958
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:760
double y
Y in meter.
Definition: cat_generic.h:388
int raw_height
Raw height, LSB=6.25ft.
Definition: cat_generic.h:644
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:956
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:565
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:426
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:722
double heading
Heading, LSB = degree.
Definition: cat_generic.h:764
Data Item - Service Identification.
Definition: cat_generic.h:133
bool valid
Definition: cat_generic.h:341
Data Item - Target Identification.
Definition: cat_generic.h:884
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:1001
Data Item - Mode-C Code.
Definition: cat_generic.h:558
unsigned int sec
Definition: cat_generic.h:224
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:605
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:339
int raw_longitude
Raw format as defined in doc, resolution 180/2^23 degree.
Definition: cat_generic.h:301
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:170
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:1004
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:382
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:998
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:839
Data Item - Sector Number.
Definition: cat_generic.h:168
bool valid
Definition: cat_generic.h:920
int raw_x
Raw format as defined in doc, resolution 0.5m.
Definition: cat_generic.h:384
int raw_latitude
Raw format as defined in doc, resolution 180/2^n degree (n varies in different data item)
Definition: cat_generic.h:343
unsigned int end_azimuth_raw
Start azimuth, LSB = 360/2^16.
Definition: cat_generic.h:997
bool valid
Definition: cat_generic.h:522
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:642
Data Item - Calculated Track Velocity in Cartesian Coordinates.
Definition: cat_generic.h:419
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:480
Implementation of Dataitem concept defined by ASTERIX.
double end_azimuth
Start azimuth, LSB = degree.
Definition: cat_generic.h:999
bool garbled
Definition: cat_generic.h:606
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:678
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:344
bool validated
Definition: cat_generic.h:562
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:798
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:220
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:994
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:756
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:172
Not sure downlinked is callsign or registration.
Definition: cat_generic.h:877
Dataitem.
Definition: dataitem.h:419
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:474
bool valid
Definition: cat_generic.h:135
double longitude
Longitude in degree.
Definition: cat_generic.h:347
Data Item - Mode-C Code and Code Confidence Indicator.
Definition: cat_generic.h:601
unsigned int service_id
Definition: cat_generic.h:137
double second_fraction
Raw format as defined in doc, expressed as fraction of the second of the UTC Time,...
Definition: cat_generic.h:264
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:888
unsigned int sac
Definition: cat_generic.h:97
bool valid
Definition: cat_generic.h:603
Definition: cat_generic.h:880
Data Item - Video Header.
Definition: cat_generic.h:992
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:918
double vy
Vy in m/s.
Definition: cat_generic.h:427
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:478
bool valid
Definition: cat_generic.h:886
unsigned int start_azimuth_raw
Definition: cat_generic.h:996
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:423
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:387
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:763
bool valid
Definition: cat_generic.h:421
Data Item - Target Identification.
Definition: cat_generic.h:837
unsigned int msec
Definition: cat_generic.h:225
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:296
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:758
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:479
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:640
unsigned int min
Definition: cat_generic.h:223
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:761
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:303
int code
Original code in octal.
Definition: cat_generic.h:484
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.