32#ifndef LIBASTERIX_CAT034_H
33#define LIBASTERIX_CAT034_H
106typedef enum _ast_service_message_type_t
118#define ast_dataitem_034_000_get_size ast_dataitem_message_type_get_size
121#define ast_dataitem_034_000_decode ast_dataitem_message_type_decode
124#define ast_dataitem_034_000_encode ast_dataitem_message_type_encode
130#define ast_dataitem_034_000_get_detail_html ast_dataitem_get_detail_html_dummy
155#define ast_dataitem_034_010_get_size ast_dataitem_data_source_identifier_get_size
158#define ast_dataitem_034_010_decode ast_dataitem_data_source_identifier_decode
161#define ast_dataitem_034_010_encode ast_dataitem_data_source_identifier_encode
164#define ast_dataitem_034_010_get_summary ast_dataitem_data_source_identifier_get_summary
167#define ast_dataitem_034_010_get_detail_html ast_dataitem_data_source_identifier_get_detail_html
194#define ast_dataitem_034_020_get_size ast_dataitem_sector_number_get_size
197#define ast_dataitem_034_020_decode ast_dataitem_sector_number_decode
200#define ast_dataitem_034_020_encode ast_dataitem_sector_number_encode
203#define ast_dataitem_034_020_get_summary ast_dataitem_sector_number_get_summary
206#define ast_dataitem_034_020_get_detail_html ast_dataitem_sector_number_get_detail_html
238#define ast_dataitem_034_030_get_size ast_dataitem_time_of_day_get_size
241#define ast_dataitem_034_030_decode ast_dataitem_time_of_day_decode
244#define ast_dataitem_034_030_encode ast_dataitem_time_of_day_encode
247#define ast_dataitem_034_030_get_summary ast_dataitem_time_of_day_get_summary
250#define ast_dataitem_034_030_get_detail_html ast_dataitem_time_of_day_get_detail_html
280#define ast_dataitem_034_041_get_size ast_dataitem_antenna_rotation_period_get_size
283#define ast_dataitem_034_041_decode ast_dataitem_antenna_rotation_period_decode
286#define ast_dataitem_034_041_encode ast_dataitem_antenna_rotation_period_encode
289#define ast_dataitem_034_041_get_summary ast_dataitem_antenna_rotation_period_get_summary
292#define ast_dataitem_034_041_get_detail_html ast_dataitem_antenna_rotation_period_get_detail_html
351typedef enum _ast_ssr_channel_selection_t
360typedef struct _ast_dataitem_034_050_t
399#define ast_dataitem_034_050_get_summary ast_dataitem_subfields_get_summary
402#define ast_dataitem_034_050_get_detail_html ast_dataitem_subfields_get_detail_html
465typedef enum _ast_psr_polarization_t
472typedef enum _ast_reduction_step_t
485typedef struct _ast_dataitem_034_060_t
521#define ast_dataitem_034_060_get_summary ast_dataitem_subfields_get_summary
524#define ast_dataitem_034_060_get_detail_html ast_dataitem_subfields_get_detail_html
580typedef enum _ast_counter_type_t
602typedef struct _ast_counter_t
609#define AST_MAX_COUNTERS 16
612typedef struct _ast_dataitem_034_070_t
621#define ast_dataitem_034_070_get_size ast_dataitem_get_size_rep_2_byte
657typedef struct _ast_dataitem_034_090_t
669#define ast_dataitem_034_090_get_size ast_dataitem_get_size_fixed_2_byte
713typedef enum _ast_data_filter_type_t
728typedef struct _ast_dataitem_034_110_t
736#define ast_dataitem_034_110_get_size ast_dataitem_get_size_fixed_1_byte
777typedef struct _ast_dataitem_034_120_t
791#define ast_dataitem_034_120_get_size ast_dataitem_get_size_fixed_8_byte
816#define ast_dataitem_034_SPF_get_size ast_dataitem_special_purpose_field_get_size
822#define ast_dataitem_034_SPF_get_summary ast_dataitem_special_purpose_field_get_summary
825#define ast_dataitem_034_SPF_get_detail_html ast_dataitem_get_detail_html_dummy
839#define ast_dataitem_034_REF_get_size ast_dataitem_reserved_expansion_field_get_size
842#define ast_dataitem_034_REF_get_summary ast_dataitem_reserved_expansion_field_get_summary
845#define ast_dataitem_034_REF_get_detail_html ast_dataitem_reserved_expansion_field_get_detail_html
860typedef struct _ast_datarecord_034_t
const char * ast_dataitem_034_get_name(const ast_dataitem_type_t type)
Get name function.
ASTERIX generic data items shared by multiple categories.
ast_service_message_type_t
Message Type for CAT034 service messages.
Definition cat034.h:107
ast_dataitem_message_type_t ast_dataitem_034_000_t
Data Item I034/000 - Message Type.
Definition cat034.h:115
void ast_dataitem_034_000_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I034/000.
@ AST_MODES_MESSAGE_SECTOR_CROSSING
Sector crossing message.
Definition cat034.h:109
@ AST_MODES_MESSAGE_NORTH_MARKER
North Marker message.
Definition cat034.h:108
@ AST_MODES_MESSAGE_GEO_FILTERING
Geographical filtering message.
Definition cat034.h:110
@ AST_MODES_MESSAGE_JAMMING_STROBE
Jamming Strobe message.
Definition cat034.h:111
ast_dataitem_data_source_identifier_t ast_dataitem_034_010_t
Data Item I034/010 - Data Source Identifier.
Definition cat034.h:152
ast_dataitem_sector_number_t ast_dataitem_034_020_t
Data Item I034/020 - Sector Number.
Definition cat034.h:191
ast_dataitem_time_of_day_t ast_dataitem_034_030_t
Data Item I034/030 - Time of Day.
Definition cat034.h:235
ast_dataitem_antenna_rotation_period_t ast_dataitem_034_041_t
Data Item I034/041 - Antenna Rotation Speed.
Definition cat034.h:277
void ast_subfield_034_050_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML snippet of subfield.
const char * ast_subfield_034_050_get_id(const ast_subfield_type_t type)
Get ID string of I034/050 subfield.
ast_ssr_channel_selection_t
SSR Channel Selection.
Definition cat034.h:352
void ast_subfield_034_050_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of subfield.
ast_dataitem_034_050_t ast_dataitem_034_050_decode(const ast_dataitem_t di)
Decode function for I034/050.
size_t ast_subfield_034_050_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of I034/050 subfield.
const char * ast_subfield_034_050_get_name(const ast_subfield_type_t type)
Get name of I034/050 subfield.
size_t ast_dataitem_034_050_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function for I034/050.
@ AST_SSR_CHANNEL_SELECT_INVALID
Invalid combination.
Definition cat034.h:356
@ AST_SSR_CHANNEL_SELECT_1
Channel A selected.
Definition cat034.h:354
@ AST_SSR_CHANNEL_SELECT_2
Channel B selected.
Definition cat034.h:355
@ AST_SSR_CHANNEL_SELECT_NO
No channel selected.
Definition cat034.h:353
void ast_subfield_034_060_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get detail HTML of I034/060 subfield.
ast_reduction_step_t
Reduction Step.
Definition cat034.h:473
const char * ast_subfield_034_060_get_id(const ast_subfield_type_t type)
Get ID string of I034/060 subfield.
size_t ast_subfield_034_060_get_size(const unsigned char *buffer, const size_t bufsize, const ast_subfield_type_t type)
Get size of I034/060 subfield.
void ast_subfield_034_060_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di, const ast_subfield_type_t type)
Get summary of I034/060 subfield.
ast_dataitem_034_060_t ast_dataitem_034_060_decode(const ast_dataitem_t di)
Decode function for I034/060.
const char * ast_subfield_034_060_get_name(const ast_subfield_type_t type)
Get name of I034/060 subfield.
ast_psr_polarization_t
PSR Polarization.
Definition cat034.h:466
size_t ast_dataitem_034_060_get_size(const unsigned char *buffer, const size_t bufsize)
Get size function for I034/060.
@ AST_REDUCTION_STEP_3
Reduction step 3 active.
Definition cat034.h:477
@ AST_REDUCTION_STEP_5
Reduction step 5 active.
Definition cat034.h:479
@ AST_REDUCTION_STEP_1
Reduction step 1 active.
Definition cat034.h:475
@ AST_REDUCTION_STEP_7
Reduction step 7 active.
Definition cat034.h:481
@ AST_REDUCTION_NO
No reduction active.
Definition cat034.h:474
@ AST_REDUCTION_STEP_4
Reduction step 4 active.
Definition cat034.h:478
@ AST_REDUCTION_STEP_2
Reduction step 2 active.
Definition cat034.h:476
@ AST_REDUCTION_STEP_6
Reduction step 6 active.
Definition cat034.h:480
@ AST_PSR_POLARIZATION_LINEAR
Linear polarization.
Definition cat034.h:467
@ AST_PSR_POLARIZATION_CIRCULAR
Circular polarization.
Definition cat034.h:468
void ast_dataitem_034_070_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I034/070.
ast_counter_type_t
Counter Type for Message Count Values.
Definition cat034.h:581
#define AST_MAX_COUNTERS
Maximum number of message counters.
Definition cat034.h:609
ast_dataitem_034_070_t ast_dataitem_034_070_decode(const ast_dataitem_t di)
Decode function for I034/070.
void ast_dataitem_034_070_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I034/070.
@ AST_COUNTER_SSR_PSR
SSR+PSR target reports (Non-Mode S).
Definition cat034.h:585
@ AST_COUNTER_NO_DETECTION
No detection (misses).
Definition cat034.h:582
@ AST_COUNTER_FLT_PSR_EHS
Filter for PSR+Enhanced Surveillance.
Definition cat034.h:596
@ AST_COUNTER_FLT_SSR_PSR
Filter for SSR/Mode S + PSR data.
Definition cat034.h:594
@ AST_COUNTER_ROLL_CALL
Single Roll-Call target reports (Mode S).
Definition cat034.h:587
@ AST_COUNTER_SSR
Single SSR target reports (Non-Mode S).
Definition cat034.h:584
@ AST_COUNTER_FLT_WX
Filter for Weather data.
Definition cat034.h:590
@ AST_COUNTER_ROLL_CALL_PSR
Roll-Call + PSR (Mode S).
Definition cat034.h:589
@ AST_COUNTER_PSR
Single PSR target reports.
Definition cat034.h:583
@ AST_COUNTER_FLT_JAM
Filter for Jamming Strobe.
Definition cat034.h:591
@ AST_COUNTER_FLT_PSR_EHS_SSR
Filter for PSR+EHS + all SSR/Mode S.
Definition cat034.h:598
@ AST_COUNTER_FLT_EHS
Filter for Enhanced Surveillance data.
Definition cat034.h:595
@ AST_COUNTER_FLT_OUT_AOI
Filter for PSR+EHS + SSR/Mode S not in AOI.
Definition cat034.h:597
@ AST_COUNTER_FLT_SSR
Filter for SSR/Mode S data.
Definition cat034.h:593
@ AST_COUNTER_ALL_CALL_PSR
All-Call + PSR (Mode S).
Definition cat034.h:588
@ AST_COUNTER_FLT_PSR
Filter for PSR data.
Definition cat034.h:592
@ AST_COUNTER_ALL_CALL
Single All-Call target reports (Mode S).
Definition cat034.h:586
void ast_dataitem_034_090_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I034/090.
ast_dataitem_034_090_t ast_dataitem_034_090_decode(const ast_dataitem_t di)
Decode function for I034/090.
void ast_dataitem_034_090_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I034/090.
void ast_dataitem_034_110_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I034/110.
ast_data_filter_type_t
Data Filter Type.
Definition cat034.h:714
ast_dataitem_034_110_t ast_dataitem_034_110_decode(const ast_dataitem_t di)
Decode function for I034/110.
void ast_dataitem_034_110_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I034/110.
@ AST_DATA_FILTER_INVALID
Invalid value.
Definition cat034.h:715
@ AST_DATA_FILTER_JAMMING
Filter for Jamming Strobe.
Definition cat034.h:717
@ AST_DATA_FILTER_EHS
Enhanced Surveillance data.
Definition cat034.h:721
@ AST_DATA_FILTER_PSR_EHS
Filter for PSR+Enhanced Surveillance.
Definition cat034.h:722
@ AST_DATA_FILTER_PSR_EHS_OUT_AOI
Filter for PSR+EHS + SSR not in AOI.
Definition cat034.h:723
@ AST_DATA_FILTER_PSR_EHS_ALL
Filter for PSR+EHS + all SSR/Mode S.
Definition cat034.h:724
@ AST_DATA_FILTER_WEATHER
Filter for Weather data.
Definition cat034.h:716
@ AST_DATA_FILTER_SSR
Filter for SSR/Mode S data.
Definition cat034.h:719
@ AST_DATA_FILTER_SSR_PSR
Filter for SSR/Mode S + PSR data.
Definition cat034.h:720
@ AST_DATA_FILTER_PSR
Filter for PSR data.
Definition cat034.h:718
void ast_dataitem_034_120_get_detail_html(char *detail, const size_t detail_size, const ast_dataitem_t di)
Get detail function for I034/120.
void ast_dataitem_034_120_get_summary(char *summary, const size_t summary_size, const ast_dataitem_t di)
Get summary function for I034/120.
ast_dataitem_034_120_t ast_dataitem_034_120_decode(const ast_dataitem_t di)
Decode function for I034/120.
ast_dataitem_type_t
Definition of data item type in each category.
Definition dataitem.h:86
#define AST_MAX_SUBFIELDS
Maximum number of subfields in a data item.
Definition subfield.h:440
ast_datarecord_t ast_datarecord_034_assemble(unsigned char *const buffer, const size_t bufsize, const ast_datarecord_034_t dr, const ast_uap_t uap)
Assemble CAT034 data record.
ast_datarecord_034_t ast_datarecord_034_disassemble(const ast_datarecord_t dr)
Disassemble CAT034 data record.
ast_subfield_type_t
Definition of subfield type in each data item.
Definition subfield.h:67
Counter entry.
Definition cat034.h:603
ast_counter_type_t type
Counter type.
Definition cat034.h:604
unsigned int value
Counter value.
Definition cat034.h:605
Data Item I034/050 - System Configuration and Status.
Definition cat034.h:361
bool com_rdp_chain_restart
RDPR: 1=RDP restart.
Definition cat034.h:371
bool com_time_source
TSV: 0=Valid, 1=Invalid.
Definition cat034.h:375
bool ssr_existing
SSR subfield present.
Definition cat034.h:381
ast_ssr_channel_selection_t ssr_channel_selection
Channel selection.
Definition cat034.h:383
bool com_rdp_overload
OVL-RDP: 1=Overload.
Definition cat034.h:372
ast_subfield_t subfields[35]
Definition cat034.h:364
int ssr_antenna
Selected antenna.
Definition cat034.h:382
size_t n_subfields
Definition cat034.h:365
bool mds_existing
MDS subfield present.
Definition cat034.h:388
bool psr_existing
PSR subfield present.
Definition cat034.h:378
bool ssr_monitoring
SSR monitoring system status.
Definition cat034.h:385
int com_rdp_chain
RDPC: 0=Chain 1, 1=Chain 2.
Definition cat034.h:370
bool ssr_overload
SSR overload.
Definition cat034.h:384
bool valid
Data item validity flag.
Definition cat034.h:362
bool com_existing
COM subfield present.
Definition cat034.h:368
bool com_xmt_overload
OVL-XMT: 1=Overload.
Definition cat034.h:373
bool com_monitoring
MSC: 0=Connected, 1=Disconnected.
Definition cat034.h:374
bool com_nogo
NOGO: 0=Released, 1=Inhibited.
Definition cat034.h:369
Data Item I034/060 - System Processing Mode.
Definition cat034.h:486
bool psr_existing
PSR subfield present.
Definition cat034.h:498
ast_psr_polarization_t psr_polarization
Polarization.
Definition cat034.h:499
bool mds_auto_cluster_state
Cluster state.
Definition cat034.h:510
bool com_existing
COM subfield present.
Definition cat034.h:493
ast_reduction_step_t com_xmp_reduction
Transmission reduction steps.
Definition cat034.h:495
ast_subfield_t subfields[35]
Definition cat034.h:489
ast_reduction_step_t mds_reduction
MDS reduction steps.
Definition cat034.h:509
bool valid
Data item validity flag.
Definition cat034.h:487
ast_reduction_step_t ssr_reduction
SSR reduction steps.
Definition cat034.h:505
bool mds_existing
MDS subfield present.
Definition cat034.h:508
ast_reduction_step_t psr_reduction
PSR reduction steps.
Definition cat034.h:500
bool ssr_existing
SSR subfield present.
Definition cat034.h:504
int psr_sensitive_time_control_map
STC Map (1-4).
Definition cat034.h:501
size_t n_subfields
Definition cat034.h:490
ast_reduction_step_t com_rdp_reduction
RDP reduction steps.
Definition cat034.h:494
Data Item I034/070 - Message Count Values.
Definition cat034.h:613
bool valid
Data item validity flag.
Definition cat034.h:614
unsigned int n_counters
Number of counters present.
Definition cat034.h:616
ast_counter_t counters[16]
Counter array.
Definition cat034.h:617
Data Item I034/090 - Collimation Error.
Definition cat034.h:658
double range_error
Range error in NM.
Definition cat034.h:664
bool valid
Data item validity flag.
Definition cat034.h:659
int raw_range_error
Raw range error, LSB = 1/128 NM.
Definition cat034.h:661
double azimuth_error
Azimuth error in degrees.
Definition cat034.h:665
int raw_azimuth_error
Raw azimuth error, LSB = 360/2^14 deg.
Definition cat034.h:662
Data Item I034/110 - Data Filter.
Definition cat034.h:729
ast_data_filter_type_t type
Filter type.
Definition cat034.h:732
bool valid
Data item validity flag.
Definition cat034.h:730
Data Item I034/120 - 3D-Position Of Data Source.
Definition cat034.h:778
bool valid
Data item validity flag.
Definition cat034.h:779
int raw_latitude
Raw latitude, resolution 180/2^23 deg.
Definition cat034.h:782
int raw_longitude
Raw longitude, resolution 180/2^23 deg.
Definition cat034.h:783
double longitude
Longitude in degrees (WGS-84).
Definition cat034.h:787
double height
Height in meters (WGS-84).
Definition cat034.h:785
double latitude
Latitude in degrees (WGS-84).
Definition cat034.h:786
int raw_height
Raw height, resolution 1 meter.
Definition cat034.h:781
Data Item - Antenna Rotation Period.
Definition cat_generic.h:328
Data Item - Data Source Identifier.
Definition cat_generic.h:133
Data Item - Message Type.
Definition cat_generic.h:80
Data Item - Sector Number.
Definition cat_generic.h:221
Dataitem.
Definition dataitem.h:515
Data Item - Time of Day.
Definition cat_generic.h:282
Data Record I034 - Monoradar Service Messages.
Definition cat034.h:861
ast_dataitem_034_041_t dataitem_034_041
I034/041 - Antenna Rotation Speed.
Definition cat034.h:868
bool valid
Data record validity flag.
Definition cat034.h:862
ast_dataitem_034_020_t dataitem_034_020
I034/020 - Sector Number.
Definition cat034.h:866
ast_dataitem_034_010_t dataitem_034_010
I034/010 - Data Source Identifier.
Definition cat034.h:865
ast_dataitem_034_050_t dataitem_034_050
I034/050 - System Configuration and Status.
Definition cat034.h:869
ast_dataitem_034_030_t dataitem_034_030
I034/030 - Time of Day.
Definition cat034.h:867
ast_dataitem_034_000_t dataitem_034_000
I034/000 - Message Type.
Definition cat034.h:864
ast_dataitem_034_070_t dataitem_034_070
I034/070 - Message Count Values.
Definition cat034.h:871
ast_dataitem_034_060_t dataitem_034_060
I034/060 - System Processing Mode.
Definition cat034.h:870
ast_dataitem_034_120_t dataitem_034_120
I034/120 - 3D-Position Of Data Source.
Definition cat034.h:872
Datarecord.
Definition datarecord.h:61
Subfield struct.
Definition subfield.h:366