cat001.h
Go to the documentation of this file.
1/*
2 * $COPYRIGHT-BEGIN$
3 * libasterix
4 * Copyright [2013-2026] SinoATC <http://www.sinoatc.com>.
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 SinoATC 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 * $COPYRIGHT-END$
17 */
18
30
82
83#ifndef LIBASTERIX_CAT001_H
84#define LIBASTERIX_CAT001_H
85
86#include "dataitem.h"
87#include "datarecord.h"
88#include "datablock.h"
89#include "cat_generic.h"
90
91#ifdef __cplusplus
92extern "C" {
93#endif
94
95// Data Item
96
104
105
121
124
126#define ast_dataitem_001_010_get_size ast_dataitem_data_source_identifier_get_size
127
129#define ast_dataitem_001_010_decode ast_dataitem_data_source_identifier_decode
130
132#define ast_dataitem_001_010_encode ast_dataitem_data_source_identifier_encode
133
135#define ast_dataitem_001_010_get_summary ast_dataitem_data_source_identifier_get_summary
136
138#define ast_dataitem_001_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
139 /* end of group di_001_010 */
141
142
169
176
185
194
211
213#define ast_dataitem_001_020_get_size ast_dataitem_get_size_var_2_byte
214
221
229AST_API ast_dataitem_t ast_dataitem_001_020_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
230
237AST_API void ast_dataitem_001_020_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
238
245AST_API void ast_dataitem_001_020_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
246 /* end of group di_001_020 */
248
249
283
285typedef struct _ast_dataitem_001_030_t
286{
287 bool valid;
288
289 int value;
291
293#define ast_dataitem_001_030_get_size ast_dataitem_get_size_var_2_byte
294
297
299AST_API ast_dataitem_t ast_dataitem_001_030_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
300
302AST_API void ast_dataitem_001_030_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
303
305AST_API void ast_dataitem_001_030_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
306 /* end of group di_001_030 */
308
309
331
333typedef struct _ast_dataitem_001_040_t
334{
335 bool valid;
336
339
340 double rho;
341 double theta;
343
345#define ast_dataitem_001_040_get_size ast_dataitem_get_size_fixed_4_byte
346
353
361AST_API ast_dataitem_t ast_dataitem_001_040_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
362
369AST_API void ast_dataitem_001_040_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
370
377AST_API void ast_dataitem_001_040_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
378 /* end of group di_001_040 */
380
381
401
403typedef struct _ast_dataitem_001_042_t
404{
405 bool valid;
406
407 int raw_x;
408 int raw_y;
409
410 double x;
411 double y;
413
415#define ast_dataitem_001_042_get_size ast_dataitem_get_size_fixed_4_byte
416
423
431AST_API ast_dataitem_t ast_dataitem_001_042_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
432
439AST_API void ast_dataitem_001_042_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
440
447AST_API void ast_dataitem_001_042_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
448 /* end of group di_001_042 */
450
451
458
461
463#define ast_dataitem_001_050_get_size ast_dataitem_mode_3a_code_get_size
464
466#define ast_dataitem_001_050_decode ast_dataitem_mode_3a_code_decode
467
469#define ast_dataitem_001_050_encode ast_dataitem_mode_3a_code_encode
470
472#define ast_dataitem_001_050_get_summary ast_dataitem_mode_3a_code_get_summary
473
475#define ast_dataitem_001_050_get_detail_html ast_dataitem_mode_3a_code_get_detail_html
476 /* end of group di_001_050 */
478
479
491
494
496#define ast_dataitem_001_060_get_size ast_dataitem_mode_3a_confidence_get_size
497
499#define ast_dataitem_001_060_decode ast_dataitem_mode_3a_confidence_decode
500
502#define ast_dataitem_001_060_encode ast_dataitem_mode_3a_confidence_encode
503
505#define ast_dataitem_001_060_get_summary ast_dataitem_mode_3a_confidence_get_summary
506
508#define ast_dataitem_001_060_get_detail_html ast_dataitem_mode_3a_confidence_get_detail_html
509 /* end of group di_001_060 */
511
512
522
525
527#define ast_dataitem_001_070_get_size ast_dataitem_mode_3a_code_get_size
528
530#define ast_dataitem_001_070_decode ast_dataitem_mode_3a_code_decode
531
533#define ast_dataitem_001_070_encode ast_dataitem_mode_3a_code_encode
534
536#define ast_dataitem_001_070_get_summary ast_dataitem_mode_3a_code_get_summary
537
539#define ast_dataitem_001_070_get_detail_html ast_dataitem_mode_3a_code_get_detail_html
540 /* end of group di_001_070 */
542
543
555
558
560#define ast_dataitem_001_080_get_size ast_dataitem_mode_3a_confidence_get_size
561
563#define ast_dataitem_001_080_decode ast_dataitem_mode_3a_confidence_decode
564
566#define ast_dataitem_001_080_encode ast_dataitem_mode_3a_confidence_encode
567
569#define ast_dataitem_001_080_get_summary ast_dataitem_mode_3a_confidence_get_summary
570
572#define ast_dataitem_001_080_get_detail_html ast_dataitem_mode_3a_confidence_get_detail_html
573 /* end of group di_001_080 */
575
576
589
592
594#define ast_dataitem_001_090_get_size ast_dataitem_mode_c_code_get_size
595
597#define ast_dataitem_001_090_decode ast_dataitem_mode_c_code_decode
598
600#define ast_dataitem_001_090_encode ast_dataitem_mode_c_code_encode
601
603#define ast_dataitem_001_090_get_summary ast_dataitem_mode_c_code_get_summary
604
606#define ast_dataitem_001_090_get_detail_html ast_dataitem_mode_c_code_get_detail_html
607 /* end of group di_001_090 */
609
610
623
626
628#define ast_dataitem_001_100_get_size ast_dataitem_mode_c_confidence_get_size
629
631#define ast_dataitem_001_100_decode ast_dataitem_mode_c_confidence_decode
632
634#define ast_dataitem_001_100_encode ast_dataitem_mode_c_confidence_encode
635
637#define ast_dataitem_001_100_get_summary ast_dataitem_mode_c_confidence_get_summary
638
640#define ast_dataitem_001_100_get_detail_html ast_dataitem_mode_c_confidence_get_detail_html
641 /* end of group di_001_100 */
643
644
660
662typedef struct _ast_dataitem_001_120_t
663{
664 bool valid;
665
667 double doppler;
669
671#define ast_dataitem_001_120_get_size ast_dataitem_get_size_fixed_1_byte
672
675
677AST_API ast_dataitem_t ast_dataitem_001_120_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
678
680AST_API void ast_dataitem_001_120_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
681
683AST_API void ast_dataitem_001_120_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
684 /* end of group di_001_120 */
686
687
701
703#define AST_RADAR_MAX_PLOT_CHAR_BYTES 6
704
706typedef struct _ast_dataitem_001_130_t
707{
708 bool valid;
709
713
715#define ast_dataitem_001_130_get_size ast_dataitem_get_size_var_6_byte
716
719
721ast_dataitem_t ast_dataitem_001_130_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
722
724#define ast_dataitem_001_130_get_summary ast_dataitem_binary_data_get_summary
725
727#define ast_dataitem_001_130_get_detail_html ast_dataitem_get_detail_html_dummy
728 /* end of group di_001_130 */
730
731
744
746typedef struct _ast_dataitem_001_131_t
747{
748 bool valid;
749
750 int power;
752
754#define ast_dataitem_001_131_get_size ast_dataitem_get_size_fixed_1_byte
755
762
770AST_API ast_dataitem_t ast_dataitem_001_131_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
771
778AST_API void ast_dataitem_001_131_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
779
786AST_API void ast_dataitem_001_131_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
787 /* end of group di_001_131 */
789
790
810
812typedef struct _ast_dataitem_001_141_t
813{
814 bool valid;
815
816 unsigned int raw_time;
817
818 unsigned int sec;
819 unsigned int msec;
821
823#define ast_dataitem_001_141_get_size ast_dataitem_get_size_fixed_2_byte
824
831
839AST_API ast_dataitem_t ast_dataitem_001_141_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
840
847AST_API void ast_dataitem_001_141_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
848
855AST_API void ast_dataitem_001_141_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
856 /* end of group di_001_141 */
858
859
874
876typedef struct _ast_dataitem_001_150_t
877{
878 bool valid;
879
880 bool xa;
881 bool xc;
882 bool x2;
884
886#define ast_dataitem_001_150_get_size ast_dataitem_get_size_fixed_1_byte
887
894
902AST_API ast_dataitem_t ast_dataitem_001_150_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
903
910AST_API void ast_dataitem_001_150_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
911
918AST_API void ast_dataitem_001_150_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
919 /* end of group di_001_150 */
921
922
936
939
941#define ast_dataitem_001_161_get_size ast_dataitem_track_number_get_size
942
944#define ast_dataitem_001_161_decode ast_dataitem_track_number_decode
945
947#define ast_dataitem_001_161_encode ast_dataitem_track_number_encode
948
950#define ast_dataitem_001_161_get_summary ast_dataitem_track_number_get_summary
951
953#define ast_dataitem_001_161_get_detail_html ast_dataitem_track_number_get_detail_html
954 /* end of group di_001_161 */
956
957
980
987
1001
1003#define ast_dataitem_001_170_get_size ast_dataitem_get_size_var_2_byte
1004
1011
1019AST_API ast_dataitem_t ast_dataitem_001_170_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
1020
1027AST_API void ast_dataitem_001_170_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1028
1035AST_API void ast_dataitem_001_170_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1036 /* end of group di_001_170 */
1038
1039
1061
1064
1066#define ast_dataitem_001_200_get_size ast_dataitem_velocity_polar_get_size
1067
1069#define ast_dataitem_001_200_decode ast_dataitem_velocity_polar_decode
1070
1072#define ast_dataitem_001_200_encode ast_dataitem_velocity_polar_encode
1073
1075#define ast_dataitem_001_200_get_summary ast_dataitem_velocity_polar_get_summary
1076
1078#define ast_dataitem_001_200_get_detail_html ast_dataitem_velocity_polar_get_detail_html
1079 /* end of group di_001_200 */
1081
1082
1099
1101#define AST_RADAR_MAX_TRACK_QUALITY_BYTES 12
1102
1104typedef struct _ast_dataitem_001_210
1105{
1106 bool valid;
1107
1111
1119#define ast_dataitem_001_210_get_size ast_dataitem_get_size_var_12_byte
1120
1127
1135ast_dataitem_t ast_dataitem_001_210_encode(unsigned char* const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi);
1136
1143AST_API void ast_dataitem_001_210_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1144
1151AST_API void ast_dataitem_001_210_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1152 /* end of group di_001_210 */
1154
1155
1162
1164#define ast_dataitem_001_SPF_get_size ast_dataitem_special_purpose_field_get_size
1165
1167#define ast_dataitem_001_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
1168
1170#define ast_dataitem_001_SPF_get_detail_html ast_dataitem_special_purpose_field_get_detail_html
1171 /* end of group di_001_SPF */
1173
1174
1181
1183#define ast_dataitem_001_RFS_get_size ast_dataitem_random_field_sequencing_get_size
1184
1186#define ast_dataitem_001_RFS_get_summary ast_dataitem_random_field_sequencing_get_summary
1187
1189#define ast_dataitem_001_RFS_get_detail_html ast_dataitem_random_field_sequencing_get_detail_html
1190 /* end of group di_001_RFS */
1192
1193
1214
1216typedef struct _ast_dataitem_001_901_t
1217{
1218 bool valid;
1219
1223
1225#define ast_dataitem_001_901_get_size ast_dataitem_get_size_var_1_byte
1226
1229
1231AST_API void ast_dataitem_001_901_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1232
1234AST_API void ast_dataitem_001_901_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1235 /* end of group di_001_901 */
1237
1238
1257
1259typedef struct _ast_dataitem_001_902_t
1260{
1261 bool valid;
1262
1265
1267#define ast_dataitem_001_902_get_size ast_dataitem_get_size_var_1_byte
1268
1271
1273AST_API void ast_dataitem_001_902_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1274
1276AST_API void ast_dataitem_001_902_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1277 /* end of group di_001_902 */
1279
1280
1325
1334
1336typedef struct _ast_dataitem_001_903_t
1337{
1338 bool valid;
1339
1340 //Primary subfield
1348
1349 //First extension (meaningful only when the extension octet is present)
1351
1352 //Second extension (meaningful only when the extension octet is present)
1353 bool split;
1356
1357 //Third extension (meaningful only when the extension octet is present)
1358 bool no_tags;
1363
1365#define ast_dataitem_001_903_get_size ast_dataitem_get_size_var_4_byte
1366
1369
1371AST_API void ast_dataitem_001_903_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1372
1374AST_API void ast_dataitem_001_903_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1375 /* end of group di_001_903 */
1377
1378
1414
1416typedef enum _ast_asr10ss_predominant_beam_t
1417{
1421
1423typedef struct _ast_dataitem_001_904_t
1424{
1425 bool valid;
1426
1428
1429 //Extension fields are meaningful only when the corresponding extension octet is present
1437
1438 //8th extension
1442
1446
1448#define ast_dataitem_001_904_get_size ast_dataitem_get_size_var_11_byte
1449
1452
1454AST_API void ast_dataitem_001_904_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
1455
1457AST_API void ast_dataitem_001_904_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
1458 /* end of group di_001_904 */
1460
1461
1469
1471#define ast_dataitem_001_951_get_size ast_dataitem_get_size_fixed_2_byte
1472 /* end of group di_001_951 */
1474
1475
1476// Data Record
1477
1484
1486#define ast_datarecord_001_get_timeofday 0
1487
1494
1501
1508
1510#define ast_datarecord_001_get_callsign 0
1511
1513#define ast_datarecord_001_get_icaoaddr 0
1514
1516#define ast_datarecord_001_get_coordinate 0
1517
1524
1526#define ast_datarecord_001_get_selaltitude 0
1527
1534
1536#define ast_datarecord_001_get_heading 0
1537
1539#define ast_datarecord_001_get_speed 0
1540
1542#define ast_datarecord_001_get_cartesianvel 0
1543
1545#define ast_datarecord_001_get_vrate 0
1546
1547
1558
1586
1593
1602AST_API ast_datarecord_t ast_datarecord_001_assemble(unsigned char* const buffer, const size_t bufsize, const ast_datarecord_001_t dr, const ast_uap_t uap);
1603 /* end of group dr_001 */
1605
1606// Data Block
1607
1614
1626ast_datablock_t ast_datablock_001_mixuap_decode(const unsigned char* const buffer, const size_t bufsize);
1627 /* end of group db_001 */
1629
1630
1631#ifdef __cplusplus
1632 }
1633#endif // extern "C"
1634
1635#endif //LIBASTERIX_CAT001_H
1636
1637// vim:set ft=c.doxygen sw=2 sts=2 fenc=utf8:
ast_tracknum_t ast_datarecord_001_get_tracknum(const ast_datarecord_t dr)
Get track number from a CAT001 data record.
ast_squawk_t ast_datarecord_001_get_squawk(const ast_datarecord_t dr)
Get Mode-3/A code (squawk) from a CAT001 data record.
ast_sacsic_t ast_datarecord_001_get_sacsic(const ast_datarecord_t dr)
Get SAC/SIC from a CAT001 data record.
ast_polar_coordinate_t ast_datarecord_001_get_polarcoord(const ast_datarecord_t dr)
Get polar coordinate from a CAT001 data record.
ast_msgtype_t ast_datarecord_001_get_msgtype(const ast_datarecord_t dr)
Get message type from a CAT001 data record.
ast_altitude_t ast_datarecord_001_get_flightlevel(const ast_datarecord_t dr)
Get flight level from a CAT001 data record.
ASTERIX generic data items shared by multiple categories.
ASTERIX data block.
ASTERIX data item.
ASTERIX data record.
const char * ast_dataitem_001_get_name(const ast_dataitem_type_t type)
Get the name of a CAT001 data item.
ast_datablock_t ast_datablock_001_mixuap_decode(const unsigned char *const buffer, const size_t bufsize)
Decode CAT001 data block with data records using mixed track and plot UAP.
ast_dataitem_data_source_identifier_t ast_dataitem_001_010_t
Data Item I001/010 - Data Source Identifier.
Definition cat001.h:123
ast_radar_emergency_type_t
Emergency indication type.
Definition cat001.h:188
ast_radar_detection_type_t
Type of radar detection.
Definition cat001.h:179
ast_dataitem_t ast_dataitem_001_020_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/020.
ast_conventional_radar_target_type_t
Conventional radar target type (Plot or Track).
Definition cat001.h:172
ast_dataitem_001_020_t ast_dataitem_001_020_decode(const ast_dataitem_t di)
Decode Data Item I001/020.
void ast_dataitem_001_020_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/020.
void ast_dataitem_001_020_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/020.
@ AST_RADAR_EMG_7500
Unlawful interference (7500).
Definition cat001.h:190
@ AST_RADAR_EMG_7600
Radio-communication failure (7600).
Definition cat001.h:191
@ AST_RADAR_EMG_DEFAULT
Default - no emergency.
Definition cat001.h:189
@ AST_RADAR_EMG_7700
Emergency (7700).
Definition cat001.h:192
@ AST_RADAR_DETECTION_SSR
Sole secondary detection.
Definition cat001.h:182
@ AST_RADAR_DETECTION_PSR
Sole primary detection.
Definition cat001.h:181
@ AST_RADAR_DETECTION_NO
No detection.
Definition cat001.h:180
@ AST_RADAR_DETECTION_PSR_SSR
Combined primary and secondary detection.
Definition cat001.h:183
@ AST_CONVENTIONAL_RADAR_TARGET_PLOT
Plot (single detection).
Definition cat001.h:173
@ AST_CONVENTIONAL_RADAR_TARGET_TRACK
Track (established track).
Definition cat001.h:174
void ast_dataitem_001_030_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I001/030.
void ast_dataitem_001_030_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I001/030.
ast_dataitem_t ast_dataitem_001_030_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function for I001/030.
ast_dataitem_001_030_t ast_dataitem_001_030_decode(const ast_dataitem_t di)
Decode function for I001/030.
ast_dataitem_001_040_t ast_dataitem_001_040_decode(const ast_dataitem_t di)
Decode Data Item I001/040.
void ast_dataitem_001_040_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/040.
void ast_dataitem_001_040_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/040.
ast_dataitem_t ast_dataitem_001_040_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/040.
ast_dataitem_t ast_dataitem_001_042_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/042.
void ast_dataitem_001_042_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/042.
void ast_dataitem_001_042_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/042.
ast_dataitem_001_042_t ast_dataitem_001_042_decode(const ast_dataitem_t di)
Decode Data Item I001/042.
ast_dataitem_mode_3a_code_t ast_dataitem_001_050_t
Data Item I001/050 - Mode-2 Code in Octal Representation.
Definition cat001.h:460
ast_dataitem_mode_3a_confidence_t ast_dataitem_001_060_t
Data Item I001/060 - Mode-2 Code Confidence Indicator.
Definition cat001.h:493
ast_dataitem_mode_3a_code_t ast_dataitem_001_070_t
Data Item I001/070 - Mode-3/A Code in Octal Representation.
Definition cat001.h:524
ast_dataitem_mode_3a_confidence_t ast_dataitem_001_080_t
Data Item I001/080 - Mode-3/A Code Confidence Indicator.
Definition cat001.h:557
ast_dataitem_mode_c_code_t ast_dataitem_001_090_t
Data Item I001/090 - Mode-C in Binary Representation.
Definition cat001.h:591
ast_dataitem_mode_c_confidence_t ast_dataitem_001_100_t
Data Item I001/100 - Mode-C Code and Code Confidence Indicator.
Definition cat001.h:625
ast_dataitem_001_120_t ast_dataitem_001_120_decode(const ast_dataitem_t di)
Decode function for I001/120.
void ast_dataitem_001_120_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I001/120.
void ast_dataitem_001_120_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I001/120.
ast_dataitem_t ast_dataitem_001_120_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function for I001/120.
#define AST_RADAR_MAX_PLOT_CHAR_BYTES
Maximum number of plot characteristics bytes supported.
Definition cat001.h:703
ast_dataitem_t ast_dataitem_001_130_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode function for I001/130.
ast_dataitem_001_130_t ast_dataitem_001_130_decode(const ast_dataitem_t di)
Decode function for I001/130.
ast_dataitem_001_131_t ast_dataitem_001_131_decode(const ast_dataitem_t di)
Decode Data Item I001/131.
ast_dataitem_t ast_dataitem_001_131_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/131.
void ast_dataitem_001_131_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/131.
void ast_dataitem_001_131_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/131.
ast_dataitem_001_141_t ast_dataitem_001_141_decode(const ast_dataitem_t di)
Decode Data Item I001/141.
void ast_dataitem_001_141_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/141.
void ast_dataitem_001_141_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/141.
ast_dataitem_t ast_dataitem_001_141_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/141.
ast_dataitem_001_150_t ast_dataitem_001_150_decode(const ast_dataitem_t di)
Decode Data Item I001/150.
ast_dataitem_t ast_dataitem_001_150_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/150.
void ast_dataitem_001_150_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/150.
void ast_dataitem_001_150_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/150.
ast_dataitem_track_number_t ast_dataitem_001_161_t
Data Item I001/161 - Track/Plot Number.
Definition cat001.h:938
void ast_dataitem_001_170_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/170.
ast_dataitem_t ast_dataitem_001_170_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/170.
ast_conventional_radar_track_type_t
Track type derived from radar source.
Definition cat001.h:983
void ast_dataitem_001_170_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/170.
ast_dataitem_001_170_t ast_dataitem_001_170_decode(const ast_dataitem_t di)
Decode Data Item I001/170.
@ AST_CONVENTIONAL_RADAR_TRACK_PSR
Primary track (PSR only).
Definition cat001.h:984
@ AST_CONVENTIONAL_RADAR_TRACK_SSR_COMBINED
Secondary track (SSR combined).
Definition cat001.h:985
ast_dataitem_velocity_polar_t ast_dataitem_001_200_t
Data Item I001/200 - Calculated Track Velocity in Polar Coordinates.
Definition cat001.h:1063
ast_dataitem_t ast_dataitem_001_210_encode(unsigned char *const buffer, const size_t buf_size, const ast_dataitem_ex_t xdi)
Encode Data Item I001/210.
ast_dataitem_001_210_t ast_dataitem_001_210_decode(const ast_dataitem_t di)
Decode Data Item I001/210.
void ast_dataitem_001_210_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary text for I001/210.
void ast_dataitem_001_210_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detailed HTML representation for I001/210.
#define AST_RADAR_MAX_TRACK_QUALITY_BYTES
Maximum number of track quality bytes supported.
Definition cat001.h:1101
void ast_dataitem_001_901_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I001/901.
ast_dataitem_001_901_t ast_dataitem_001_901_decode(const ast_dataitem_t di)
Decode function for I001/901.
void ast_dataitem_001_901_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I001/901.
ast_dataitem_001_902_t ast_dataitem_001_902_decode(const ast_dataitem_t di)
Decode function for I001/902.
void ast_dataitem_001_902_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I001/902.
void ast_dataitem_001_902_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I001/902.
ast_asr10ss_tracking_eligibility_t
Tracking eligibility of a target report (ASR-10SS MKII).
Definition cat001.h:1328
ast_dataitem_001_903_t ast_dataitem_001_903_decode(const ast_dataitem_t di)
Decode function for I001/903.
void ast_dataitem_001_903_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I001/903.
void ast_dataitem_001_903_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I001/903.
@ AST_ASR10SS_TRKELIG_LOW_CONF
Low confidence aircraft - correlation and promotion only.
Definition cat001.h:1330
@ AST_ASR10SS_TRKELIG_CORREL_ONLY
Correlation only - no initiation, no promotion.
Definition cat001.h:1332
@ AST_ASR10SS_TRKELIG_VEHICLE
Vehicular traffic - not eligible for track initiation or correlation.
Definition cat001.h:1329
@ AST_ASR10SS_TRKELIG_HIGH_CONF
High confidence aircraft - eligible for initiation and correlation.
Definition cat001.h:1331
void ast_dataitem_001_904_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I001/904.
ast_asr10ss_predominant_beam_t
Predominate beam (ASR-10SS MKII).
Definition cat001.h:1417
ast_dataitem_001_904_t ast_dataitem_001_904_decode(const ast_dataitem_t di)
Decode function for I001/904.
void ast_dataitem_001_904_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I001/904.
@ AST_ASR10SS_BEAM_HIGH
High beam.
Definition cat001.h:1419
@ AST_ASR10SS_BEAM_LOW
Low beam.
Definition cat001.h:1418
ast_dataitem_type_t
Definition of data item type in each category.
Definition dataitem.h:86
ast_datarecord_t ast_datarecord_001_assemble(unsigned char *const buffer, const size_t bufsize, const ast_datarecord_001_t dr, const ast_uap_t uap)
Assemble a CAT001 data record from its components.
ast_datarecord_001_t ast_datarecord_001_disassemble(const ast_datarecord_t dr)
Disassemble a CAT001 data record into its components.
#define AST_API
Definition platform.h:63
Altitude.
Definition type.h:117
Datablock.
Definition datablock.h:59
Data Item I001/020 - Target Report Descriptor.
Definition cat001.h:197
bool spi
Special Position Identification.
Definition cat001.h:204
bool test
Test target indicator (TST bit).
Definition cat001.h:206
bool valid
Validity flag.
Definition cat001.h:198
int antenna
Antenna number (0=Antenna 1, 1=Antenna 2).
Definition cat001.h:203
ast_radar_detection_type_t detection_type
Radar detection type.
Definition cat001.h:202
bool simulated
Simulated target indicator (true=simulated).
Definition cat001.h:201
bool fixed_transponder
Fixed transponder indicator (RAB).
Definition cat001.h:205
bool military_identification
Military identification (MI bit).
Definition cat001.h:209
ast_conventional_radar_target_type_t target_type
Target type: Plot or Track.
Definition cat001.h:200
bool military_emergency
Military emergency (ME bit).
Definition cat001.h:208
ast_radar_emergency_type_t emergency
Emergency indication (DS1DS2 bits).
Definition cat001.h:207
Data Item I001/030 - Warning/Error Conditions.
Definition cat001.h:286
bool valid
Validity flag.
Definition cat001.h:287
int value
Warning/error condition values (FX bit removed).
Definition cat001.h:289
Data Item I001/040 - Measured Position in Polar Coordinates.
Definition cat001.h:334
int raw_theta
Raw THETA value, resolution 360/2^16 degrees.
Definition cat001.h:338
double rho
Distance from radar in nautical miles.
Definition cat001.h:340
bool valid
Validity flag.
Definition cat001.h:335
double theta
Azimuth angle from radar in degrees.
Definition cat001.h:341
int raw_rho
Raw RHO value, resolution 1/128 NM.
Definition cat001.h:337
Data Item I001/042 - Calculated Position in Cartesian Coordinates.
Definition cat001.h:404
int raw_x
Raw X value, resolution 1/64 NM.
Definition cat001.h:407
double x
X-coordinate in nautical miles.
Definition cat001.h:410
double y
Y-coordinate in nautical miles.
Definition cat001.h:411
bool valid
Validity flag.
Definition cat001.h:405
int raw_y
Raw Y value, resolution 1/64 NM.
Definition cat001.h:408
Data Item I001/120 - Measured Radial Doppler Speed.
Definition cat001.h:663
bool valid
Validity flag.
Definition cat001.h:664
double doppler
Doppler speed in m/s or knots (implementation dependent).
Definition cat001.h:667
int raw_doppler
Raw Doppler speed value.
Definition cat001.h:666
Data Item I001/130 - Radar Plot Characteristics.
Definition cat001.h:707
unsigned char indicators[6]
Application dependent value (FX bit removed).
Definition cat001.h:711
bool valid
Validity flag.
Definition cat001.h:708
int num_indicators
Number of indicator bytes.
Definition cat001.h:710
Data Item I001/131 - Received Power.
Definition cat001.h:747
int power
Received power in dBm.
Definition cat001.h:750
bool valid
Validity flag.
Definition cat001.h:748
Data Item I001/141 - Truncated Time of Day.
Definition cat001.h:813
unsigned int sec
Seconds component.
Definition cat001.h:818
unsigned int msec
Milliseconds component.
Definition cat001.h:819
bool valid
Validity flag.
Definition cat001.h:814
unsigned int raw_time
Raw time value, resolution 1/128s.
Definition cat001.h:816
Data Item I001/150 - Presence of X-Pulse.
Definition cat001.h:877
bool x2
X-pulse received in Mode-2 reply.
Definition cat001.h:882
bool xa
X-pulse received in Mode-3/A reply.
Definition cat001.h:880
bool xc
X-pulse received in Mode-C reply.
Definition cat001.h:881
bool valid
Validity flag.
Definition cat001.h:878
Data Item I001/170 - Track Status.
Definition cat001.h:990
bool last_report
Last report for this track.
Definition cat001.h:999
bool ghost
Ghost track indicator.
Definition cat001.h:998
bool doubt_association
Doubtful association.
Definition cat001.h:996
bool manoeuvre
Manoeuvre detected.
Definition cat001.h:995
ast_conventional_radar_track_type_t type
Track type (PSR or SSR).
Definition cat001.h:994
bool tentative
Tentative (initializing) track.
Definition cat001.h:993
int rdp_chain
RDP chain number (1-4).
Definition cat001.h:997
bool valid
Validity flag.
Definition cat001.h:991
Data Item I001/210 - Track Quality.
Definition cat001.h:1105
int num_quality
Number of quality bytes.
Definition cat001.h:1108
bool valid
Validity flag.
Definition cat001.h:1106
unsigned char qualities[12]
Quality values.
Definition cat001.h:1109
Data Item I001/901 - Radar Plot Characteristics (ASR-10SS extension of I001/130).
Definition cat001.h:1217
bool valid
Validity flag.
Definition cat001.h:1218
bool maintenance
TSM: Test/Maintenance report.
Definition cat001.h:1220
bool permanent_echo
PE: Plot is a Permanent Echo.
Definition cat001.h:1221
Data Item I001/902 - Track Quality (ASR-10SS extension of I001/210).
Definition cat001.h:1260
int average_amplitude
Count: Average echo amplitude in dB (0-127), LSB = 1 dB.
Definition cat001.h:1263
bool valid
Validity flag.
Definition cat001.h:1261
Data Item I001/903 - Radar Plot Characteristics (ASR-10SS MKII extension of I001/130).
Definition cat001.h:1337
int plot_mean_amplitude
Plot mean amplitude in dB (0-127).
Definition cat001.h:1350
bool active_amplitude_zone
AAZ: Plot is in active amplitude threshold zone.
Definition cat001.h:1346
bool edit_override
AEO: Plot is exempt from editing (override zone).
Definition cat001.h:1347
bool rag_cell
RAG: Target is in RAG cell.
Definition cat001.h:1344
bool split
SPL: Split plot flag.
Definition cat001.h:1353
bool weather_edge
WET: Plot is near a weather edge.
Definition cat001.h:1343
bool valid
Validity flag.
Definition cat001.h:1338
bool no_tags
NT: No Tags present (TrkElig/Conf not meaningful).
Definition cat001.h:1358
bool amplitude_threshold_edit
A3: Plot is eligible for amplitude threshold editing.
Definition cat001.h:1345
int cluster_predominant_filter
Cluster predominant filter (0-4).
Definition cat001.h:1355
bool maintenance
MNT: Test Maintenance report (true=radar in maintenance).
Definition cat001.h:1341
bool permanent_echo
PE: Plot is a Permanent Echo.
Definition cat001.h:1342
int plot_confidence
Conf: Plot Confidence (0-7).
Definition cat001.h:1361
ast_asr10ss_tracking_eligibility_t tracking_eligibility
TrkElig: Tracking Eligibility.
Definition cat001.h:1360
bool range_extent_tagged
RE: Range Extent of 1 within x nmi is tagged.
Definition cat001.h:1359
int cluster_range_files
Cluster range files (0-7), LSB = 1/16 nmi.
Definition cat001.h:1354
Data Item I001/904 - Track Quality (ASR-10SS MKII extension of I001/210).
Definition cat001.h:1424
int plot_peak_amplitude
1st ext: Plot peak amplitude in dB (0-127)
Definition cat001.h:1430
ast_radar_detection_type_t prediction_type
PrdT: Prediction Type (none/PSR/SSR/combined).
Definition cat001.h:1440
ast_asr10ss_predominant_beam_t predominant_beam
PBeam: Predominate Beam (low/high).
Definition cat001.h:1439
bool valid
Validity flag.
Definition cat001.h:1425
int plot_count
4th ext: Plot detection count (0-127)
Definition cat001.h:1433
int sec_mean_amplitude
6th ext: Secondary mean amplitude in dB (0-127)
Definition cat001.h:1435
int sec_peak_amplitude
7th ext: Secondary peak amplitude in dB (0-127)
Definition cat001.h:1436
int zero_filled_pct
5th ext: % zero-filled detections (0-100)
Definition cat001.h:1434
int median_ratio
10th ext: Median Ratio (application-defined)
Definition cat001.h:1444
int azimuth_extent
3rd ext: Azimuth extent in CPIs (2-127)
Definition cat001.h:1432
int target_quality
Primary subfield: Target Quality in CPIs (2-127).
Definition cat001.h:1427
int sec_count
9th ext: Secondary detection count (0-127)
Definition cat001.h:1443
int dominant_filter_pct
2nd ext: % dominant filter detections (0-100)
Definition cat001.h:1431
int secondary_filter
ScF#: Secondary Filter Number (0-4).
Definition cat001.h:1441
Data Item - Data Source Identifier.
Definition cat_generic.h:133
Extracted dataitem.
Definition dataitem.h:526
Data Item - Mode-3/A Code in Octal Representation.
Definition cat_generic.h:622
Data Item - Mode-3/A Code Confidence Indicator.
Definition cat_generic.h:673
Data Item - Mode-C Code.
Definition cat_generic.h:719
Data Item - Mode-C Code and Code Confidence Indicator.
Definition cat_generic.h:766
Dataitem.
Definition dataitem.h:515
Data Item Itrack_number - Track Number.
Definition cat_generic.h:906
Data Item - Calculated Track Track Velocity in Polar Co-ordinates.
Definition cat_generic.h:949
Data Record I001 - Monoradar Target Reports.
Definition cat001.h:1561
ast_dataitem_001_010_t dataitem_001_010
I001/010: Data Source Identifier.
Definition cat001.h:1564
ast_dataitem_001_050_t dataitem_001_050
I001/050: Mode-2 Code in Octal Representation.
Definition cat001.h:1569
ast_dataitem_001_170_t dataitem_001_170
I001/170: Track Status.
Definition cat001.h:1581
ast_dataitem_001_080_t dataitem_001_080
I001/080: Mode-3/A Code Confidence Indicator.
Definition cat001.h:1572
ast_dataitem_001_090_t dataitem_001_090
I001/090: Mode-C Code in Binary Representation.
Definition cat001.h:1573
ast_dataitem_001_130_t dataitem_001_130
I001/130: Radar Plot Characteristics.
Definition cat001.h:1576
ast_dataitem_001_120_t dataitem_001_120
I001/120: Measured Radial Doppler Speed.
Definition cat001.h:1575
ast_dataitem_001_210_t dataitem_001_210
I001/210: Track Quality.
Definition cat001.h:1583
ast_dataitem_001_161_t dataitem_001_161
I001/161: Track/Plot Number.
Definition cat001.h:1580
ast_dataitem_001_150_t dataitem_001_150
I001/150: Presence of X-Pulse.
Definition cat001.h:1579
ast_dataitem_001_040_t dataitem_001_040
I001/040: Measured Position in Polar Coordinates.
Definition cat001.h:1567
ast_dataitem_001_070_t dataitem_001_070
I001/070: Mode-3/A Code in Octal Representation.
Definition cat001.h:1571
ast_dataitem_001_100_t dataitem_001_100
I001/100: Mode-C Code and Code Confidence Indicator.
Definition cat001.h:1574
ast_dataitem_001_030_t dataitem_001_030
I001/030: Warning/Error Conditions.
Definition cat001.h:1566
bool valid
Validity flag.
Definition cat001.h:1562
ast_dataitem_001_060_t dataitem_001_060
I001/060: Mode-2 Code Confidence Indicator.
Definition cat001.h:1570
ast_dataitem_001_131_t dataitem_001_131
I001/131: Received Power.
Definition cat001.h:1577
ast_dataitem_001_141_t dataitem_001_141
I001/141: Truncated Time of Day.
Definition cat001.h:1578
ast_dataitem_001_042_t dataitem_001_042
I001/042: Calculated Position in Cartesian Coordinates.
Definition cat001.h:1568
ast_dataitem_001_200_t dataitem_001_200
I001/200: Calculated Track Velocity in Polar Coordinates.
Definition cat001.h:1582
ast_dataitem_001_020_t dataitem_001_020
I001/020: Target Report Descriptor.
Definition cat001.h:1565
Datarecord.
Definition datarecord.h:61
Definition type.h:72
Polar Coordinate.
Definition type.h:135
Data Source Identifier (aka SAC/SIC).
Definition type.h:36
Squawk (aka Mode-3/A Code).
Definition type.h:86
Track Number.
Definition type.h:79
Definition uap.h:42