cat016.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
31
32#ifndef LIBASTERIX_CAT016_H
33#define LIBASTERIX_CAT016_H
34
35#include "dataitem.h"
36#include "cat_generic.h"
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
72
73// Data Item
74
77
85
87typedef enum _ast_incs_config_message_type_t
88{
92
95
97#define ast_dataitem_016_000_get_size ast_dataitem_message_type_get_size
98
100#define ast_dataitem_016_000_decode ast_dataitem_message_type_decode
101
103#define ast_dataitem_016_000_encode ast_dataitem_message_type_encode
104
106AST_API void ast_dataitem_016_000_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
107
109#define ast_dataitem_016_000_get_detail_html ast_dataitem_get_detail_html_dummy
110 /* end of group di_016_000 */
112
113
121
124
126#define ast_dataitem_016_010_get_size ast_dataitem_data_source_identifier_get_size
127
129#define ast_dataitem_016_010_decode ast_dataitem_data_source_identifier_decode
130
132#define ast_dataitem_016_010_encode ast_dataitem_data_source_identifier_encode
133
135#define ast_dataitem_016_010_get_summary ast_dataitem_data_source_identifier_get_summary
136
138#define ast_dataitem_016_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
139 /* end of group di_016_010 */
141
142
150
153
155#define ast_dataitem_016_015_get_size ast_dataitem_service_id_get_size
156
158#define ast_dataitem_016_015_decode ast_dataitem_service_id_decode
159
161#define ast_dataitem_016_015_encode ast_dataitem_service_id_encode
162
164#define ast_dataitem_016_015_get_summary ast_dataitem_service_id_get_summary
165
167#define ast_dataitem_016_015_get_detail_html ast_dataitem_service_id_get_detail_html
168 /* end of group di_016_015 */
170
171
179
182
184#define ast_dataitem_016_140_get_size ast_dataitem_time_of_day_get_size
185
187#define ast_dataitem_016_140_decode ast_dataitem_time_of_day_decode
188
190#define ast_dataitem_016_140_encode ast_dataitem_time_of_day_encode
191
193#define ast_dataitem_016_140_get_summary ast_dataitem_time_of_day_get_summary
194
196#define ast_dataitem_016_140_get_detail_html ast_dataitem_time_of_day_get_detail_html
197 /* end of group di_016_140 */
199
200
208
210typedef struct _ast_dataitem_016_200_t
211{
212 bool valid;
213
214 unsigned int period;
216
218#define ast_dataitem_016_200_get_size ast_dataitem_get_size_fixed_1_byte
219
222
224
226AST_API void ast_dataitem_016_200_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
227
229#define ast_dataitem_016_200_get_detail_html ast_dataitem_get_detail_html_dummy
230 /* end of group di_016_200 */
232
233
241
243typedef struct _ast_incs_pair_t
244{
245 int pair;
249
250#define AST_MAX_INCS_PAIR 32
251
253typedef struct _ast_dataitem_016_300_t
254{
255 bool valid;
256
257 unsigned int n_pairs;
260
262#define ast_dataitem_016_300_get_size ast_dataitem_get_size_rep_6_byte
263
266
268
270AST_API void ast_dataitem_016_300_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
271
273AST_API void ast_dataitem_016_300_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
274 /* end of group di_016_300 */
276
277
285
288
290#define ast_dataitem_016_400_get_size ast_dataitem_position_wgs84_get_size
291
293#define ast_dataitem_016_400_decode ast_dataitem_position_wgs84_decode
294
296#define ast_dataitem_016_400_encode ast_dataitem_position_wgs84_encode
297
299#define ast_dataitem_016_400_get_summary ast_dataitem_position_wgs84_get_summary
300
302#define ast_dataitem_016_400_get_detail_html ast_dataitem_position_wgs84_get_detail_html
303 /* end of group di_016_400 */
305
306
314
316typedef struct _ast_dataitem_016_405_t
317{
318 bool valid;
319
321 double height;
323
325#define ast_dataitem_016_405_get_size ast_dataitem_get_size_fixed_2_byte
326
329
331AST_API void ast_dataitem_016_405_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
332
334AST_API void ast_dataitem_016_405_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di);
335 /* end of group di_016_405 */
337
338
346
348typedef struct _ast_incs_transmitter_t
349{
351
354 double latitude;
355 double longitude;
356
357 int raw_altitude; //LSB = 0.25 m
358 double altitude; //LSB = 1.0 m
359
360 int raw_time_offset; //LSB = 2 ns
361 int time_offset; //LSB = 1 ns
362
363 int time_accurancy; //LSB = 1 ns
364
365 int index;
367
368#define AST_MAX_INCS_TRANSMITTER 32
369
371typedef struct _ast_dataitem_016_410_t
372{
373 bool valid;
374
375 unsigned int n_transmitters;
378
380#define ast_dataitem_016_410_get_size ast_dataitem_get_size_rep_21_byte
381
384
386
388AST_API void ast_dataitem_016_410_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
389
391AST_API void ast_dataitem_016_410_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
392 /* end of group di_016_410 */
394
395
403
405typedef struct _ast_incs_receiver_t
406{
408
411 double latitude;
412 double longitude;
413
414 int raw_altitude; //LSB = 0.25 m
415 double altitude; //LSB = 1.0 m
416
418
419#define AST_MAX_INCS_RECEIVER 32
420
422typedef struct _ast_dataitem_016_420_t
423{
424 bool valid;
425
426 unsigned int n_receivers;
429
431#define ast_dataitem_016_420_get_size ast_dataitem_get_size_rep_12_byte
432
435
437
439AST_API void ast_dataitem_016_420_get_summary(char* summary, const size_t summary_size, const ast_dataitem_t di);
440
442AST_API void ast_dataitem_016_420_get_detail_html(char* detail, const size_t detail_size, const ast_dataitem_t di);
443 /* end of group di_016_420 */
445
446
447#ifdef __cplusplus
448 }
449#endif // extern "C"
450
451#endif //LIBASTERIX_CAT016_H
452
453// vim:set ft=c.doxygen sw=2 sts=2 fenc=utf8:
const char * ast_dataitem_016_get_name(const ast_dataitem_type_t type)
Get name function.
ASTERIX generic data items shared by multiple categories.
ASTERIX data item.
void ast_dataitem_016_000_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function.
ast_incs_config_message_type_t
INCS configuration message type.
Definition cat016.h:88
ast_dataitem_message_type_t ast_dataitem_016_000_t
Data Item I016/000 - Message Type.
Definition cat016.h:94
@ AST_INCS_CONFIG_MESSAGE_SYSTEM
Definition cat016.h:89
@ AST_INCS_CONFIG_MESSAGE_TXRX
Definition cat016.h:90
ast_dataitem_data_source_identifier_t ast_dataitem_016_010_t
Data Item I016/010 - Data Source Identifier.
Definition cat016.h:123
ast_dataitem_service_id_t ast_dataitem_016_015_t
Data Item I016/015 - Service Identification.
Definition cat016.h:152
ast_dataitem_time_of_day_t ast_dataitem_016_140_t
Data Item I016/140 - Time of Applicability.
Definition cat016.h:181
ast_dataitem_016_200_t ast_dataitem_016_200_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_016_200_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Encode function.
#define AST_MAX_INCS_PAIR
Definition cat016.h:250
ast_dataitem_016_300_t ast_dataitem_016_300_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_016_300_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_016_300_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Encode function.
ast_dataitem_position_wgs84_t ast_dataitem_016_400_t
Item I016/400 - Position of the System Reference Point.
Definition cat016.h:287
void ast_dataitem_016_405_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get Summary function.
ast_dataitem_016_405_t ast_dataitem_016_405_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_016_405_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
ast_dataitem_016_410_t ast_dataitem_016_410_decode(const ast_dataitem_t di)
Decode function.
void ast_dataitem_016_410_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Encode function.
void ast_dataitem_016_410_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
#define AST_MAX_INCS_TRANSMITTER
Definition cat016.h:368
void ast_dataitem_016_420_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function.
void ast_dataitem_016_420_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Encode function.
ast_dataitem_016_420_t ast_dataitem_016_420_decode(const ast_dataitem_t di)
Decode function.
#define AST_MAX_INCS_RECEIVER
Definition cat016.h:419
ast_dataitem_type_t
Definition of data item type in each category.
Definition dataitem.h:86
#define AST_API
Definition platform.h:63
Data Item I016/200 - System Configuration Reporting Period.
Definition cat016.h:211
bool valid
Definition cat016.h:212
unsigned int period
LSB = 1s.
Definition cat016.h:214
Data Item I016/300 - Pair Identification.
Definition cat016.h:254
unsigned int n_pairs
Number of pairs.
Definition cat016.h:257
bool valid
Definition cat016.h:255
ast_incs_pair_t pairs[32]
Definition cat016.h:258
Data Item I016/405 - Height of System Reference Point.
Definition cat016.h:317
int raw_height
Raw height, LSB = 0.25 m.
Definition cat016.h:320
bool valid
Definition cat016.h:318
double height
Height, LSB = 1.0 m.
Definition cat016.h:321
Data Item I016/410 - Transmitter Properties.
Definition cat016.h:372
bool valid
Definition cat016.h:373
ast_incs_transmitter_t transmitters[32]
Definition cat016.h:376
unsigned int n_transmitters
Number of transmitters.
Definition cat016.h:375
Data Item I016/420 - Receiver Properties.
Definition cat016.h:423
ast_incs_receiver_t receivers[32]
Definition cat016.h:427
bool valid
Definition cat016.h:424
unsigned int n_receivers
Number of receivers.
Definition cat016.h:426
Data Item - Data Source Identifier.
Definition cat_generic.h:133
Data Item - Message Type.
Definition cat_generic.h:80
Data Item - Position in WGS84 Coordinates.
Definition cat_generic.h:462
Data Item - Service Identification.
Definition cat_generic.h:179
Dataitem.
Definition dataitem.h:515
Data Item - Time of Day.
Definition cat_generic.h:282
Transmitter/receiver pair of I016/300.
Definition cat016.h:244
int transmitter
Definition cat016.h:246
int receiver
Definition cat016.h:247
int pair
Definition cat016.h:245
Receiver properties element of I016/420.
Definition cat016.h:406
int receiver
Definition cat016.h:407
double latitude
Definition cat016.h:411
double longitude
Definition cat016.h:412
int raw_latitude
Definition cat016.h:409
int raw_altitude
Definition cat016.h:414
double altitude
Definition cat016.h:415
int raw_longitude
Definition cat016.h:410
Transmitter properties element of I016/410.
Definition cat016.h:349
int raw_longitude
Definition cat016.h:353
double altitude
Definition cat016.h:358
int raw_latitude
Definition cat016.h:352
int time_offset
Definition cat016.h:361
int raw_altitude
Definition cat016.h:357
double latitude
Definition cat016.h:354
double longitude
Definition cat016.h:355
int index
Definition cat016.h:365
int transmitter
Definition cat016.h:350
int raw_time_offset
Definition cat016.h:360
int time_accurancy
Definition cat016.h:363