/* Notice: This file is auto generated, do not edit! See tools/asterix/README.md for details. Data source: https://zoranbosnjak.github.io/asterix-specs git revision: 3ab3bb3445a27e0a96636ad8f8c8e3134870511c */ /* packet-asterix.c * Routines for ASTERIX decoding * By Marko Hrastovec * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ /* * ASTERIX (All-purpose structured EUROCONTROL surveillances * information exchange) is a protocol related to air traffic control. * * The specifications can be downloaded from * http://www.eurocontrol.int/services/asterix */ #include #include #include #include #include void proto_register_asterix(void); void proto_reg_handoff_asterix(void); #define PROTO_TAG_ASTERIX "ASTERIX" #define ASTERIX_PORT 8600 #define MAX_DISSECT_STR 1024 #define MAX_BUFFER 256 static int proto_asterix; static int hf_asterix_category; static int hf_asterix_length; static int hf_asterix_message; static int hf_asterix_fspec; static int hf_re_field_len; static int hf_spare; static int hf_counter; static int hf_XXX_FX; static int ett_asterix; static int ett_asterix_category; static int ett_asterix_length; static int ett_asterix_message; static int ett_asterix_subtree; static dissector_handle_t asterix_handle; /* The following defines tell us how to decode the length of * fields and how to construct their display structure */ #define FIXED 1 #define REPETITIVE 2 #define FX 3 /*#define FX_1 4*/ /*#define RE 5*/ #define COMPOUND 6 /*#define SP 7*/ /*#define FX_UAP 8*/ #define EXP 9 /* Explicit (RE or SP) */ /* The following defines tell us how to * decode and display individual fields. */ #define FIELD_PART_INT 0 #define FIELD_PART_UINT 1 #define FIELD_PART_FLOAT 2 #define FIELD_PART_UFLOAT 3 #define FIELD_PART_SQUAWK 4 #define FIELD_PART_CALLSIGN 5 #define FIELD_PART_ASCII 6 #define FIELD_PART_FX 7 #define FIELD_PART_HEX 8 #define FIELD_PART_IAS_IM 9 #define FIELD_PART_IAS_ASPD 10 typedef struct FieldPart_s FieldPart; struct FieldPart_s { uint16_t bit_length; /* length of field in bits */ double scaling_factor; /* scaling factor of the field (for instance: 1/128) */ uint8_t type; /* Pre-defined type for proper presentation */ int *hf; /* Pointer to hf representing this kind of data */ const char *format_string; /* format string for showing float values */ }; DIAG_OFF_PEDANTIC typedef struct AsterixField_s AsterixField; struct AsterixField_s { uint8_t type; /* type of field */ unsigned length; /* fixed length */ unsigned repetition_counter_size; /* size of repetition counter, length of one item is in length */ unsigned header_length; /* the size is in first header_length bytes of the field */ int *hf; /* pointer to Wireshark hf_register_info */ const FieldPart **part; /* Look declaration and description of FieldPart above. */ const AsterixField *field[]; /* subfields */ }; DIAG_ON_PEDANTIC static void dissect_asterix_packet (tvbuff_t *, packet_info *pinfo, proto_tree *); static void dissect_asterix_data_block (tvbuff_t *tvb, packet_info *pinfo, unsigned, proto_tree *, uint8_t, int); static int dissect_asterix_fields (tvbuff_t *, packet_info *pinfo, unsigned, proto_tree *, uint8_t, const AsterixField *[]); static void asterix_build_subtree (tvbuff_t *, packet_info *pinfo, unsigned, proto_tree *, const AsterixField *); static void twos_complement (int64_t *, int); static uint8_t asterix_bit (uint8_t, uint8_t); static unsigned asterix_fspec_len (tvbuff_t *, unsigned); static uint8_t asterix_field_exists (tvbuff_t *, unsigned, int); static uint8_t asterix_get_active_uap (tvbuff_t *, unsigned, uint8_t); static int asterix_field_length (tvbuff_t *, unsigned, const AsterixField *); static int asterix_field_offset (tvbuff_t *, unsigned, const AsterixField *[], int); static int asterix_message_length (tvbuff_t *, unsigned, uint8_t, uint8_t); static const char AISCode[] = { ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ' ', ' ', ' ', ' ', ' ', ' ' }; static const value_string valstr_XXX_FX[] = { { 0, "End of data item" }, { 1, "Extension into next extent" }, { 0, NULL } }; static const FieldPart IXXX_FX = { 1, 1.0, FIELD_PART_FX, &hf_XXX_FX, NULL }; static const FieldPart IXXX_1bit_spare = { 1, 1.0, FIELD_PART_UINT, NULL, NULL }; static const FieldPart IXXX_2bit_spare = { 2, 1.0, FIELD_PART_UINT, NULL, NULL }; static const FieldPart IXXX_3bit_spare = { 3, 1.0, FIELD_PART_UINT, NULL, NULL }; static const FieldPart IXXX_4bit_spare = { 4, 1.0, FIELD_PART_UINT, NULL, NULL }; static const FieldPart IXXX_5bit_spare = { 5, 1.0, FIELD_PART_UINT, NULL, NULL }; static const FieldPart IXXX_6bit_spare = { 6, 1.0, FIELD_PART_UINT, NULL, NULL }; static const FieldPart IXXX_7bit_spare = { 7, 1.0, FIELD_PART_UINT, NULL, NULL }; /* Spare Item */ DIAG_OFF_PEDANTIC static const AsterixField IX_SPARE = { FIXED, 0, 0, 0, &hf_spare, NULL, { NULL } }; /* insert1 */ /* Category 001, edition 1.2 */ static int hf_001_V1_2_010; static int hf_001_V1_2_010_SAC; static const FieldPart I001_V1_2_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_001_V1_2_010_SAC, NULL }; static int hf_001_V1_2_010_SIC; static const FieldPart I001_V1_2_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_001_V1_2_010_SIC, NULL }; static const FieldPart *I001_V1_2_010_PARTS[] = { &I001_V1_2_010_SAC, &I001_V1_2_010_SIC, NULL }; static const AsterixField I001_V1_2_010 = { FIXED, 2, 0, 0, &hf_001_V1_2_010, I001_V1_2_010_PARTS, { NULL } }; static int hf_001_V1_2_020; static int hf_001_V1_2_020_TYP; static const value_string valstr_001_V1_2_020_TYP[] = { { 0, "Plot" }, { 1, "Track" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_TYP = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_TYP, NULL }; static int hf_001_V1_2_020_SIM; static const value_string valstr_001_V1_2_020_SIM[] = { { 0, "Actual plot or track" }, { 1, "Simulated plot or track" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_SIM, NULL }; static int hf_001_V1_2_020_SSRPSR; static const value_string valstr_001_V1_2_020_SSRPSR[] = { { 0, "No detection" }, { 1, "Sole primary detection" }, { 2, "Sole secondary detection" }, { 3, "Combined primary and secondary detection" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_SSRPSR = { 2, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_SSRPSR, NULL }; static int hf_001_V1_2_020_ANT; static const value_string valstr_001_V1_2_020_ANT[] = { { 0, "Target report from antenna 1" }, { 1, "Target report from antenna 2" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_ANT, NULL }; static int hf_001_V1_2_020_SPI; static const value_string valstr_001_V1_2_020_SPI[] = { { 0, "Default" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_SPI, NULL }; static int hf_001_V1_2_020_RAB; static const value_string valstr_001_V1_2_020_RAB[] = { { 0, "Default" }, { 1, "Plot or track from a fixed transponder" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_RAB, NULL }; static int hf_001_V1_2_020_TST; static const value_string valstr_001_V1_2_020_TST[] = { { 0, "Default" }, { 1, "Test target indicator" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_TST, NULL }; static int hf_001_V1_2_020_DS1DS2; static const value_string valstr_001_V1_2_020_DS1DS2[] = { { 0, "Default" }, { 1, "Unlawful interference (code 7500)" }, { 2, "Radio-communication failure (code 7600)" }, { 3, "Emergency (code 7700)" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_DS1DS2 = { 2, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_DS1DS2, NULL }; static int hf_001_V1_2_020_ME; static const value_string valstr_001_V1_2_020_ME[] = { { 0, "Default" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_ME, NULL }; static int hf_001_V1_2_020_MI; static const value_string valstr_001_V1_2_020_MI[] = { { 0, "Default" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I001_V1_2_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_020_MI, NULL }; static const FieldPart *I001_V1_2_020_PARTS[] = { &I001_V1_2_020_TYP, &I001_V1_2_020_SIM, &I001_V1_2_020_SSRPSR, &I001_V1_2_020_ANT, &I001_V1_2_020_SPI, &I001_V1_2_020_RAB, &IXXX_FX, &I001_V1_2_020_TST, &I001_V1_2_020_DS1DS2, &I001_V1_2_020_ME, &I001_V1_2_020_MI, &IXXX_2bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_V1_2_020 = { FX, 1, 0, 0, &hf_001_V1_2_020, I001_V1_2_020_PARTS, { NULL } }; static int hf_001_V1_2_030; static int hf_001_V1_2_030_Subitem; static const value_string valstr_001_V1_2_030_Subitem[] = { { 0, "No warning nor error condition" }, { 1, "Garbled reply" }, { 2, "Reflection" }, { 3, "Sidelobe reply" }, { 4, "Split plot" }, { 5, "Second time around reply" }, { 6, "Angels" }, { 7, "Terrestrial vehicles" }, { 64, "Possible wrong code in Mode-3/A" }, { 65, "Possible wrong altitude information, transmitted when the Code C credibility check fails together with the Mode-C code in binary notation" }, { 66, "Possible phantom MSSR plot" }, { 80, "Fixed PSR plot" }, { 81, "Slow PSR plot" }, { 82, "Low quality PSR plot" }, { 0, NULL } }; static const FieldPart I001_V1_2_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_001_V1_2_030_Subitem, NULL }; static const FieldPart *I001_V1_2_030_PARTS[] = { &I001_V1_2_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_2_030 = { FX, 1, 0, 0, &hf_001_V1_2_030, I001_V1_2_030_PARTS, { NULL } }; static int hf_001_V1_2_040; static int hf_001_V1_2_040_RHO; static const FieldPart I001_V1_2_040_RHO = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_V1_2_040_RHO, NULL }; static int hf_001_V1_2_040_THETA; static const FieldPart I001_V1_2_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_V1_2_040_THETA, NULL }; static const FieldPart *I001_V1_2_040_PARTS[] = { &I001_V1_2_040_RHO, &I001_V1_2_040_THETA, NULL }; static const AsterixField I001_V1_2_040 = { FIXED, 4, 0, 0, &hf_001_V1_2_040, I001_V1_2_040_PARTS, { NULL } }; static int hf_001_V1_2_042; static int hf_001_V1_2_042_X; static const FieldPart I001_V1_2_042_X = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_V1_2_042_X, NULL }; static int hf_001_V1_2_042_Y; static const FieldPart I001_V1_2_042_Y = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_V1_2_042_Y, NULL }; static const FieldPart *I001_V1_2_042_PARTS[] = { &I001_V1_2_042_X, &I001_V1_2_042_Y, NULL }; static const AsterixField I001_V1_2_042 = { FIXED, 4, 0, 0, &hf_001_V1_2_042, I001_V1_2_042_PARTS, { NULL } }; static int hf_001_V1_2_050; static int hf_001_V1_2_050_V; static const value_string valstr_001_V1_2_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_2_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_050_V, NULL }; static int hf_001_V1_2_050_G; static const value_string valstr_001_V1_2_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_2_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_050_G, NULL }; static int hf_001_V1_2_050_L; static const value_string valstr_001_V1_2_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_V1_2_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_050_L, NULL }; static int hf_001_V1_2_050_MODE2; static const FieldPart I001_V1_2_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_V1_2_050_MODE2, NULL }; static const FieldPart *I001_V1_2_050_PARTS[] = { &I001_V1_2_050_V, &I001_V1_2_050_G, &I001_V1_2_050_L, &IXXX_1bit_spare, &I001_V1_2_050_MODE2, NULL }; static const AsterixField I001_V1_2_050 = { FIXED, 2, 0, 0, &hf_001_V1_2_050, I001_V1_2_050_PARTS, { NULL } }; static int hf_001_V1_2_060; static int hf_001_V1_2_060_QA4; static const value_string valstr_001_V1_2_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QA4, NULL }; static int hf_001_V1_2_060_QA2; static const value_string valstr_001_V1_2_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QA2, NULL }; static int hf_001_V1_2_060_QA1; static const value_string valstr_001_V1_2_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QA1, NULL }; static int hf_001_V1_2_060_QB4; static const value_string valstr_001_V1_2_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QB4, NULL }; static int hf_001_V1_2_060_QB2; static const value_string valstr_001_V1_2_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QB2, NULL }; static int hf_001_V1_2_060_QB1; static const value_string valstr_001_V1_2_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QB1, NULL }; static int hf_001_V1_2_060_QC4; static const value_string valstr_001_V1_2_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QC4, NULL }; static int hf_001_V1_2_060_QC2; static const value_string valstr_001_V1_2_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QC2, NULL }; static int hf_001_V1_2_060_QC1; static const value_string valstr_001_V1_2_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QC1, NULL }; static int hf_001_V1_2_060_QD4; static const value_string valstr_001_V1_2_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QD4, NULL }; static int hf_001_V1_2_060_QD2; static const value_string valstr_001_V1_2_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QD2, NULL }; static int hf_001_V1_2_060_QD1; static const value_string valstr_001_V1_2_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_2_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_060_QD1, NULL }; static const FieldPart *I001_V1_2_060_PARTS[] = { &IXXX_4bit_spare, &I001_V1_2_060_QA4, &I001_V1_2_060_QA2, &I001_V1_2_060_QA1, &I001_V1_2_060_QB4, &I001_V1_2_060_QB2, &I001_V1_2_060_QB1, &I001_V1_2_060_QC4, &I001_V1_2_060_QC2, &I001_V1_2_060_QC1, &I001_V1_2_060_QD4, &I001_V1_2_060_QD2, &I001_V1_2_060_QD1, NULL }; static const AsterixField I001_V1_2_060 = { FIXED, 2, 0, 0, &hf_001_V1_2_060, I001_V1_2_060_PARTS, { NULL } }; static int hf_001_V1_2_070; static int hf_001_V1_2_070_V; static const value_string valstr_001_V1_2_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_2_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_070_V, NULL }; static int hf_001_V1_2_070_G; static const value_string valstr_001_V1_2_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_2_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_070_G, NULL }; static int hf_001_V1_2_070_L; static const value_string valstr_001_V1_2_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Smoothed Mode-3/A code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_V1_2_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_070_L, NULL }; static int hf_001_V1_2_070_MODE3A; static const FieldPart I001_V1_2_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_V1_2_070_MODE3A, NULL }; static const FieldPart *I001_V1_2_070_PARTS[] = { &I001_V1_2_070_V, &I001_V1_2_070_G, &I001_V1_2_070_L, &IXXX_1bit_spare, &I001_V1_2_070_MODE3A, NULL }; static const AsterixField I001_V1_2_070 = { FIXED, 2, 0, 0, &hf_001_V1_2_070, I001_V1_2_070_PARTS, { NULL } }; static int hf_001_V1_2_080; static int hf_001_V1_2_080_QA4; static const value_string valstr_001_V1_2_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QA4, NULL }; static int hf_001_V1_2_080_QA2; static const value_string valstr_001_V1_2_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QA2, NULL }; static int hf_001_V1_2_080_QA1; static const value_string valstr_001_V1_2_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QA1, NULL }; static int hf_001_V1_2_080_QB4; static const value_string valstr_001_V1_2_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QB4, NULL }; static int hf_001_V1_2_080_QB2; static const value_string valstr_001_V1_2_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QB2, NULL }; static int hf_001_V1_2_080_QB1; static const value_string valstr_001_V1_2_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QB1, NULL }; static int hf_001_V1_2_080_QC4; static const value_string valstr_001_V1_2_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QC4, NULL }; static int hf_001_V1_2_080_QC2; static const value_string valstr_001_V1_2_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QC2, NULL }; static int hf_001_V1_2_080_QC1; static const value_string valstr_001_V1_2_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QC1, NULL }; static int hf_001_V1_2_080_QD4; static const value_string valstr_001_V1_2_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QD4, NULL }; static int hf_001_V1_2_080_QD2; static const value_string valstr_001_V1_2_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QD2, NULL }; static int hf_001_V1_2_080_QD1; static const value_string valstr_001_V1_2_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_2_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_080_QD1, NULL }; static const FieldPart *I001_V1_2_080_PARTS[] = { &IXXX_4bit_spare, &I001_V1_2_080_QA4, &I001_V1_2_080_QA2, &I001_V1_2_080_QA1, &I001_V1_2_080_QB4, &I001_V1_2_080_QB2, &I001_V1_2_080_QB1, &I001_V1_2_080_QC4, &I001_V1_2_080_QC2, &I001_V1_2_080_QC1, &I001_V1_2_080_QD4, &I001_V1_2_080_QD2, &I001_V1_2_080_QD1, NULL }; static const AsterixField I001_V1_2_080 = { FIXED, 2, 0, 0, &hf_001_V1_2_080, I001_V1_2_080_PARTS, { NULL } }; static int hf_001_V1_2_090; static int hf_001_V1_2_090_V; static const value_string valstr_001_V1_2_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_2_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_090_V, NULL }; static int hf_001_V1_2_090_G; static const value_string valstr_001_V1_2_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_2_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_090_G, NULL }; static int hf_001_V1_2_090_HGT; static const FieldPart I001_V1_2_090_HGT = { 14, 0.25, FIELD_PART_FLOAT, &hf_001_V1_2_090_HGT, NULL }; static const FieldPart *I001_V1_2_090_PARTS[] = { &I001_V1_2_090_V, &I001_V1_2_090_G, &I001_V1_2_090_HGT, NULL }; static const AsterixField I001_V1_2_090 = { FIXED, 2, 0, 0, &hf_001_V1_2_090, I001_V1_2_090_PARTS, { NULL } }; static int hf_001_V1_2_100; static int hf_001_V1_2_100_V; static const value_string valstr_001_V1_2_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_V, NULL }; static int hf_001_V1_2_100_G; static const value_string valstr_001_V1_2_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_G, NULL }; static int hf_001_V1_2_100_MODEC; static const FieldPart I001_V1_2_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_001_V1_2_100_MODEC, NULL }; static int hf_001_V1_2_100_QC1; static const value_string valstr_001_V1_2_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QC1, NULL }; static int hf_001_V1_2_100_QA1; static const value_string valstr_001_V1_2_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QA1, NULL }; static int hf_001_V1_2_100_QC2; static const value_string valstr_001_V1_2_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QC2, NULL }; static int hf_001_V1_2_100_QA2; static const value_string valstr_001_V1_2_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QA2, NULL }; static int hf_001_V1_2_100_QC4; static const value_string valstr_001_V1_2_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QC4, NULL }; static int hf_001_V1_2_100_QA4; static const value_string valstr_001_V1_2_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QA4, NULL }; static int hf_001_V1_2_100_QB1; static const value_string valstr_001_V1_2_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QB1, NULL }; static int hf_001_V1_2_100_QD1; static const value_string valstr_001_V1_2_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QD1, NULL }; static int hf_001_V1_2_100_QB2; static const value_string valstr_001_V1_2_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QB2, NULL }; static int hf_001_V1_2_100_QD2; static const value_string valstr_001_V1_2_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QD2, NULL }; static int hf_001_V1_2_100_QB4; static const value_string valstr_001_V1_2_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QB4, NULL }; static int hf_001_V1_2_100_QD4; static const value_string valstr_001_V1_2_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_2_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_100_QD4, NULL }; static const FieldPart *I001_V1_2_100_PARTS[] = { &I001_V1_2_100_V, &I001_V1_2_100_G, &IXXX_2bit_spare, &I001_V1_2_100_MODEC, &IXXX_4bit_spare, &I001_V1_2_100_QC1, &I001_V1_2_100_QA1, &I001_V1_2_100_QC2, &I001_V1_2_100_QA2, &I001_V1_2_100_QC4, &I001_V1_2_100_QA4, &I001_V1_2_100_QB1, &I001_V1_2_100_QD1, &I001_V1_2_100_QB2, &I001_V1_2_100_QD2, &I001_V1_2_100_QB4, &I001_V1_2_100_QD4, NULL }; static const AsterixField I001_V1_2_100 = { FIXED, 4, 0, 0, &hf_001_V1_2_100, I001_V1_2_100_PARTS, { NULL } }; static int hf_001_V1_2_120; static int hf_001_V1_2_120_VALUE; static const FieldPart I001_V1_2_120_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_001_V1_2_120_VALUE, NULL }; static const FieldPart *I001_V1_2_120_PARTS[] = { &I001_V1_2_120_VALUE, NULL }; static const AsterixField I001_V1_2_120 = { FIXED, 1, 0, 0, &hf_001_V1_2_120, I001_V1_2_120_PARTS, { NULL } }; static int hf_001_V1_2_130; static int hf_001_V1_2_130_Subitem; static const FieldPart I001_V1_2_130_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_V1_2_130_Subitem, NULL }; static const FieldPart *I001_V1_2_130_PARTS[] = { &I001_V1_2_130_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_2_130 = { FX, 1, 0, 0, &hf_001_V1_2_130, I001_V1_2_130_PARTS, { NULL } }; static int hf_001_V1_2_131; static int hf_001_V1_2_131_VALUE; static const FieldPart I001_V1_2_131_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_001_V1_2_131_VALUE, NULL }; static const FieldPart *I001_V1_2_131_PARTS[] = { &I001_V1_2_131_VALUE, NULL }; static const AsterixField I001_V1_2_131 = { FIXED, 1, 0, 0, &hf_001_V1_2_131, I001_V1_2_131_PARTS, { NULL } }; static int hf_001_V1_2_141; static int hf_001_V1_2_141_VALUE; static const FieldPart I001_V1_2_141_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_V1_2_141_VALUE, NULL }; static const FieldPart *I001_V1_2_141_PARTS[] = { &I001_V1_2_141_VALUE, NULL }; static const AsterixField I001_V1_2_141 = { FIXED, 2, 0, 0, &hf_001_V1_2_141, I001_V1_2_141_PARTS, { NULL } }; static int hf_001_V1_2_150; static int hf_001_V1_2_150_XA; static const value_string valstr_001_V1_2_150_XA[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-3/A reply" }, { 0, NULL } }; static const FieldPart I001_V1_2_150_XA = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_150_XA, NULL }; static int hf_001_V1_2_150_XC; static const value_string valstr_001_V1_2_150_XC[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-C reply" }, { 0, NULL } }; static const FieldPart I001_V1_2_150_XC = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_150_XC, NULL }; static int hf_001_V1_2_150_X2; static const value_string valstr_001_V1_2_150_X2[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-2 reply" }, { 0, NULL } }; static const FieldPart I001_V1_2_150_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_150_X2, NULL }; static const FieldPart *I001_V1_2_150_PARTS[] = { &I001_V1_2_150_XA, &IXXX_1bit_spare, &I001_V1_2_150_XC, &IXXX_2bit_spare, &I001_V1_2_150_X2, &IXXX_2bit_spare, NULL }; static const AsterixField I001_V1_2_150 = { FIXED, 1, 0, 0, &hf_001_V1_2_150, I001_V1_2_150_PARTS, { NULL } }; static int hf_001_V1_2_161; static int hf_001_V1_2_161_VALUE; static const FieldPart I001_V1_2_161_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_001_V1_2_161_VALUE, NULL }; static const FieldPart *I001_V1_2_161_PARTS[] = { &I001_V1_2_161_VALUE, NULL }; static const AsterixField I001_V1_2_161 = { FIXED, 2, 0, 0, &hf_001_V1_2_161, I001_V1_2_161_PARTS, { NULL } }; static int hf_001_V1_2_170; static int hf_001_V1_2_170_CON; static const value_string valstr_001_V1_2_170_CON[] = { { 0, "Confirmed Track" }, { 1, "Track in initialisation phase" }, { 0, NULL } }; static const FieldPart I001_V1_2_170_CON = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_170_CON, NULL }; static int hf_001_V1_2_170_RAD; static const value_string valstr_001_V1_2_170_RAD[] = { { 0, "Primary track" }, { 1, "SSR/Combined track" }, { 0, NULL } }; static const FieldPart I001_V1_2_170_RAD = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_170_RAD, NULL }; static int hf_001_V1_2_170_MAN; static const value_string valstr_001_V1_2_170_MAN[] = { { 0, "Default" }, { 1, "Aircraft manoeuvring" }, { 0, NULL } }; static const FieldPart I001_V1_2_170_MAN = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_170_MAN, NULL }; static int hf_001_V1_2_170_DOU; static const value_string valstr_001_V1_2_170_DOU[] = { { 0, "Default" }, { 1, "Doubtful plot to track association" }, { 0, NULL } }; static const FieldPart I001_V1_2_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_170_DOU, NULL }; static int hf_001_V1_2_170_RDPC; static const value_string valstr_001_V1_2_170_RDPC[] = { { 0, "RDP Chain 1" }, { 1, "RDP Chain 2" }, { 0, NULL } }; static const FieldPart I001_V1_2_170_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_170_RDPC, NULL }; static int hf_001_V1_2_170_GHO; static const value_string valstr_001_V1_2_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I001_V1_2_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_170_GHO, NULL }; static int hf_001_V1_2_170_TRE; static const value_string valstr_001_V1_2_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I001_V1_2_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_2_170_TRE, NULL }; static const FieldPart *I001_V1_2_170_PARTS[] = { &I001_V1_2_170_CON, &I001_V1_2_170_RAD, &I001_V1_2_170_MAN, &I001_V1_2_170_DOU, &I001_V1_2_170_RDPC, &IXXX_1bit_spare, &I001_V1_2_170_GHO, &IXXX_FX, &I001_V1_2_170_TRE, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_V1_2_170 = { FX, 1, 0, 0, &hf_001_V1_2_170, I001_V1_2_170_PARTS, { NULL } }; static int hf_001_V1_2_200; static int hf_001_V1_2_200_GSP; static const FieldPart I001_V1_2_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_001_V1_2_200_GSP, NULL }; static int hf_001_V1_2_200_HDG; static const FieldPart I001_V1_2_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_V1_2_200_HDG, NULL }; static const FieldPart *I001_V1_2_200_PARTS[] = { &I001_V1_2_200_GSP, &I001_V1_2_200_HDG, NULL }; static const AsterixField I001_V1_2_200 = { FIXED, 4, 0, 0, &hf_001_V1_2_200, I001_V1_2_200_PARTS, { NULL } }; static int hf_001_V1_2_210; static int hf_001_V1_2_210_Subitem; static const FieldPart I001_V1_2_210_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_V1_2_210_Subitem, NULL }; static const FieldPart *I001_V1_2_210_PARTS[] = { &I001_V1_2_210_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_2_210 = { FX, 1, 0, 0, &hf_001_V1_2_210, I001_V1_2_210_PARTS, { NULL } }; static int hf_001_V1_2_SP; static const AsterixField I001_V1_2_SP = { EXP, 0, 0, 1, &hf_001_V1_2_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I001_V1_2_plot[] = { &I001_V1_2_010, &I001_V1_2_020, &I001_V1_2_040, &I001_V1_2_070, &I001_V1_2_090, &I001_V1_2_130, &I001_V1_2_141, &I001_V1_2_050, &I001_V1_2_120, &I001_V1_2_131, &I001_V1_2_080, &I001_V1_2_100, &I001_V1_2_060, &I001_V1_2_030, &I001_V1_2_150, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I001_V1_2_SP, NULL }; static const AsterixField *I001_V1_2_track[] = { &I001_V1_2_010, &I001_V1_2_020, &I001_V1_2_161, &I001_V1_2_040, &I001_V1_2_042, &I001_V1_2_200, &I001_V1_2_070, &I001_V1_2_090, &I001_V1_2_141, &I001_V1_2_130, &I001_V1_2_131, &I001_V1_2_120, &I001_V1_2_170, &I001_V1_2_210, &I001_V1_2_050, &I001_V1_2_080, &I001_V1_2_100, &I001_V1_2_060, &I001_V1_2_030, &I001_V1_2_SP, &IX_SPARE, &I001_V1_2_150, NULL }; static const AsterixField **I001_V1_2[] = { I001_V1_2_plot, I001_V1_2_track, NULL }; DIAG_ON_PEDANTIC /* Category 001, edition 1.3 */ static int hf_001_V1_3_010; static int hf_001_V1_3_010_SAC; static const FieldPart I001_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_001_V1_3_010_SAC, NULL }; static int hf_001_V1_3_010_SIC; static const FieldPart I001_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_001_V1_3_010_SIC, NULL }; static const FieldPart *I001_V1_3_010_PARTS[] = { &I001_V1_3_010_SAC, &I001_V1_3_010_SIC, NULL }; static const AsterixField I001_V1_3_010 = { FIXED, 2, 0, 0, &hf_001_V1_3_010, I001_V1_3_010_PARTS, { NULL } }; static int hf_001_V1_3_020; static int hf_001_V1_3_020_TYP; static const value_string valstr_001_V1_3_020_TYP[] = { { 0, "Plot" }, { 1, "Track" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_TYP = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_TYP, NULL }; static int hf_001_V1_3_020_SIM; static const value_string valstr_001_V1_3_020_SIM[] = { { 0, "Actual plot or track" }, { 1, "Simulated plot or track" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_SIM, NULL }; static int hf_001_V1_3_020_SSRPSR; static const value_string valstr_001_V1_3_020_SSRPSR[] = { { 0, "No detection" }, { 1, "Sole primary detection" }, { 2, "Sole secondary detection" }, { 3, "Combined primary and secondary detection" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_SSRPSR = { 2, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_SSRPSR, NULL }; static int hf_001_V1_3_020_ANT; static const value_string valstr_001_V1_3_020_ANT[] = { { 0, "Target report from antenna 1" }, { 1, "Target report from antenna 2" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_ANT, NULL }; static int hf_001_V1_3_020_SPI; static const value_string valstr_001_V1_3_020_SPI[] = { { 0, "Default" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_SPI, NULL }; static int hf_001_V1_3_020_RAB; static const value_string valstr_001_V1_3_020_RAB[] = { { 0, "Default" }, { 1, "Plot or track from a fixed transponder" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_RAB, NULL }; static int hf_001_V1_3_020_TST; static const value_string valstr_001_V1_3_020_TST[] = { { 0, "Default" }, { 1, "Test target indicator" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_TST, NULL }; static int hf_001_V1_3_020_DS1DS2; static const value_string valstr_001_V1_3_020_DS1DS2[] = { { 0, "Default" }, { 1, "Unlawful interference (code 7500)" }, { 2, "Radio-communication failure (code 7600)" }, { 3, "Emergency (code 7700)" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_DS1DS2 = { 2, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_DS1DS2, NULL }; static int hf_001_V1_3_020_ME; static const value_string valstr_001_V1_3_020_ME[] = { { 0, "Default" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_ME, NULL }; static int hf_001_V1_3_020_MI; static const value_string valstr_001_V1_3_020_MI[] = { { 0, "Default" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I001_V1_3_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_020_MI, NULL }; static const FieldPart *I001_V1_3_020_PARTS[] = { &I001_V1_3_020_TYP, &I001_V1_3_020_SIM, &I001_V1_3_020_SSRPSR, &I001_V1_3_020_ANT, &I001_V1_3_020_SPI, &I001_V1_3_020_RAB, &IXXX_FX, &I001_V1_3_020_TST, &I001_V1_3_020_DS1DS2, &I001_V1_3_020_ME, &I001_V1_3_020_MI, &IXXX_2bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_V1_3_020 = { FX, 1, 0, 0, &hf_001_V1_3_020, I001_V1_3_020_PARTS, { NULL } }; static int hf_001_V1_3_030; static int hf_001_V1_3_030_Subitem; static const value_string valstr_001_V1_3_030_Subitem[] = { { 0, "No warning nor error condition" }, { 1, "Garbled reply" }, { 2, "Reflection" }, { 3, "Sidelobe reply" }, { 4, "Split plot" }, { 5, "Second time around reply" }, { 6, "Angels" }, { 7, "Terrestrial vehicles" }, { 64, "Possible wrong code in Mode-3/A" }, { 65, "Possible wrong altitude information, transmitted when the Code C credibility check fails together with the Mode-C code in binary notation" }, { 66, "Possible phantom MSSR plot" }, { 80, "Fixed PSR plot" }, { 81, "Slow PSR plot" }, { 82, "Low quality PSR plot" }, { 0, NULL } }; static const FieldPart I001_V1_3_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_001_V1_3_030_Subitem, NULL }; static const FieldPart *I001_V1_3_030_PARTS[] = { &I001_V1_3_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_3_030 = { FX, 1, 0, 0, &hf_001_V1_3_030, I001_V1_3_030_PARTS, { NULL } }; static int hf_001_V1_3_040; static int hf_001_V1_3_040_RHO; static const FieldPart I001_V1_3_040_RHO = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_V1_3_040_RHO, NULL }; static int hf_001_V1_3_040_THETA; static const FieldPart I001_V1_3_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_V1_3_040_THETA, NULL }; static const FieldPart *I001_V1_3_040_PARTS[] = { &I001_V1_3_040_RHO, &I001_V1_3_040_THETA, NULL }; static const AsterixField I001_V1_3_040 = { FIXED, 4, 0, 0, &hf_001_V1_3_040, I001_V1_3_040_PARTS, { NULL } }; static int hf_001_V1_3_042; static int hf_001_V1_3_042_X; static const FieldPart I001_V1_3_042_X = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_V1_3_042_X, NULL }; static int hf_001_V1_3_042_Y; static const FieldPart I001_V1_3_042_Y = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_V1_3_042_Y, NULL }; static const FieldPart *I001_V1_3_042_PARTS[] = { &I001_V1_3_042_X, &I001_V1_3_042_Y, NULL }; static const AsterixField I001_V1_3_042 = { FIXED, 4, 0, 0, &hf_001_V1_3_042, I001_V1_3_042_PARTS, { NULL } }; static int hf_001_V1_3_050; static int hf_001_V1_3_050_V; static const value_string valstr_001_V1_3_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_3_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_050_V, NULL }; static int hf_001_V1_3_050_G; static const value_string valstr_001_V1_3_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_3_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_050_G, NULL }; static int hf_001_V1_3_050_L; static const value_string valstr_001_V1_3_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_V1_3_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_050_L, NULL }; static int hf_001_V1_3_050_MODE2; static const FieldPart I001_V1_3_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_V1_3_050_MODE2, NULL }; static const FieldPart *I001_V1_3_050_PARTS[] = { &I001_V1_3_050_V, &I001_V1_3_050_G, &I001_V1_3_050_L, &IXXX_1bit_spare, &I001_V1_3_050_MODE2, NULL }; static const AsterixField I001_V1_3_050 = { FIXED, 2, 0, 0, &hf_001_V1_3_050, I001_V1_3_050_PARTS, { NULL } }; static int hf_001_V1_3_060; static int hf_001_V1_3_060_QA4; static const value_string valstr_001_V1_3_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QA4, NULL }; static int hf_001_V1_3_060_QA2; static const value_string valstr_001_V1_3_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QA2, NULL }; static int hf_001_V1_3_060_QA1; static const value_string valstr_001_V1_3_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QA1, NULL }; static int hf_001_V1_3_060_QB4; static const value_string valstr_001_V1_3_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QB4, NULL }; static int hf_001_V1_3_060_QB2; static const value_string valstr_001_V1_3_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QB2, NULL }; static int hf_001_V1_3_060_QB1; static const value_string valstr_001_V1_3_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QB1, NULL }; static int hf_001_V1_3_060_QC4; static const value_string valstr_001_V1_3_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QC4, NULL }; static int hf_001_V1_3_060_QC2; static const value_string valstr_001_V1_3_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QC2, NULL }; static int hf_001_V1_3_060_QC1; static const value_string valstr_001_V1_3_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QC1, NULL }; static int hf_001_V1_3_060_QD4; static const value_string valstr_001_V1_3_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QD4, NULL }; static int hf_001_V1_3_060_QD2; static const value_string valstr_001_V1_3_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QD2, NULL }; static int hf_001_V1_3_060_QD1; static const value_string valstr_001_V1_3_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_3_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_060_QD1, NULL }; static const FieldPart *I001_V1_3_060_PARTS[] = { &IXXX_4bit_spare, &I001_V1_3_060_QA4, &I001_V1_3_060_QA2, &I001_V1_3_060_QA1, &I001_V1_3_060_QB4, &I001_V1_3_060_QB2, &I001_V1_3_060_QB1, &I001_V1_3_060_QC4, &I001_V1_3_060_QC2, &I001_V1_3_060_QC1, &I001_V1_3_060_QD4, &I001_V1_3_060_QD2, &I001_V1_3_060_QD1, NULL }; static const AsterixField I001_V1_3_060 = { FIXED, 2, 0, 0, &hf_001_V1_3_060, I001_V1_3_060_PARTS, { NULL } }; static int hf_001_V1_3_070; static int hf_001_V1_3_070_V; static const value_string valstr_001_V1_3_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_3_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_070_V, NULL }; static int hf_001_V1_3_070_G; static const value_string valstr_001_V1_3_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_3_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_070_G, NULL }; static int hf_001_V1_3_070_L; static const value_string valstr_001_V1_3_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Smoothed Mode-3/A code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_V1_3_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_070_L, NULL }; static int hf_001_V1_3_070_MODE3A; static const FieldPart I001_V1_3_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_V1_3_070_MODE3A, NULL }; static const FieldPart *I001_V1_3_070_PARTS[] = { &I001_V1_3_070_V, &I001_V1_3_070_G, &I001_V1_3_070_L, &IXXX_1bit_spare, &I001_V1_3_070_MODE3A, NULL }; static const AsterixField I001_V1_3_070 = { FIXED, 2, 0, 0, &hf_001_V1_3_070, I001_V1_3_070_PARTS, { NULL } }; static int hf_001_V1_3_080; static int hf_001_V1_3_080_QA4; static const value_string valstr_001_V1_3_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QA4, NULL }; static int hf_001_V1_3_080_QA2; static const value_string valstr_001_V1_3_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QA2, NULL }; static int hf_001_V1_3_080_QA1; static const value_string valstr_001_V1_3_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QA1, NULL }; static int hf_001_V1_3_080_QB4; static const value_string valstr_001_V1_3_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QB4, NULL }; static int hf_001_V1_3_080_QB2; static const value_string valstr_001_V1_3_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QB2, NULL }; static int hf_001_V1_3_080_QB1; static const value_string valstr_001_V1_3_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QB1, NULL }; static int hf_001_V1_3_080_QC4; static const value_string valstr_001_V1_3_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QC4, NULL }; static int hf_001_V1_3_080_QC2; static const value_string valstr_001_V1_3_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QC2, NULL }; static int hf_001_V1_3_080_QC1; static const value_string valstr_001_V1_3_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QC1, NULL }; static int hf_001_V1_3_080_QD4; static const value_string valstr_001_V1_3_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QD4, NULL }; static int hf_001_V1_3_080_QD2; static const value_string valstr_001_V1_3_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QD2, NULL }; static int hf_001_V1_3_080_QD1; static const value_string valstr_001_V1_3_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_3_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_080_QD1, NULL }; static const FieldPart *I001_V1_3_080_PARTS[] = { &IXXX_4bit_spare, &I001_V1_3_080_QA4, &I001_V1_3_080_QA2, &I001_V1_3_080_QA1, &I001_V1_3_080_QB4, &I001_V1_3_080_QB2, &I001_V1_3_080_QB1, &I001_V1_3_080_QC4, &I001_V1_3_080_QC2, &I001_V1_3_080_QC1, &I001_V1_3_080_QD4, &I001_V1_3_080_QD2, &I001_V1_3_080_QD1, NULL }; static const AsterixField I001_V1_3_080 = { FIXED, 2, 0, 0, &hf_001_V1_3_080, I001_V1_3_080_PARTS, { NULL } }; static int hf_001_V1_3_090; static int hf_001_V1_3_090_V; static const value_string valstr_001_V1_3_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_3_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_090_V, NULL }; static int hf_001_V1_3_090_G; static const value_string valstr_001_V1_3_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_3_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_090_G, NULL }; static int hf_001_V1_3_090_HGT; static const FieldPart I001_V1_3_090_HGT = { 14, 0.25, FIELD_PART_FLOAT, &hf_001_V1_3_090_HGT, NULL }; static const FieldPart *I001_V1_3_090_PARTS[] = { &I001_V1_3_090_V, &I001_V1_3_090_G, &I001_V1_3_090_HGT, NULL }; static const AsterixField I001_V1_3_090 = { FIXED, 2, 0, 0, &hf_001_V1_3_090, I001_V1_3_090_PARTS, { NULL } }; static int hf_001_V1_3_100; static int hf_001_V1_3_100_V; static const value_string valstr_001_V1_3_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_V, NULL }; static int hf_001_V1_3_100_G; static const value_string valstr_001_V1_3_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_G, NULL }; static int hf_001_V1_3_100_MODEC; static const FieldPart I001_V1_3_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_001_V1_3_100_MODEC, NULL }; static int hf_001_V1_3_100_QC1; static const value_string valstr_001_V1_3_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QC1, NULL }; static int hf_001_V1_3_100_QA1; static const value_string valstr_001_V1_3_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QA1, NULL }; static int hf_001_V1_3_100_QC2; static const value_string valstr_001_V1_3_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QC2, NULL }; static int hf_001_V1_3_100_QA2; static const value_string valstr_001_V1_3_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QA2, NULL }; static int hf_001_V1_3_100_QC4; static const value_string valstr_001_V1_3_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QC4, NULL }; static int hf_001_V1_3_100_QA4; static const value_string valstr_001_V1_3_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QA4, NULL }; static int hf_001_V1_3_100_QB1; static const value_string valstr_001_V1_3_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QB1, NULL }; static int hf_001_V1_3_100_QD1; static const value_string valstr_001_V1_3_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QD1, NULL }; static int hf_001_V1_3_100_QB2; static const value_string valstr_001_V1_3_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QB2, NULL }; static int hf_001_V1_3_100_QD2; static const value_string valstr_001_V1_3_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QD2, NULL }; static int hf_001_V1_3_100_QB4; static const value_string valstr_001_V1_3_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QB4, NULL }; static int hf_001_V1_3_100_QD4; static const value_string valstr_001_V1_3_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_3_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_100_QD4, NULL }; static const FieldPart *I001_V1_3_100_PARTS[] = { &I001_V1_3_100_V, &I001_V1_3_100_G, &IXXX_2bit_spare, &I001_V1_3_100_MODEC, &IXXX_4bit_spare, &I001_V1_3_100_QC1, &I001_V1_3_100_QA1, &I001_V1_3_100_QC2, &I001_V1_3_100_QA2, &I001_V1_3_100_QC4, &I001_V1_3_100_QA4, &I001_V1_3_100_QB1, &I001_V1_3_100_QD1, &I001_V1_3_100_QB2, &I001_V1_3_100_QD2, &I001_V1_3_100_QB4, &I001_V1_3_100_QD4, NULL }; static const AsterixField I001_V1_3_100 = { FIXED, 4, 0, 0, &hf_001_V1_3_100, I001_V1_3_100_PARTS, { NULL } }; static int hf_001_V1_3_120; static int hf_001_V1_3_120_VALUE; static const FieldPart I001_V1_3_120_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_001_V1_3_120_VALUE, NULL }; static const FieldPart *I001_V1_3_120_PARTS[] = { &I001_V1_3_120_VALUE, NULL }; static const AsterixField I001_V1_3_120 = { FIXED, 1, 0, 0, &hf_001_V1_3_120, I001_V1_3_120_PARTS, { NULL } }; static int hf_001_V1_3_130; static int hf_001_V1_3_130_Subitem; static const FieldPart I001_V1_3_130_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_V1_3_130_Subitem, NULL }; static const FieldPart *I001_V1_3_130_PARTS[] = { &I001_V1_3_130_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_3_130 = { FX, 1, 0, 0, &hf_001_V1_3_130, I001_V1_3_130_PARTS, { NULL } }; static int hf_001_V1_3_131; static int hf_001_V1_3_131_VALUE; static const FieldPart I001_V1_3_131_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_001_V1_3_131_VALUE, NULL }; static const FieldPart *I001_V1_3_131_PARTS[] = { &I001_V1_3_131_VALUE, NULL }; static const AsterixField I001_V1_3_131 = { FIXED, 1, 0, 0, &hf_001_V1_3_131, I001_V1_3_131_PARTS, { NULL } }; static int hf_001_V1_3_141; static int hf_001_V1_3_141_VALUE; static const FieldPart I001_V1_3_141_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_V1_3_141_VALUE, NULL }; static const FieldPart *I001_V1_3_141_PARTS[] = { &I001_V1_3_141_VALUE, NULL }; static const AsterixField I001_V1_3_141 = { FIXED, 2, 0, 0, &hf_001_V1_3_141, I001_V1_3_141_PARTS, { NULL } }; static int hf_001_V1_3_150; static int hf_001_V1_3_150_XA; static const value_string valstr_001_V1_3_150_XA[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-3/A reply" }, { 0, NULL } }; static const FieldPart I001_V1_3_150_XA = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_150_XA, NULL }; static int hf_001_V1_3_150_XC; static const value_string valstr_001_V1_3_150_XC[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-C reply" }, { 0, NULL } }; static const FieldPart I001_V1_3_150_XC = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_150_XC, NULL }; static int hf_001_V1_3_150_X2; static const value_string valstr_001_V1_3_150_X2[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-2 reply" }, { 0, NULL } }; static const FieldPart I001_V1_3_150_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_150_X2, NULL }; static const FieldPart *I001_V1_3_150_PARTS[] = { &I001_V1_3_150_XA, &IXXX_1bit_spare, &I001_V1_3_150_XC, &IXXX_2bit_spare, &I001_V1_3_150_X2, &IXXX_2bit_spare, NULL }; static const AsterixField I001_V1_3_150 = { FIXED, 1, 0, 0, &hf_001_V1_3_150, I001_V1_3_150_PARTS, { NULL } }; static int hf_001_V1_3_161; static int hf_001_V1_3_161_VALUE; static const FieldPart I001_V1_3_161_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_001_V1_3_161_VALUE, NULL }; static const FieldPart *I001_V1_3_161_PARTS[] = { &I001_V1_3_161_VALUE, NULL }; static const AsterixField I001_V1_3_161 = { FIXED, 2, 0, 0, &hf_001_V1_3_161, I001_V1_3_161_PARTS, { NULL } }; static int hf_001_V1_3_170; static int hf_001_V1_3_170_CON; static const value_string valstr_001_V1_3_170_CON[] = { { 0, "Confirmed Track" }, { 1, "Track in initialisation phase" }, { 0, NULL } }; static const FieldPart I001_V1_3_170_CON = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_170_CON, NULL }; static int hf_001_V1_3_170_RAD; static const value_string valstr_001_V1_3_170_RAD[] = { { 0, "Primary track" }, { 1, "SSR/Combined track" }, { 0, NULL } }; static const FieldPart I001_V1_3_170_RAD = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_170_RAD, NULL }; static int hf_001_V1_3_170_MAN; static const value_string valstr_001_V1_3_170_MAN[] = { { 0, "Default" }, { 1, "Aircraft manoeuvring" }, { 0, NULL } }; static const FieldPart I001_V1_3_170_MAN = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_170_MAN, NULL }; static int hf_001_V1_3_170_DOU; static const value_string valstr_001_V1_3_170_DOU[] = { { 0, "Default" }, { 1, "Doubtful plot to track association" }, { 0, NULL } }; static const FieldPart I001_V1_3_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_170_DOU, NULL }; static int hf_001_V1_3_170_RDPC; static const value_string valstr_001_V1_3_170_RDPC[] = { { 0, "RDP Chain 1" }, { 1, "RDP Chain 2" }, { 0, NULL } }; static const FieldPart I001_V1_3_170_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_170_RDPC, NULL }; static int hf_001_V1_3_170_GHO; static const value_string valstr_001_V1_3_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I001_V1_3_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_170_GHO, NULL }; static int hf_001_V1_3_170_TRE; static const value_string valstr_001_V1_3_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I001_V1_3_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_3_170_TRE, NULL }; static const FieldPart *I001_V1_3_170_PARTS[] = { &I001_V1_3_170_CON, &I001_V1_3_170_RAD, &I001_V1_3_170_MAN, &I001_V1_3_170_DOU, &I001_V1_3_170_RDPC, &IXXX_1bit_spare, &I001_V1_3_170_GHO, &IXXX_FX, &I001_V1_3_170_TRE, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_V1_3_170 = { FX, 1, 0, 0, &hf_001_V1_3_170, I001_V1_3_170_PARTS, { NULL } }; static int hf_001_V1_3_200; static int hf_001_V1_3_200_GSP; static const FieldPart I001_V1_3_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_001_V1_3_200_GSP, NULL }; static int hf_001_V1_3_200_HDG; static const FieldPart I001_V1_3_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_V1_3_200_HDG, NULL }; static const FieldPart *I001_V1_3_200_PARTS[] = { &I001_V1_3_200_GSP, &I001_V1_3_200_HDG, NULL }; static const AsterixField I001_V1_3_200 = { FIXED, 4, 0, 0, &hf_001_V1_3_200, I001_V1_3_200_PARTS, { NULL } }; static int hf_001_V1_3_210; static int hf_001_V1_3_210_Subitem; static const FieldPart I001_V1_3_210_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_V1_3_210_Subitem, NULL }; static const FieldPart *I001_V1_3_210_PARTS[] = { &I001_V1_3_210_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_3_210 = { FX, 1, 0, 0, &hf_001_V1_3_210, I001_V1_3_210_PARTS, { NULL } }; static int hf_001_V1_3_SP; static const AsterixField I001_V1_3_SP = { EXP, 0, 0, 1, &hf_001_V1_3_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I001_V1_3_plot[] = { &I001_V1_3_010, &I001_V1_3_020, &I001_V1_3_040, &I001_V1_3_070, &I001_V1_3_090, &I001_V1_3_130, &I001_V1_3_141, &I001_V1_3_050, &I001_V1_3_120, &I001_V1_3_131, &I001_V1_3_080, &I001_V1_3_100, &I001_V1_3_060, &I001_V1_3_030, &I001_V1_3_150, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I001_V1_3_SP, NULL }; static const AsterixField *I001_V1_3_track[] = { &I001_V1_3_010, &I001_V1_3_020, &I001_V1_3_161, &I001_V1_3_040, &I001_V1_3_042, &I001_V1_3_200, &I001_V1_3_070, &I001_V1_3_090, &I001_V1_3_141, &I001_V1_3_130, &I001_V1_3_131, &I001_V1_3_120, &I001_V1_3_170, &I001_V1_3_210, &I001_V1_3_050, &I001_V1_3_080, &I001_V1_3_100, &I001_V1_3_060, &I001_V1_3_030, &I001_V1_3_SP, &IX_SPARE, &I001_V1_3_150, NULL }; static const AsterixField **I001_V1_3[] = { I001_V1_3_plot, I001_V1_3_track, NULL }; DIAG_ON_PEDANTIC /* Category 001, edition 1.4 */ static int hf_001_V1_4_010; static int hf_001_V1_4_010_SAC; static const FieldPart I001_V1_4_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_001_V1_4_010_SAC, NULL }; static int hf_001_V1_4_010_SIC; static const FieldPart I001_V1_4_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_001_V1_4_010_SIC, NULL }; static const FieldPart *I001_V1_4_010_PARTS[] = { &I001_V1_4_010_SAC, &I001_V1_4_010_SIC, NULL }; static const AsterixField I001_V1_4_010 = { FIXED, 2, 0, 0, &hf_001_V1_4_010, I001_V1_4_010_PARTS, { NULL } }; static int hf_001_V1_4_020; static int hf_001_V1_4_020_TYP; static const value_string valstr_001_V1_4_020_TYP[] = { { 0, "Plot" }, { 1, "Track" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_TYP = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_TYP, NULL }; static int hf_001_V1_4_020_SIM; static const value_string valstr_001_V1_4_020_SIM[] = { { 0, "Actual plot or track" }, { 1, "Simulated plot or track" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_SIM, NULL }; static int hf_001_V1_4_020_SSRPSR; static const value_string valstr_001_V1_4_020_SSRPSR[] = { { 0, "No detection" }, { 1, "Sole primary detection" }, { 2, "Sole secondary detection" }, { 3, "Combined primary and secondary detection" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_SSRPSR = { 2, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_SSRPSR, NULL }; static int hf_001_V1_4_020_ANT; static const value_string valstr_001_V1_4_020_ANT[] = { { 0, "Target report from antenna 1" }, { 1, "Target report from antenna 2" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_ANT, NULL }; static int hf_001_V1_4_020_SPI; static const value_string valstr_001_V1_4_020_SPI[] = { { 0, "Default" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_SPI, NULL }; static int hf_001_V1_4_020_RAB; static const value_string valstr_001_V1_4_020_RAB[] = { { 0, "Default" }, { 1, "Plot or track from a fixed transponder" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_RAB, NULL }; static int hf_001_V1_4_020_TST; static const value_string valstr_001_V1_4_020_TST[] = { { 0, "Default" }, { 1, "Test target indicator" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_TST, NULL }; static int hf_001_V1_4_020_DS1DS2; static const value_string valstr_001_V1_4_020_DS1DS2[] = { { 0, "Default" }, { 1, "Unlawful interference (code 7500)" }, { 2, "Radio-communication failure (code 7600)" }, { 3, "Emergency (code 7700)" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_DS1DS2 = { 2, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_DS1DS2, NULL }; static int hf_001_V1_4_020_ME; static const value_string valstr_001_V1_4_020_ME[] = { { 0, "Default" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_ME, NULL }; static int hf_001_V1_4_020_MI; static const value_string valstr_001_V1_4_020_MI[] = { { 0, "Default" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I001_V1_4_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_020_MI, NULL }; static const FieldPart *I001_V1_4_020_PARTS[] = { &I001_V1_4_020_TYP, &I001_V1_4_020_SIM, &I001_V1_4_020_SSRPSR, &I001_V1_4_020_ANT, &I001_V1_4_020_SPI, &I001_V1_4_020_RAB, &IXXX_FX, &I001_V1_4_020_TST, &I001_V1_4_020_DS1DS2, &I001_V1_4_020_ME, &I001_V1_4_020_MI, &IXXX_2bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_V1_4_020 = { FX, 1, 0, 0, &hf_001_V1_4_020, I001_V1_4_020_PARTS, { NULL } }; static int hf_001_V1_4_030; static int hf_001_V1_4_030_Subitem; static const value_string valstr_001_V1_4_030_Subitem[] = { { 0, "No warning nor error condition" }, { 1, "Garbled reply" }, { 2, "Reflection" }, { 3, "Sidelobe reply" }, { 4, "Split plot" }, { 5, "Second time around reply" }, { 6, "Angels" }, { 7, "Terrestrial vehicles" }, { 64, "Possible wrong code in Mode-3/A" }, { 65, "Possible wrong altitude information, transmitted when the Code C credibility check fails together with the Mode-C code in binary notation" }, { 66, "Possible phantom MSSR plot" }, { 80, "Fixed PSR plot" }, { 81, "Slow PSR plot" }, { 82, "Low quality PSR plot" }, { 0, NULL } }; static const FieldPart I001_V1_4_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_001_V1_4_030_Subitem, NULL }; static const FieldPart *I001_V1_4_030_PARTS[] = { &I001_V1_4_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_4_030 = { FX, 1, 0, 0, &hf_001_V1_4_030, I001_V1_4_030_PARTS, { NULL } }; static int hf_001_V1_4_040; static int hf_001_V1_4_040_RHO; static const FieldPart I001_V1_4_040_RHO = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_V1_4_040_RHO, NULL }; static int hf_001_V1_4_040_THETA; static const FieldPart I001_V1_4_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_V1_4_040_THETA, NULL }; static const FieldPart *I001_V1_4_040_PARTS[] = { &I001_V1_4_040_RHO, &I001_V1_4_040_THETA, NULL }; static const AsterixField I001_V1_4_040 = { FIXED, 4, 0, 0, &hf_001_V1_4_040, I001_V1_4_040_PARTS, { NULL } }; static int hf_001_V1_4_042; static int hf_001_V1_4_042_X; static const FieldPart I001_V1_4_042_X = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_V1_4_042_X, NULL }; static int hf_001_V1_4_042_Y; static const FieldPart I001_V1_4_042_Y = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_V1_4_042_Y, NULL }; static const FieldPart *I001_V1_4_042_PARTS[] = { &I001_V1_4_042_X, &I001_V1_4_042_Y, NULL }; static const AsterixField I001_V1_4_042 = { FIXED, 4, 0, 0, &hf_001_V1_4_042, I001_V1_4_042_PARTS, { NULL } }; static int hf_001_V1_4_050; static int hf_001_V1_4_050_V; static const value_string valstr_001_V1_4_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_4_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_050_V, NULL }; static int hf_001_V1_4_050_G; static const value_string valstr_001_V1_4_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_4_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_050_G, NULL }; static int hf_001_V1_4_050_L; static const value_string valstr_001_V1_4_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_V1_4_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_050_L, NULL }; static int hf_001_V1_4_050_MODE2; static const FieldPart I001_V1_4_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_V1_4_050_MODE2, NULL }; static const FieldPart *I001_V1_4_050_PARTS[] = { &I001_V1_4_050_V, &I001_V1_4_050_G, &I001_V1_4_050_L, &IXXX_1bit_spare, &I001_V1_4_050_MODE2, NULL }; static const AsterixField I001_V1_4_050 = { FIXED, 2, 0, 0, &hf_001_V1_4_050, I001_V1_4_050_PARTS, { NULL } }; static int hf_001_V1_4_060; static int hf_001_V1_4_060_QA4; static const value_string valstr_001_V1_4_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QA4, NULL }; static int hf_001_V1_4_060_QA2; static const value_string valstr_001_V1_4_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QA2, NULL }; static int hf_001_V1_4_060_QA1; static const value_string valstr_001_V1_4_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QA1, NULL }; static int hf_001_V1_4_060_QB4; static const value_string valstr_001_V1_4_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QB4, NULL }; static int hf_001_V1_4_060_QB2; static const value_string valstr_001_V1_4_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QB2, NULL }; static int hf_001_V1_4_060_QB1; static const value_string valstr_001_V1_4_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QB1, NULL }; static int hf_001_V1_4_060_QC4; static const value_string valstr_001_V1_4_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QC4, NULL }; static int hf_001_V1_4_060_QC2; static const value_string valstr_001_V1_4_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QC2, NULL }; static int hf_001_V1_4_060_QC1; static const value_string valstr_001_V1_4_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QC1, NULL }; static int hf_001_V1_4_060_QD4; static const value_string valstr_001_V1_4_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QD4, NULL }; static int hf_001_V1_4_060_QD2; static const value_string valstr_001_V1_4_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QD2, NULL }; static int hf_001_V1_4_060_QD1; static const value_string valstr_001_V1_4_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_4_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_060_QD1, NULL }; static const FieldPart *I001_V1_4_060_PARTS[] = { &IXXX_4bit_spare, &I001_V1_4_060_QA4, &I001_V1_4_060_QA2, &I001_V1_4_060_QA1, &I001_V1_4_060_QB4, &I001_V1_4_060_QB2, &I001_V1_4_060_QB1, &I001_V1_4_060_QC4, &I001_V1_4_060_QC2, &I001_V1_4_060_QC1, &I001_V1_4_060_QD4, &I001_V1_4_060_QD2, &I001_V1_4_060_QD1, NULL }; static const AsterixField I001_V1_4_060 = { FIXED, 2, 0, 0, &hf_001_V1_4_060, I001_V1_4_060_PARTS, { NULL } }; static int hf_001_V1_4_070; static int hf_001_V1_4_070_V; static const value_string valstr_001_V1_4_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_4_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_070_V, NULL }; static int hf_001_V1_4_070_G; static const value_string valstr_001_V1_4_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_4_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_070_G, NULL }; static int hf_001_V1_4_070_L; static const value_string valstr_001_V1_4_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Smoothed Mode-3/A code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_V1_4_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_070_L, NULL }; static int hf_001_V1_4_070_MODE3A; static const FieldPart I001_V1_4_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_V1_4_070_MODE3A, NULL }; static const FieldPart *I001_V1_4_070_PARTS[] = { &I001_V1_4_070_V, &I001_V1_4_070_G, &I001_V1_4_070_L, &IXXX_1bit_spare, &I001_V1_4_070_MODE3A, NULL }; static const AsterixField I001_V1_4_070 = { FIXED, 2, 0, 0, &hf_001_V1_4_070, I001_V1_4_070_PARTS, { NULL } }; static int hf_001_V1_4_080; static int hf_001_V1_4_080_QA4; static const value_string valstr_001_V1_4_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QA4, NULL }; static int hf_001_V1_4_080_QA2; static const value_string valstr_001_V1_4_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QA2, NULL }; static int hf_001_V1_4_080_QA1; static const value_string valstr_001_V1_4_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QA1, NULL }; static int hf_001_V1_4_080_QB4; static const value_string valstr_001_V1_4_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QB4, NULL }; static int hf_001_V1_4_080_QB2; static const value_string valstr_001_V1_4_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QB2, NULL }; static int hf_001_V1_4_080_QB1; static const value_string valstr_001_V1_4_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QB1, NULL }; static int hf_001_V1_4_080_QC4; static const value_string valstr_001_V1_4_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QC4, NULL }; static int hf_001_V1_4_080_QC2; static const value_string valstr_001_V1_4_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QC2, NULL }; static int hf_001_V1_4_080_QC1; static const value_string valstr_001_V1_4_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QC1, NULL }; static int hf_001_V1_4_080_QD4; static const value_string valstr_001_V1_4_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QD4, NULL }; static int hf_001_V1_4_080_QD2; static const value_string valstr_001_V1_4_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QD2, NULL }; static int hf_001_V1_4_080_QD1; static const value_string valstr_001_V1_4_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_4_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_080_QD1, NULL }; static const FieldPart *I001_V1_4_080_PARTS[] = { &IXXX_4bit_spare, &I001_V1_4_080_QA4, &I001_V1_4_080_QA2, &I001_V1_4_080_QA1, &I001_V1_4_080_QB4, &I001_V1_4_080_QB2, &I001_V1_4_080_QB1, &I001_V1_4_080_QC4, &I001_V1_4_080_QC2, &I001_V1_4_080_QC1, &I001_V1_4_080_QD4, &I001_V1_4_080_QD2, &I001_V1_4_080_QD1, NULL }; static const AsterixField I001_V1_4_080 = { FIXED, 2, 0, 0, &hf_001_V1_4_080, I001_V1_4_080_PARTS, { NULL } }; static int hf_001_V1_4_090; static int hf_001_V1_4_090_V; static const value_string valstr_001_V1_4_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_4_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_090_V, NULL }; static int hf_001_V1_4_090_G; static const value_string valstr_001_V1_4_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_4_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_090_G, NULL }; static int hf_001_V1_4_090_HGT; static const FieldPart I001_V1_4_090_HGT = { 14, 0.25, FIELD_PART_FLOAT, &hf_001_V1_4_090_HGT, NULL }; static const FieldPart *I001_V1_4_090_PARTS[] = { &I001_V1_4_090_V, &I001_V1_4_090_G, &I001_V1_4_090_HGT, NULL }; static const AsterixField I001_V1_4_090 = { FIXED, 2, 0, 0, &hf_001_V1_4_090, I001_V1_4_090_PARTS, { NULL } }; static int hf_001_V1_4_100; static int hf_001_V1_4_100_V; static const value_string valstr_001_V1_4_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_V, NULL }; static int hf_001_V1_4_100_G; static const value_string valstr_001_V1_4_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_G, NULL }; static int hf_001_V1_4_100_MODEC; static const FieldPart I001_V1_4_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_001_V1_4_100_MODEC, NULL }; static int hf_001_V1_4_100_QC1; static const value_string valstr_001_V1_4_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QC1, NULL }; static int hf_001_V1_4_100_QA1; static const value_string valstr_001_V1_4_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QA1, NULL }; static int hf_001_V1_4_100_QC2; static const value_string valstr_001_V1_4_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QC2, NULL }; static int hf_001_V1_4_100_QA2; static const value_string valstr_001_V1_4_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QA2, NULL }; static int hf_001_V1_4_100_QC4; static const value_string valstr_001_V1_4_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QC4, NULL }; static int hf_001_V1_4_100_QA4; static const value_string valstr_001_V1_4_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QA4, NULL }; static int hf_001_V1_4_100_QB1; static const value_string valstr_001_V1_4_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QB1, NULL }; static int hf_001_V1_4_100_QD1; static const value_string valstr_001_V1_4_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QD1, NULL }; static int hf_001_V1_4_100_QB2; static const value_string valstr_001_V1_4_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QB2, NULL }; static int hf_001_V1_4_100_QD2; static const value_string valstr_001_V1_4_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QD2, NULL }; static int hf_001_V1_4_100_QB4; static const value_string valstr_001_V1_4_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QB4, NULL }; static int hf_001_V1_4_100_QD4; static const value_string valstr_001_V1_4_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_V1_4_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_100_QD4, NULL }; static const FieldPart *I001_V1_4_100_PARTS[] = { &I001_V1_4_100_V, &I001_V1_4_100_G, &IXXX_2bit_spare, &I001_V1_4_100_MODEC, &IXXX_4bit_spare, &I001_V1_4_100_QC1, &I001_V1_4_100_QA1, &I001_V1_4_100_QC2, &I001_V1_4_100_QA2, &I001_V1_4_100_QC4, &I001_V1_4_100_QA4, &I001_V1_4_100_QB1, &I001_V1_4_100_QD1, &I001_V1_4_100_QB2, &I001_V1_4_100_QD2, &I001_V1_4_100_QB4, &I001_V1_4_100_QD4, NULL }; static const AsterixField I001_V1_4_100 = { FIXED, 4, 0, 0, &hf_001_V1_4_100, I001_V1_4_100_PARTS, { NULL } }; static int hf_001_V1_4_120; static int hf_001_V1_4_120_VALUE; static const FieldPart I001_V1_4_120_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_001_V1_4_120_VALUE, NULL }; static const FieldPart *I001_V1_4_120_PARTS[] = { &I001_V1_4_120_VALUE, NULL }; static const AsterixField I001_V1_4_120 = { FIXED, 1, 0, 0, &hf_001_V1_4_120, I001_V1_4_120_PARTS, { NULL } }; static int hf_001_V1_4_130; static int hf_001_V1_4_130_Subitem; static const FieldPart I001_V1_4_130_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_V1_4_130_Subitem, NULL }; static const FieldPart *I001_V1_4_130_PARTS[] = { &I001_V1_4_130_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_4_130 = { FX, 1, 0, 0, &hf_001_V1_4_130, I001_V1_4_130_PARTS, { NULL } }; static int hf_001_V1_4_131; static int hf_001_V1_4_131_VALUE; static const FieldPart I001_V1_4_131_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_001_V1_4_131_VALUE, NULL }; static const FieldPart *I001_V1_4_131_PARTS[] = { &I001_V1_4_131_VALUE, NULL }; static const AsterixField I001_V1_4_131 = { FIXED, 1, 0, 0, &hf_001_V1_4_131, I001_V1_4_131_PARTS, { NULL } }; static int hf_001_V1_4_141; static int hf_001_V1_4_141_VALUE; static const FieldPart I001_V1_4_141_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_V1_4_141_VALUE, NULL }; static const FieldPart *I001_V1_4_141_PARTS[] = { &I001_V1_4_141_VALUE, NULL }; static const AsterixField I001_V1_4_141 = { FIXED, 2, 0, 0, &hf_001_V1_4_141, I001_V1_4_141_PARTS, { NULL } }; static int hf_001_V1_4_150; static int hf_001_V1_4_150_XA; static const value_string valstr_001_V1_4_150_XA[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-3/A reply" }, { 0, NULL } }; static const FieldPart I001_V1_4_150_XA = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_150_XA, NULL }; static int hf_001_V1_4_150_XC; static const value_string valstr_001_V1_4_150_XC[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-C reply" }, { 0, NULL } }; static const FieldPart I001_V1_4_150_XC = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_150_XC, NULL }; static int hf_001_V1_4_150_X2; static const value_string valstr_001_V1_4_150_X2[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-2 reply" }, { 0, NULL } }; static const FieldPart I001_V1_4_150_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_150_X2, NULL }; static const FieldPart *I001_V1_4_150_PARTS[] = { &I001_V1_4_150_XA, &IXXX_1bit_spare, &I001_V1_4_150_XC, &IXXX_2bit_spare, &I001_V1_4_150_X2, &IXXX_2bit_spare, NULL }; static const AsterixField I001_V1_4_150 = { FIXED, 1, 0, 0, &hf_001_V1_4_150, I001_V1_4_150_PARTS, { NULL } }; static int hf_001_V1_4_161; static int hf_001_V1_4_161_VALUE; static const FieldPart I001_V1_4_161_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_001_V1_4_161_VALUE, NULL }; static const FieldPart *I001_V1_4_161_PARTS[] = { &I001_V1_4_161_VALUE, NULL }; static const AsterixField I001_V1_4_161 = { FIXED, 2, 0, 0, &hf_001_V1_4_161, I001_V1_4_161_PARTS, { NULL } }; static int hf_001_V1_4_170; static int hf_001_V1_4_170_CON; static const value_string valstr_001_V1_4_170_CON[] = { { 0, "Confirmed Track" }, { 1, "Track in initialisation phase" }, { 0, NULL } }; static const FieldPart I001_V1_4_170_CON = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_170_CON, NULL }; static int hf_001_V1_4_170_RAD; static const value_string valstr_001_V1_4_170_RAD[] = { { 0, "Primary track" }, { 1, "SSR/Combined track" }, { 0, NULL } }; static const FieldPart I001_V1_4_170_RAD = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_170_RAD, NULL }; static int hf_001_V1_4_170_MAN; static const value_string valstr_001_V1_4_170_MAN[] = { { 0, "Default" }, { 1, "Aircraft manoeuvring" }, { 0, NULL } }; static const FieldPart I001_V1_4_170_MAN = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_170_MAN, NULL }; static int hf_001_V1_4_170_DOU; static const value_string valstr_001_V1_4_170_DOU[] = { { 0, "Default" }, { 1, "Doubtful plot to track association" }, { 0, NULL } }; static const FieldPart I001_V1_4_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_170_DOU, NULL }; static int hf_001_V1_4_170_RDPC; static const value_string valstr_001_V1_4_170_RDPC[] = { { 0, "RDP Chain 1" }, { 1, "RDP Chain 2" }, { 0, NULL } }; static const FieldPart I001_V1_4_170_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_170_RDPC, NULL }; static int hf_001_V1_4_170_GHO; static const value_string valstr_001_V1_4_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I001_V1_4_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_170_GHO, NULL }; static int hf_001_V1_4_170_TRE; static const value_string valstr_001_V1_4_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I001_V1_4_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_001_V1_4_170_TRE, NULL }; static const FieldPart *I001_V1_4_170_PARTS[] = { &I001_V1_4_170_CON, &I001_V1_4_170_RAD, &I001_V1_4_170_MAN, &I001_V1_4_170_DOU, &I001_V1_4_170_RDPC, &IXXX_1bit_spare, &I001_V1_4_170_GHO, &IXXX_FX, &I001_V1_4_170_TRE, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_V1_4_170 = { FX, 1, 0, 0, &hf_001_V1_4_170, I001_V1_4_170_PARTS, { NULL } }; static int hf_001_V1_4_200; static int hf_001_V1_4_200_GSP; static const FieldPart I001_V1_4_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_001_V1_4_200_GSP, NULL }; static int hf_001_V1_4_200_HDG; static const FieldPart I001_V1_4_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_V1_4_200_HDG, NULL }; static const FieldPart *I001_V1_4_200_PARTS[] = { &I001_V1_4_200_GSP, &I001_V1_4_200_HDG, NULL }; static const AsterixField I001_V1_4_200 = { FIXED, 4, 0, 0, &hf_001_V1_4_200, I001_V1_4_200_PARTS, { NULL } }; static int hf_001_V1_4_210; static int hf_001_V1_4_210_Subitem; static const FieldPart I001_V1_4_210_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_V1_4_210_Subitem, NULL }; static const FieldPart *I001_V1_4_210_PARTS[] = { &I001_V1_4_210_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_V1_4_210 = { FX, 1, 0, 0, &hf_001_V1_4_210, I001_V1_4_210_PARTS, { NULL } }; static int hf_001_V1_4_SP; static const AsterixField I001_V1_4_SP = { EXP, 0, 0, 1, &hf_001_V1_4_SP, NULL, { NULL } }; /* Category 001, edition 1.4 (latest) */ static int hf_001_010; static int hf_001_010_SAC; static const FieldPart I001_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_001_010_SAC, NULL }; static int hf_001_010_SIC; static const FieldPart I001_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_001_010_SIC, NULL }; static const FieldPart *I001_010_PARTS[] = { &I001_010_SAC, &I001_010_SIC, NULL }; static const AsterixField I001_010 = { FIXED, 2, 0, 0, &hf_001_010, I001_010_PARTS, { NULL } }; static int hf_001_020; static int hf_001_020_TYP; static const value_string valstr_001_020_TYP[] = { { 0, "Plot" }, { 1, "Track" }, { 0, NULL } }; static const FieldPart I001_020_TYP = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_TYP, NULL }; static int hf_001_020_SIM; static const value_string valstr_001_020_SIM[] = { { 0, "Actual plot or track" }, { 1, "Simulated plot or track" }, { 0, NULL } }; static const FieldPart I001_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_SIM, NULL }; static int hf_001_020_SSRPSR; static const value_string valstr_001_020_SSRPSR[] = { { 0, "No detection" }, { 1, "Sole primary detection" }, { 2, "Sole secondary detection" }, { 3, "Combined primary and secondary detection" }, { 0, NULL } }; static const FieldPart I001_020_SSRPSR = { 2, 1.0, FIELD_PART_UINT, &hf_001_020_SSRPSR, NULL }; static int hf_001_020_ANT; static const value_string valstr_001_020_ANT[] = { { 0, "Target report from antenna 1" }, { 1, "Target report from antenna 2" }, { 0, NULL } }; static const FieldPart I001_020_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_ANT, NULL }; static int hf_001_020_SPI; static const value_string valstr_001_020_SPI[] = { { 0, "Default" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I001_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_SPI, NULL }; static int hf_001_020_RAB; static const value_string valstr_001_020_RAB[] = { { 0, "Default" }, { 1, "Plot or track from a fixed transponder" }, { 0, NULL } }; static const FieldPart I001_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_RAB, NULL }; static int hf_001_020_TST; static const value_string valstr_001_020_TST[] = { { 0, "Default" }, { 1, "Test target indicator" }, { 0, NULL } }; static const FieldPart I001_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_TST, NULL }; static int hf_001_020_DS1DS2; static const value_string valstr_001_020_DS1DS2[] = { { 0, "Default" }, { 1, "Unlawful interference (code 7500)" }, { 2, "Radio-communication failure (code 7600)" }, { 3, "Emergency (code 7700)" }, { 0, NULL } }; static const FieldPart I001_020_DS1DS2 = { 2, 1.0, FIELD_PART_UINT, &hf_001_020_DS1DS2, NULL }; static int hf_001_020_ME; static const value_string valstr_001_020_ME[] = { { 0, "Default" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I001_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_ME, NULL }; static int hf_001_020_MI; static const value_string valstr_001_020_MI[] = { { 0, "Default" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I001_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_MI, NULL }; static const FieldPart *I001_020_PARTS[] = { &I001_020_TYP, &I001_020_SIM, &I001_020_SSRPSR, &I001_020_ANT, &I001_020_SPI, &I001_020_RAB, &IXXX_FX, &I001_020_TST, &I001_020_DS1DS2, &I001_020_ME, &I001_020_MI, &IXXX_2bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_020 = { FX, 1, 0, 0, &hf_001_020, I001_020_PARTS, { NULL } }; static int hf_001_030; static int hf_001_030_Subitem; static const value_string valstr_001_030_Subitem[] = { { 0, "No warning nor error condition" }, { 1, "Garbled reply" }, { 2, "Reflection" }, { 3, "Sidelobe reply" }, { 4, "Split plot" }, { 5, "Second time around reply" }, { 6, "Angels" }, { 7, "Terrestrial vehicles" }, { 64, "Possible wrong code in Mode-3/A" }, { 65, "Possible wrong altitude information, transmitted when the Code C credibility check fails together with the Mode-C code in binary notation" }, { 66, "Possible phantom MSSR plot" }, { 80, "Fixed PSR plot" }, { 81, "Slow PSR plot" }, { 82, "Low quality PSR plot" }, { 0, NULL } }; static const FieldPart I001_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_001_030_Subitem, NULL }; static const FieldPart *I001_030_PARTS[] = { &I001_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_030 = { FX, 1, 0, 0, &hf_001_030, I001_030_PARTS, { NULL } }; static int hf_001_040; static int hf_001_040_RHO; static const FieldPart I001_040_RHO = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_040_RHO, NULL }; static int hf_001_040_THETA; static const FieldPart I001_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_040_THETA, NULL }; static const FieldPart *I001_040_PARTS[] = { &I001_040_RHO, &I001_040_THETA, NULL }; static const AsterixField I001_040 = { FIXED, 4, 0, 0, &hf_001_040, I001_040_PARTS, { NULL } }; static int hf_001_042; static int hf_001_042_X; static const FieldPart I001_042_X = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_042_X, NULL }; static int hf_001_042_Y; static const FieldPart I001_042_Y = { 16, 0.015625, FIELD_PART_FLOAT, &hf_001_042_Y, NULL }; static const FieldPart *I001_042_PARTS[] = { &I001_042_X, &I001_042_Y, NULL }; static const AsterixField I001_042 = { FIXED, 4, 0, 0, &hf_001_042, I001_042_PARTS, { NULL } }; static int hf_001_050; static int hf_001_050_V; static const value_string valstr_001_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_050_V, NULL }; static int hf_001_050_G; static const value_string valstr_001_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_050_G, NULL }; static int hf_001_050_L; static const value_string valstr_001_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_050_L, NULL }; static int hf_001_050_MODE2; static const FieldPart I001_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_050_MODE2, NULL }; static const FieldPart *I001_050_PARTS[] = { &I001_050_V, &I001_050_G, &I001_050_L, &IXXX_1bit_spare, &I001_050_MODE2, NULL }; static const AsterixField I001_050 = { FIXED, 2, 0, 0, &hf_001_050, I001_050_PARTS, { NULL } }; static int hf_001_060; static int hf_001_060_QA4; static const value_string valstr_001_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QA4, NULL }; static int hf_001_060_QA2; static const value_string valstr_001_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QA2, NULL }; static int hf_001_060_QA1; static const value_string valstr_001_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QA1, NULL }; static int hf_001_060_QB4; static const value_string valstr_001_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QB4, NULL }; static int hf_001_060_QB2; static const value_string valstr_001_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QB2, NULL }; static int hf_001_060_QB1; static const value_string valstr_001_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QB1, NULL }; static int hf_001_060_QC4; static const value_string valstr_001_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QC4, NULL }; static int hf_001_060_QC2; static const value_string valstr_001_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QC2, NULL }; static int hf_001_060_QC1; static const value_string valstr_001_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QC1, NULL }; static int hf_001_060_QD4; static const value_string valstr_001_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QD4, NULL }; static int hf_001_060_QD2; static const value_string valstr_001_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QD2, NULL }; static int hf_001_060_QD1; static const value_string valstr_001_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_060_QD1, NULL }; static const FieldPart *I001_060_PARTS[] = { &IXXX_4bit_spare, &I001_060_QA4, &I001_060_QA2, &I001_060_QA1, &I001_060_QB4, &I001_060_QB2, &I001_060_QB1, &I001_060_QC4, &I001_060_QC2, &I001_060_QC1, &I001_060_QD4, &I001_060_QD2, &I001_060_QD1, NULL }; static const AsterixField I001_060 = { FIXED, 2, 0, 0, &hf_001_060, I001_060_PARTS, { NULL } }; static int hf_001_070; static int hf_001_070_V; static const value_string valstr_001_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_070_V, NULL }; static int hf_001_070_G; static const value_string valstr_001_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_070_G, NULL }; static int hf_001_070_L; static const value_string valstr_001_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Smoothed Mode-3/A code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I001_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_070_L, NULL }; static int hf_001_070_MODE3A; static const FieldPart I001_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_070_MODE3A, NULL }; static const FieldPart *I001_070_PARTS[] = { &I001_070_V, &I001_070_G, &I001_070_L, &IXXX_1bit_spare, &I001_070_MODE3A, NULL }; static const AsterixField I001_070 = { FIXED, 2, 0, 0, &hf_001_070, I001_070_PARTS, { NULL } }; static int hf_001_080; static int hf_001_080_QA4; static const value_string valstr_001_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QA4, NULL }; static int hf_001_080_QA2; static const value_string valstr_001_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QA2, NULL }; static int hf_001_080_QA1; static const value_string valstr_001_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QA1, NULL }; static int hf_001_080_QB4; static const value_string valstr_001_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QB4, NULL }; static int hf_001_080_QB2; static const value_string valstr_001_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QB2, NULL }; static int hf_001_080_QB1; static const value_string valstr_001_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QB1, NULL }; static int hf_001_080_QC4; static const value_string valstr_001_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QC4, NULL }; static int hf_001_080_QC2; static const value_string valstr_001_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QC2, NULL }; static int hf_001_080_QC1; static const value_string valstr_001_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QC1, NULL }; static int hf_001_080_QD4; static const value_string valstr_001_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QD4, NULL }; static int hf_001_080_QD2; static const value_string valstr_001_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QD2, NULL }; static int hf_001_080_QD1; static const value_string valstr_001_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_080_QD1, NULL }; static const FieldPart *I001_080_PARTS[] = { &IXXX_4bit_spare, &I001_080_QA4, &I001_080_QA2, &I001_080_QA1, &I001_080_QB4, &I001_080_QB2, &I001_080_QB1, &I001_080_QC4, &I001_080_QC2, &I001_080_QC1, &I001_080_QD4, &I001_080_QD2, &I001_080_QD1, NULL }; static const AsterixField I001_080 = { FIXED, 2, 0, 0, &hf_001_080, I001_080_PARTS, { NULL } }; static int hf_001_090; static int hf_001_090_V; static const value_string valstr_001_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_090_V, NULL }; static int hf_001_090_G; static const value_string valstr_001_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_090_G, NULL }; static int hf_001_090_HGT; static const FieldPart I001_090_HGT = { 14, 0.25, FIELD_PART_FLOAT, &hf_001_090_HGT, NULL }; static const FieldPart *I001_090_PARTS[] = { &I001_090_V, &I001_090_G, &I001_090_HGT, NULL }; static const AsterixField I001_090 = { FIXED, 2, 0, 0, &hf_001_090, I001_090_PARTS, { NULL } }; static int hf_001_100; static int hf_001_100_V; static const value_string valstr_001_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I001_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_V, NULL }; static int hf_001_100_G; static const value_string valstr_001_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I001_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_G, NULL }; static int hf_001_100_MODEC; static const FieldPart I001_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_001_100_MODEC, NULL }; static int hf_001_100_QC1; static const value_string valstr_001_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I001_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QC1, NULL }; static int hf_001_100_QA1; static const value_string valstr_001_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I001_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QA1, NULL }; static int hf_001_100_QC2; static const value_string valstr_001_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I001_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QC2, NULL }; static int hf_001_100_QA2; static const value_string valstr_001_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I001_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QA2, NULL }; static int hf_001_100_QC4; static const value_string valstr_001_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I001_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QC4, NULL }; static int hf_001_100_QA4; static const value_string valstr_001_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I001_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QA4, NULL }; static int hf_001_100_QB1; static const value_string valstr_001_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I001_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QB1, NULL }; static int hf_001_100_QD1; static const value_string valstr_001_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I001_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QD1, NULL }; static int hf_001_100_QB2; static const value_string valstr_001_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I001_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QB2, NULL }; static int hf_001_100_QD2; static const value_string valstr_001_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I001_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QD2, NULL }; static int hf_001_100_QB4; static const value_string valstr_001_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I001_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QB4, NULL }; static int hf_001_100_QD4; static const value_string valstr_001_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I001_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_QD4, NULL }; static const FieldPart *I001_100_PARTS[] = { &I001_100_V, &I001_100_G, &IXXX_2bit_spare, &I001_100_MODEC, &IXXX_4bit_spare, &I001_100_QC1, &I001_100_QA1, &I001_100_QC2, &I001_100_QA2, &I001_100_QC4, &I001_100_QA4, &I001_100_QB1, &I001_100_QD1, &I001_100_QB2, &I001_100_QD2, &I001_100_QB4, &I001_100_QD4, NULL }; static const AsterixField I001_100 = { FIXED, 4, 0, 0, &hf_001_100, I001_100_PARTS, { NULL } }; static int hf_001_120; static int hf_001_120_VALUE; static const FieldPart I001_120_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_001_120_VALUE, NULL }; static const FieldPart *I001_120_PARTS[] = { &I001_120_VALUE, NULL }; static const AsterixField I001_120 = { FIXED, 1, 0, 0, &hf_001_120, I001_120_PARTS, { NULL } }; static int hf_001_130; static int hf_001_130_Subitem; static const FieldPart I001_130_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_130_Subitem, NULL }; static const FieldPart *I001_130_PARTS[] = { &I001_130_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_130 = { FX, 1, 0, 0, &hf_001_130, I001_130_PARTS, { NULL } }; static int hf_001_131; static int hf_001_131_VALUE; static const FieldPart I001_131_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_001_131_VALUE, NULL }; static const FieldPart *I001_131_PARTS[] = { &I001_131_VALUE, NULL }; static const AsterixField I001_131 = { FIXED, 1, 0, 0, &hf_001_131, I001_131_PARTS, { NULL } }; static int hf_001_141; static int hf_001_141_VALUE; static const FieldPart I001_141_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_001_141_VALUE, NULL }; static const FieldPart *I001_141_PARTS[] = { &I001_141_VALUE, NULL }; static const AsterixField I001_141 = { FIXED, 2, 0, 0, &hf_001_141, I001_141_PARTS, { NULL } }; static int hf_001_150; static int hf_001_150_XA; static const value_string valstr_001_150_XA[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-3/A reply" }, { 0, NULL } }; static const FieldPart I001_150_XA = { 1, 1.0, FIELD_PART_UINT, &hf_001_150_XA, NULL }; static int hf_001_150_XC; static const value_string valstr_001_150_XC[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-C reply" }, { 0, NULL } }; static const FieldPart I001_150_XC = { 1, 1.0, FIELD_PART_UINT, &hf_001_150_XC, NULL }; static int hf_001_150_X2; static const value_string valstr_001_150_X2[] = { { 0, "Default" }, { 1, "X-pulse received in Mode-2 reply" }, { 0, NULL } }; static const FieldPart I001_150_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_150_X2, NULL }; static const FieldPart *I001_150_PARTS[] = { &I001_150_XA, &IXXX_1bit_spare, &I001_150_XC, &IXXX_2bit_spare, &I001_150_X2, &IXXX_2bit_spare, NULL }; static const AsterixField I001_150 = { FIXED, 1, 0, 0, &hf_001_150, I001_150_PARTS, { NULL } }; static int hf_001_161; static int hf_001_161_VALUE; static const FieldPart I001_161_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_001_161_VALUE, NULL }; static const FieldPart *I001_161_PARTS[] = { &I001_161_VALUE, NULL }; static const AsterixField I001_161 = { FIXED, 2, 0, 0, &hf_001_161, I001_161_PARTS, { NULL } }; static int hf_001_170; static int hf_001_170_CON; static const value_string valstr_001_170_CON[] = { { 0, "Confirmed Track" }, { 1, "Track in initialisation phase" }, { 0, NULL } }; static const FieldPart I001_170_CON = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_CON, NULL }; static int hf_001_170_RAD; static const value_string valstr_001_170_RAD[] = { { 0, "Primary track" }, { 1, "SSR/Combined track" }, { 0, NULL } }; static const FieldPart I001_170_RAD = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_RAD, NULL }; static int hf_001_170_MAN; static const value_string valstr_001_170_MAN[] = { { 0, "Default" }, { 1, "Aircraft manoeuvring" }, { 0, NULL } }; static const FieldPart I001_170_MAN = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_MAN, NULL }; static int hf_001_170_DOU; static const value_string valstr_001_170_DOU[] = { { 0, "Default" }, { 1, "Doubtful plot to track association" }, { 0, NULL } }; static const FieldPart I001_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_DOU, NULL }; static int hf_001_170_RDPC; static const value_string valstr_001_170_RDPC[] = { { 0, "RDP Chain 1" }, { 1, "RDP Chain 2" }, { 0, NULL } }; static const FieldPart I001_170_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_RDPC, NULL }; static int hf_001_170_GHO; static const value_string valstr_001_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I001_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_GHO, NULL }; static int hf_001_170_TRE; static const value_string valstr_001_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I001_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_TRE, NULL }; static const FieldPart *I001_170_PARTS[] = { &I001_170_CON, &I001_170_RAD, &I001_170_MAN, &I001_170_DOU, &I001_170_RDPC, &IXXX_1bit_spare, &I001_170_GHO, &IXXX_FX, &I001_170_TRE, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I001_170 = { FX, 1, 0, 0, &hf_001_170, I001_170_PARTS, { NULL } }; static int hf_001_200; static int hf_001_200_GSP; static const FieldPart I001_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_001_200_GSP, NULL }; static int hf_001_200_HDG; static const FieldPart I001_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_001_200_HDG, NULL }; static const FieldPart *I001_200_PARTS[] = { &I001_200_GSP, &I001_200_HDG, NULL }; static const AsterixField I001_200 = { FIXED, 4, 0, 0, &hf_001_200, I001_200_PARTS, { NULL } }; static int hf_001_210; static int hf_001_210_Subitem; static const FieldPart I001_210_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_001_210_Subitem, NULL }; static const FieldPart *I001_210_PARTS[] = { &I001_210_Subitem, &IXXX_FX, NULL }; static const AsterixField I001_210 = { FX, 1, 0, 0, &hf_001_210, I001_210_PARTS, { NULL } }; static int hf_001_SP; static const AsterixField I001_SP = { EXP, 0, 0, 1, &hf_001_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I001_V1_4_plot[] = { &I001_V1_4_010, &I001_V1_4_020, &I001_V1_4_040, &I001_V1_4_070, &I001_V1_4_090, &I001_V1_4_130, &I001_V1_4_141, &I001_V1_4_050, &I001_V1_4_120, &I001_V1_4_131, &I001_V1_4_080, &I001_V1_4_100, &I001_V1_4_060, &I001_V1_4_030, &I001_V1_4_150, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I001_V1_4_SP, NULL }; static const AsterixField *I001_V1_4_track[] = { &I001_V1_4_010, &I001_V1_4_020, &I001_V1_4_161, &I001_V1_4_040, &I001_V1_4_042, &I001_V1_4_200, &I001_V1_4_070, &I001_V1_4_090, &I001_V1_4_141, &I001_V1_4_130, &I001_V1_4_131, &I001_V1_4_120, &I001_V1_4_170, &I001_V1_4_210, &I001_V1_4_050, &I001_V1_4_080, &I001_V1_4_100, &I001_V1_4_060, &I001_V1_4_030, &I001_V1_4_SP, &IX_SPARE, &I001_V1_4_150, NULL }; static const AsterixField **I001_V1_4[] = { I001_V1_4_plot, I001_V1_4_track, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I001_plot[] = { &I001_010, &I001_020, &I001_040, &I001_070, &I001_090, &I001_130, &I001_141, &I001_050, &I001_120, &I001_131, &I001_080, &I001_100, &I001_060, &I001_030, &I001_150, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I001_SP, NULL }; static const AsterixField *I001_track[] = { &I001_010, &I001_020, &I001_161, &I001_040, &I001_042, &I001_200, &I001_070, &I001_090, &I001_141, &I001_130, &I001_131, &I001_120, &I001_170, &I001_210, &I001_050, &I001_080, &I001_100, &I001_060, &I001_030, &I001_SP, &IX_SPARE, &I001_150, NULL }; static const AsterixField **I001[] = { I001_plot, I001_track, NULL }; DIAG_ON_PEDANTIC /* Category 002, edition 1.0 */ static int hf_002_V1_0_000; static int hf_002_V1_0_000_VALUE; static const value_string valstr_002_V1_0_000_VALUE[] = { { 1, "North marker message" }, { 2, "Sector crossing message" }, { 3, "South marker message" }, { 8, "Activation of blind zone filtering" }, { 9, "Stop of blind zone filtering" }, { 0, NULL } }; static const FieldPart I002_V1_0_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_002_V1_0_000_VALUE, NULL }; static const FieldPart *I002_V1_0_000_PARTS[] = { &I002_V1_0_000_VALUE, NULL }; static const AsterixField I002_V1_0_000 = { FIXED, 1, 0, 0, &hf_002_V1_0_000, I002_V1_0_000_PARTS, { NULL } }; static int hf_002_V1_0_010; static int hf_002_V1_0_010_SAC; static const FieldPart I002_V1_0_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_002_V1_0_010_SAC, NULL }; static int hf_002_V1_0_010_SIC; static const FieldPart I002_V1_0_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_002_V1_0_010_SIC, NULL }; static const FieldPart *I002_V1_0_010_PARTS[] = { &I002_V1_0_010_SAC, &I002_V1_0_010_SIC, NULL }; static const AsterixField I002_V1_0_010 = { FIXED, 2, 0, 0, &hf_002_V1_0_010, I002_V1_0_010_PARTS, { NULL } }; static int hf_002_V1_0_020; static int hf_002_V1_0_020_VALUE; static const FieldPart I002_V1_0_020_VALUE = { 8, 1.40625, FIELD_PART_UFLOAT, &hf_002_V1_0_020_VALUE, NULL }; static const FieldPart *I002_V1_0_020_PARTS[] = { &I002_V1_0_020_VALUE, NULL }; static const AsterixField I002_V1_0_020 = { FIXED, 1, 0, 0, &hf_002_V1_0_020, I002_V1_0_020_PARTS, { NULL } }; static int hf_002_V1_0_030; static int hf_002_V1_0_030_VALUE; static const FieldPart I002_V1_0_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_0_030_VALUE, NULL }; static const FieldPart *I002_V1_0_030_PARTS[] = { &I002_V1_0_030_VALUE, NULL }; static const AsterixField I002_V1_0_030 = { FIXED, 3, 0, 0, &hf_002_V1_0_030, I002_V1_0_030_PARTS, { NULL } }; static int hf_002_V1_0_041; static int hf_002_V1_0_041_VALUE; static const FieldPart I002_V1_0_041_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_0_041_VALUE, NULL }; static const FieldPart *I002_V1_0_041_PARTS[] = { &I002_V1_0_041_VALUE, NULL }; static const AsterixField I002_V1_0_041 = { FIXED, 2, 0, 0, &hf_002_V1_0_041, I002_V1_0_041_PARTS, { NULL } }; static int hf_002_V1_0_050; static int hf_002_V1_0_050_Subitem; static const FieldPart I002_V1_0_050_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_V1_0_050_Subitem, NULL }; static const FieldPart *I002_V1_0_050_PARTS[] = { &I002_V1_0_050_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_V1_0_050 = { FX, 1, 0, 0, &hf_002_V1_0_050, I002_V1_0_050_PARTS, { NULL } }; static int hf_002_V1_0_060; static int hf_002_V1_0_060_Subitem; static const FieldPart I002_V1_0_060_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_V1_0_060_Subitem, NULL }; static const FieldPart *I002_V1_0_060_PARTS[] = { &I002_V1_0_060_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_V1_0_060 = { FX, 1, 0, 0, &hf_002_V1_0_060, I002_V1_0_060_PARTS, { NULL } }; static int hf_002_V1_0_070; static int hf_002_V1_0_070_A; static const value_string valstr_002_V1_0_070_A[] = { { 0, "Counter for antenna 1" }, { 1, "Counter for antenna 2" }, { 0, NULL } }; static const FieldPart I002_V1_0_070_A = { 1, 1.0, FIELD_PART_UINT, &hf_002_V1_0_070_A, NULL }; static int hf_002_V1_0_070_IDENT; static const value_string valstr_002_V1_0_070_IDENT[] = { { 1, "Sole primary plots" }, { 2, "Sole SSR plots" }, { 3, "Combined plots" }, { 0, NULL } }; static const FieldPart I002_V1_0_070_IDENT = { 5, 1.0, FIELD_PART_UINT, &hf_002_V1_0_070_IDENT, NULL }; static int hf_002_V1_0_070_COUNTER; static const FieldPart I002_V1_0_070_COUNTER = { 10, 1.0, FIELD_PART_UINT, &hf_002_V1_0_070_COUNTER, NULL }; static const FieldPart *I002_V1_0_070_PARTS[] = { &I002_V1_0_070_A, &I002_V1_0_070_IDENT, &I002_V1_0_070_COUNTER, NULL }; static const AsterixField I002_V1_0_070 = { REPETITIVE, 2, 1, 0, &hf_002_V1_0_070, I002_V1_0_070_PARTS, { NULL } }; static int hf_002_V1_0_080; static int hf_002_V1_0_080_Subitem; static const FieldPart I002_V1_0_080_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_V1_0_080_Subitem, NULL }; static const FieldPart *I002_V1_0_080_PARTS[] = { &I002_V1_0_080_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_V1_0_080 = { FX, 1, 0, 0, &hf_002_V1_0_080, I002_V1_0_080_PARTS, { NULL } }; static int hf_002_V1_0_090; static int hf_002_V1_0_090_RE; static const FieldPart I002_V1_0_090_RE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_002_V1_0_090_RE, NULL }; static int hf_002_V1_0_090_AE; static const FieldPart I002_V1_0_090_AE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_002_V1_0_090_AE, NULL }; static const FieldPart *I002_V1_0_090_PARTS[] = { &I002_V1_0_090_RE, &I002_V1_0_090_AE, NULL }; static const AsterixField I002_V1_0_090 = { FIXED, 2, 0, 0, &hf_002_V1_0_090, I002_V1_0_090_PARTS, { NULL } }; static int hf_002_V1_0_100; static int hf_002_V1_0_100_RS; static const FieldPart I002_V1_0_100_RS = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_0_100_RS, NULL }; static int hf_002_V1_0_100_RE; static const FieldPart I002_V1_0_100_RE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_0_100_RE, NULL }; static int hf_002_V1_0_100_TS; static const FieldPart I002_V1_0_100_TS = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_002_V1_0_100_TS, NULL }; static int hf_002_V1_0_100_TE; static const FieldPart I002_V1_0_100_TE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_002_V1_0_100_TE, NULL }; static const FieldPart *I002_V1_0_100_PARTS[] = { &I002_V1_0_100_RS, &I002_V1_0_100_RE, &I002_V1_0_100_TS, &I002_V1_0_100_TE, NULL }; static const AsterixField I002_V1_0_100 = { FIXED, 8, 0, 0, &hf_002_V1_0_100, I002_V1_0_100_PARTS, { NULL } }; static int hf_002_V1_0_SP; static const AsterixField I002_V1_0_SP = { EXP, 0, 0, 1, &hf_002_V1_0_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I002_V1_0_uap[] = { &I002_V1_0_010, &I002_V1_0_000, &I002_V1_0_020, &I002_V1_0_030, &I002_V1_0_041, &I002_V1_0_050, &I002_V1_0_060, &I002_V1_0_070, &I002_V1_0_100, &I002_V1_0_090, &I002_V1_0_080, &IX_SPARE, &I002_V1_0_SP, NULL }; static const AsterixField **I002_V1_0[] = { I002_V1_0_uap, NULL }; DIAG_ON_PEDANTIC /* Category 002, edition 1.1 */ static int hf_002_V1_1_000; static int hf_002_V1_1_000_VALUE; static const value_string valstr_002_V1_1_000_VALUE[] = { { 1, "North marker message" }, { 2, "Sector crossing message" }, { 3, "South marker message" }, { 8, "Activation of blind zone filtering" }, { 9, "Stop of blind zone filtering" }, { 0, NULL } }; static const FieldPart I002_V1_1_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_002_V1_1_000_VALUE, NULL }; static const FieldPart *I002_V1_1_000_PARTS[] = { &I002_V1_1_000_VALUE, NULL }; static const AsterixField I002_V1_1_000 = { FIXED, 1, 0, 0, &hf_002_V1_1_000, I002_V1_1_000_PARTS, { NULL } }; static int hf_002_V1_1_010; static int hf_002_V1_1_010_SAC; static const FieldPart I002_V1_1_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_002_V1_1_010_SAC, NULL }; static int hf_002_V1_1_010_SIC; static const FieldPart I002_V1_1_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_002_V1_1_010_SIC, NULL }; static const FieldPart *I002_V1_1_010_PARTS[] = { &I002_V1_1_010_SAC, &I002_V1_1_010_SIC, NULL }; static const AsterixField I002_V1_1_010 = { FIXED, 2, 0, 0, &hf_002_V1_1_010, I002_V1_1_010_PARTS, { NULL } }; static int hf_002_V1_1_020; static int hf_002_V1_1_020_VALUE; static const FieldPart I002_V1_1_020_VALUE = { 8, 1.40625, FIELD_PART_UFLOAT, &hf_002_V1_1_020_VALUE, NULL }; static const FieldPart *I002_V1_1_020_PARTS[] = { &I002_V1_1_020_VALUE, NULL }; static const AsterixField I002_V1_1_020 = { FIXED, 1, 0, 0, &hf_002_V1_1_020, I002_V1_1_020_PARTS, { NULL } }; static int hf_002_V1_1_030; static int hf_002_V1_1_030_VALUE; static const FieldPart I002_V1_1_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_1_030_VALUE, NULL }; static const FieldPart *I002_V1_1_030_PARTS[] = { &I002_V1_1_030_VALUE, NULL }; static const AsterixField I002_V1_1_030 = { FIXED, 3, 0, 0, &hf_002_V1_1_030, I002_V1_1_030_PARTS, { NULL } }; static int hf_002_V1_1_041; static int hf_002_V1_1_041_VALUE; static const FieldPart I002_V1_1_041_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_1_041_VALUE, NULL }; static const FieldPart *I002_V1_1_041_PARTS[] = { &I002_V1_1_041_VALUE, NULL }; static const AsterixField I002_V1_1_041 = { FIXED, 2, 0, 0, &hf_002_V1_1_041, I002_V1_1_041_PARTS, { NULL } }; static int hf_002_V1_1_050; static int hf_002_V1_1_050_Subitem; static const FieldPart I002_V1_1_050_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_V1_1_050_Subitem, NULL }; static const FieldPart *I002_V1_1_050_PARTS[] = { &I002_V1_1_050_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_V1_1_050 = { FX, 1, 0, 0, &hf_002_V1_1_050, I002_V1_1_050_PARTS, { NULL } }; static int hf_002_V1_1_060; static int hf_002_V1_1_060_Subitem; static const FieldPart I002_V1_1_060_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_V1_1_060_Subitem, NULL }; static const FieldPart *I002_V1_1_060_PARTS[] = { &I002_V1_1_060_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_V1_1_060 = { FX, 1, 0, 0, &hf_002_V1_1_060, I002_V1_1_060_PARTS, { NULL } }; static int hf_002_V1_1_070; static int hf_002_V1_1_070_A; static const value_string valstr_002_V1_1_070_A[] = { { 0, "Counter for antenna 1" }, { 1, "Counter for antenna 2" }, { 0, NULL } }; static const FieldPart I002_V1_1_070_A = { 1, 1.0, FIELD_PART_UINT, &hf_002_V1_1_070_A, NULL }; static int hf_002_V1_1_070_IDENT; static const value_string valstr_002_V1_1_070_IDENT[] = { { 1, "Sole primary plots" }, { 2, "Sole SSR plots" }, { 3, "Combined plots" }, { 0, NULL } }; static const FieldPart I002_V1_1_070_IDENT = { 5, 1.0, FIELD_PART_UINT, &hf_002_V1_1_070_IDENT, NULL }; static int hf_002_V1_1_070_COUNTER; static const FieldPart I002_V1_1_070_COUNTER = { 10, 1.0, FIELD_PART_UINT, &hf_002_V1_1_070_COUNTER, NULL }; static const FieldPart *I002_V1_1_070_PARTS[] = { &I002_V1_1_070_A, &I002_V1_1_070_IDENT, &I002_V1_1_070_COUNTER, NULL }; static const AsterixField I002_V1_1_070 = { REPETITIVE, 2, 1, 0, &hf_002_V1_1_070, I002_V1_1_070_PARTS, { NULL } }; static int hf_002_V1_1_080; static int hf_002_V1_1_080_Subitem; static const FieldPart I002_V1_1_080_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_V1_1_080_Subitem, NULL }; static const FieldPart *I002_V1_1_080_PARTS[] = { &I002_V1_1_080_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_V1_1_080 = { FX, 1, 0, 0, &hf_002_V1_1_080, I002_V1_1_080_PARTS, { NULL } }; static int hf_002_V1_1_090; static int hf_002_V1_1_090_RE; static const FieldPart I002_V1_1_090_RE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_002_V1_1_090_RE, NULL }; static int hf_002_V1_1_090_AE; static const FieldPart I002_V1_1_090_AE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_002_V1_1_090_AE, NULL }; static const FieldPart *I002_V1_1_090_PARTS[] = { &I002_V1_1_090_RE, &I002_V1_1_090_AE, NULL }; static const AsterixField I002_V1_1_090 = { FIXED, 2, 0, 0, &hf_002_V1_1_090, I002_V1_1_090_PARTS, { NULL } }; static int hf_002_V1_1_100; static int hf_002_V1_1_100_RS; static const FieldPart I002_V1_1_100_RS = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_1_100_RS, NULL }; static int hf_002_V1_1_100_RE; static const FieldPart I002_V1_1_100_RE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_V1_1_100_RE, NULL }; static int hf_002_V1_1_100_TS; static const FieldPart I002_V1_1_100_TS = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_002_V1_1_100_TS, NULL }; static int hf_002_V1_1_100_TE; static const FieldPart I002_V1_1_100_TE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_002_V1_1_100_TE, NULL }; static const FieldPart *I002_V1_1_100_PARTS[] = { &I002_V1_1_100_RS, &I002_V1_1_100_RE, &I002_V1_1_100_TS, &I002_V1_1_100_TE, NULL }; static const AsterixField I002_V1_1_100 = { FIXED, 8, 0, 0, &hf_002_V1_1_100, I002_V1_1_100_PARTS, { NULL } }; static int hf_002_V1_1_SP; static const AsterixField I002_V1_1_SP = { EXP, 0, 0, 1, &hf_002_V1_1_SP, NULL, { NULL } }; /* Category 002, edition 1.1 (latest) */ static int hf_002_000; static int hf_002_000_VALUE; static const value_string valstr_002_000_VALUE[] = { { 1, "North marker message" }, { 2, "Sector crossing message" }, { 3, "South marker message" }, { 8, "Activation of blind zone filtering" }, { 9, "Stop of blind zone filtering" }, { 0, NULL } }; static const FieldPart I002_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_002_000_VALUE, NULL }; static const FieldPart *I002_000_PARTS[] = { &I002_000_VALUE, NULL }; static const AsterixField I002_000 = { FIXED, 1, 0, 0, &hf_002_000, I002_000_PARTS, { NULL } }; static int hf_002_010; static int hf_002_010_SAC; static const FieldPart I002_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_002_010_SAC, NULL }; static int hf_002_010_SIC; static const FieldPart I002_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_002_010_SIC, NULL }; static const FieldPart *I002_010_PARTS[] = { &I002_010_SAC, &I002_010_SIC, NULL }; static const AsterixField I002_010 = { FIXED, 2, 0, 0, &hf_002_010, I002_010_PARTS, { NULL } }; static int hf_002_020; static int hf_002_020_VALUE; static const FieldPart I002_020_VALUE = { 8, 1.40625, FIELD_PART_UFLOAT, &hf_002_020_VALUE, NULL }; static const FieldPart *I002_020_PARTS[] = { &I002_020_VALUE, NULL }; static const AsterixField I002_020 = { FIXED, 1, 0, 0, &hf_002_020, I002_020_PARTS, { NULL } }; static int hf_002_030; static int hf_002_030_VALUE; static const FieldPart I002_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_002_030_VALUE, NULL }; static const FieldPart *I002_030_PARTS[] = { &I002_030_VALUE, NULL }; static const AsterixField I002_030 = { FIXED, 3, 0, 0, &hf_002_030, I002_030_PARTS, { NULL } }; static int hf_002_041; static int hf_002_041_VALUE; static const FieldPart I002_041_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_041_VALUE, NULL }; static const FieldPart *I002_041_PARTS[] = { &I002_041_VALUE, NULL }; static const AsterixField I002_041 = { FIXED, 2, 0, 0, &hf_002_041, I002_041_PARTS, { NULL } }; static int hf_002_050; static int hf_002_050_Subitem; static const FieldPart I002_050_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_050_Subitem, NULL }; static const FieldPart *I002_050_PARTS[] = { &I002_050_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_050 = { FX, 1, 0, 0, &hf_002_050, I002_050_PARTS, { NULL } }; static int hf_002_060; static int hf_002_060_Subitem; static const FieldPart I002_060_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_060_Subitem, NULL }; static const FieldPart *I002_060_PARTS[] = { &I002_060_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_060 = { FX, 1, 0, 0, &hf_002_060, I002_060_PARTS, { NULL } }; static int hf_002_070; static int hf_002_070_A; static const value_string valstr_002_070_A[] = { { 0, "Counter for antenna 1" }, { 1, "Counter for antenna 2" }, { 0, NULL } }; static const FieldPart I002_070_A = { 1, 1.0, FIELD_PART_UINT, &hf_002_070_A, NULL }; static int hf_002_070_IDENT; static const value_string valstr_002_070_IDENT[] = { { 1, "Sole primary plots" }, { 2, "Sole SSR plots" }, { 3, "Combined plots" }, { 0, NULL } }; static const FieldPart I002_070_IDENT = { 5, 1.0, FIELD_PART_UINT, &hf_002_070_IDENT, NULL }; static int hf_002_070_COUNTER; static const FieldPart I002_070_COUNTER = { 10, 1.0, FIELD_PART_UINT, &hf_002_070_COUNTER, NULL }; static const FieldPart *I002_070_PARTS[] = { &I002_070_A, &I002_070_IDENT, &I002_070_COUNTER, NULL }; static const AsterixField I002_070 = { REPETITIVE, 2, 1, 0, &hf_002_070, I002_070_PARTS, { NULL } }; static int hf_002_080; static int hf_002_080_Subitem; static const FieldPart I002_080_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_002_080_Subitem, NULL }; static const FieldPart *I002_080_PARTS[] = { &I002_080_Subitem, &IXXX_FX, NULL }; static const AsterixField I002_080 = { FX, 1, 0, 0, &hf_002_080, I002_080_PARTS, { NULL } }; static int hf_002_090; static int hf_002_090_RE; static const FieldPart I002_090_RE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_002_090_RE, NULL }; static int hf_002_090_AE; static const FieldPart I002_090_AE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_002_090_AE, NULL }; static const FieldPart *I002_090_PARTS[] = { &I002_090_RE, &I002_090_AE, NULL }; static const AsterixField I002_090 = { FIXED, 2, 0, 0, &hf_002_090, I002_090_PARTS, { NULL } }; static int hf_002_100; static int hf_002_100_RS; static const FieldPart I002_100_RS = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_100_RS, NULL }; static int hf_002_100_RE; static const FieldPart I002_100_RE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_002_100_RE, NULL }; static int hf_002_100_TS; static const FieldPart I002_100_TS = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_002_100_TS, NULL }; static int hf_002_100_TE; static const FieldPart I002_100_TE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_002_100_TE, NULL }; static const FieldPart *I002_100_PARTS[] = { &I002_100_RS, &I002_100_RE, &I002_100_TS, &I002_100_TE, NULL }; static const AsterixField I002_100 = { FIXED, 8, 0, 0, &hf_002_100, I002_100_PARTS, { NULL } }; static int hf_002_SP; static const AsterixField I002_SP = { EXP, 0, 0, 1, &hf_002_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I002_V1_1_uap[] = { &I002_V1_1_010, &I002_V1_1_000, &I002_V1_1_020, &I002_V1_1_030, &I002_V1_1_041, &I002_V1_1_050, &I002_V1_1_060, &I002_V1_1_070, &I002_V1_1_100, &I002_V1_1_090, &I002_V1_1_080, &IX_SPARE, &I002_V1_1_SP, NULL }; static const AsterixField **I002_V1_1[] = { I002_V1_1_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I002_uap[] = { &I002_010, &I002_000, &I002_020, &I002_030, &I002_041, &I002_050, &I002_060, &I002_070, &I002_100, &I002_090, &I002_080, &IX_SPARE, &I002_SP, NULL }; static const AsterixField **I002[] = { I002_uap, NULL }; DIAG_ON_PEDANTIC /* Category 004, edition 1.12 */ static int hf_004_V1_12_000; static int hf_004_V1_12_000_VALUE; static const value_string valstr_004_V1_12_000_VALUE[] = { { 1, "Alive Message (AM)" }, { 2, "Route Adherence Monitor Longitudinal Deviation (RAMLD)" }, { 3, "Route Adherence Monitor Heading Deviation (RAMHD)" }, { 4, "Minimum Safe Altitude Warning (MSAW)" }, { 5, "Area Proximity Warning (APW)" }, { 6, "Clearance Level Adherence Monitor (CLAM)" }, { 7, "Short Term Conflict Alert (STCA)" }, { 8, "Approach Path Monitor (APM)" }, { 9, "RIMCAS Arrival / Landing Monitor (ALM)" }, { 10, "RIMCAS Arrival / Departure Wrong Runway Alert (WRA)" }, { 11, "RIMCAS Arrival / Departure Opposite Traffic Alert (OTA)" }, { 12, "RIMCAS Departure Monitor (RDM)" }, { 13, "RIMCAS Runway / Taxiway Crossing Monitor (RCM)" }, { 14, "RIMCAS Taxiway Separation Monitor (TSM)" }, { 15, "RIMCAS Unauthorized Taxiway Movement Monitor(UTMM)" }, { 16, "RIMCAS Stop Bar Overrun Alert (SBOA)" }, { 17, "End Of Conflict (EOC)" }, { 18, "ACAS Resolution Advisory (ACASRA)" }, { 19, "Near Term Conflict Alert (NTCA)" }, { 20, "Downlinked Barometric Pressure Setting Monitor (DBPSM)" }, { 21, "Speed Adherence Monitor (SAM)" }, { 22, "Outside Controlled Airspace Tool (OCAT)" }, { 23, "Vertical Conflict Detection (VCD)" }, { 24, "Vertical Rate Adherence Monitor (VRAM)" }, { 25, "Cleared Heading Adherence Monitor (CHAM)" }, { 26, "Downlinked Selected Altitude Monitor (DSAM)" }, { 27, "Holding Adherence Monitor (HAM)" }, { 28, "Vertical Path Monitor (VPM)" }, { 29, "RIMCAS Taxiway Traffic Alert (TTA)" }, { 30, "RIMCAS Arrival/Departure Close Runway Alert (CRA)" }, { 31, "RIMCAS Arrival/Departure Aircraft Separation Monitor (ASM)" }, { 32, "RIMCAS ILS Area Violation Monitor (IAVM)" }, { 33, "Final Target Distance Indicator (FTD)" }, { 34, "Initial Target Distance Indicator (ITD)" }, { 35, "Wake Vortex Indicator Infringement Alert (IIA)" }, { 36, "Sequence Warning (SQW)" }, { 37, "Catch Up Warning (CUW)" }, { 38, "Conflicting ATC Clearances (CATC)" }, { 39, "No ATC Clearance (NOCLR)" }, { 40, "Aircraft Not Moving despite ATC Clearance (NOMOV)" }, { 41, "Aircraft leaving/entering the aerodrome area without proper handover (NOH)" }, { 42, "Wrong Runway or Taxiway Type (WRTY)" }, { 43, "Stand Occupied (STOCC)" }, { 44, "Ongoing Alert (ONGOING)" }, { 97, "Lost Track Warning (LTW)" }, { 98, "Holding Volume Infringement (HVI)" }, { 99, "Airspace Infringement Warning (AIW)" }, { 0, NULL } }; static const FieldPart I004_V1_12_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_004_V1_12_000_VALUE, NULL }; static const FieldPart *I004_V1_12_000_PARTS[] = { &I004_V1_12_000_VALUE, NULL }; static const AsterixField I004_V1_12_000 = { FIXED, 1, 0, 0, &hf_004_V1_12_000, I004_V1_12_000_PARTS, { NULL } }; static int hf_004_V1_12_010; static int hf_004_V1_12_010_SAC; static const FieldPart I004_V1_12_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_004_V1_12_010_SAC, NULL }; static int hf_004_V1_12_010_SIC; static const FieldPart I004_V1_12_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_004_V1_12_010_SIC, NULL }; static const FieldPart *I004_V1_12_010_PARTS[] = { &I004_V1_12_010_SAC, &I004_V1_12_010_SIC, NULL }; static const AsterixField I004_V1_12_010 = { FIXED, 2, 0, 0, &hf_004_V1_12_010, I004_V1_12_010_PARTS, { NULL } }; static int hf_004_V1_12_015; static int hf_004_V1_12_015_SAC; static const FieldPart I004_V1_12_015_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_004_V1_12_015_SAC, NULL }; static int hf_004_V1_12_015_SIC; static const FieldPart I004_V1_12_015_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_004_V1_12_015_SIC, NULL }; static const FieldPart *I004_V1_12_015_PARTS[] = { &I004_V1_12_015_SAC, &I004_V1_12_015_SIC, NULL }; static const AsterixField I004_V1_12_015 = { REPETITIVE, 2, 1, 0, &hf_004_V1_12_015, I004_V1_12_015_PARTS, { NULL } }; static int hf_004_V1_12_020; static int hf_004_V1_12_020_VALUE; static const FieldPart I004_V1_12_020_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_V1_12_020_VALUE, NULL }; static const FieldPart *I004_V1_12_020_PARTS[] = { &I004_V1_12_020_VALUE, NULL }; static const AsterixField I004_V1_12_020 = { FIXED, 3, 0, 0, &hf_004_V1_12_020, I004_V1_12_020_PARTS, { NULL } }; static int hf_004_V1_12_030; static int hf_004_V1_12_030_VALUE; static const FieldPart I004_V1_12_030_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_004_V1_12_030_VALUE, NULL }; static const FieldPart *I004_V1_12_030_PARTS[] = { &I004_V1_12_030_VALUE, NULL }; static const AsterixField I004_V1_12_030 = { FIXED, 2, 0, 0, &hf_004_V1_12_030, I004_V1_12_030_PARTS, { NULL } }; static int hf_004_V1_12_035; static int hf_004_V1_12_035_VALUE; static const FieldPart I004_V1_12_035_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_004_V1_12_035_VALUE, NULL }; static const FieldPart *I004_V1_12_035_PARTS[] = { &I004_V1_12_035_VALUE, NULL }; static const AsterixField I004_V1_12_035 = { FIXED, 2, 0, 0, &hf_004_V1_12_035, I004_V1_12_035_PARTS, { NULL } }; static int hf_004_V1_12_040; static int hf_004_V1_12_040_VALUE; static const FieldPart I004_V1_12_040_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_004_V1_12_040_VALUE, NULL }; static const FieldPart *I004_V1_12_040_PARTS[] = { &I004_V1_12_040_VALUE, NULL }; static const AsterixField I004_V1_12_040 = { FIXED, 2, 0, 0, &hf_004_V1_12_040, I004_V1_12_040_PARTS, { NULL } }; static int hf_004_V1_12_045; static int hf_004_V1_12_045_STAT; static const FieldPart I004_V1_12_045_STAT = { 3, 1.0, FIELD_PART_HEX, &hf_004_V1_12_045_STAT, NULL }; static const FieldPart *I004_V1_12_045_PARTS[] = { &IXXX_4bit_spare, &I004_V1_12_045_STAT, &IXXX_1bit_spare, NULL }; static const AsterixField I004_V1_12_045 = { FIXED, 1, 0, 0, &hf_004_V1_12_045, I004_V1_12_045_PARTS, { NULL } }; static int hf_004_V1_12_060; static int hf_004_V1_12_060_MRVA; static const value_string valstr_004_V1_12_060_MRVA[] = { { 0, "Default" }, { 1, "MRVA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_MRVA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_MRVA, NULL }; static int hf_004_V1_12_060_RAMLD; static const value_string valstr_004_V1_12_060_RAMLD[] = { { 0, "Default" }, { 1, "RAMLD function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_RAMLD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_RAMLD, NULL }; static int hf_004_V1_12_060_RAMHD; static const value_string valstr_004_V1_12_060_RAMHD[] = { { 0, "Default" }, { 1, "RAMHD function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_RAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_RAMHD, NULL }; static int hf_004_V1_12_060_MSAW; static const value_string valstr_004_V1_12_060_MSAW[] = { { 0, "Default" }, { 1, "MSAW function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_MSAW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_MSAW, NULL }; static int hf_004_V1_12_060_APW; static const value_string valstr_004_V1_12_060_APW[] = { { 0, "Default" }, { 1, "APW function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_APW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_APW, NULL }; static int hf_004_V1_12_060_CLAM; static const value_string valstr_004_V1_12_060_CLAM[] = { { 0, "Default" }, { 1, "CLAM function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_CLAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_CLAM, NULL }; static int hf_004_V1_12_060_STCA; static const value_string valstr_004_V1_12_060_STCA[] = { { 0, "Default" }, { 1, "STCA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_STCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_STCA, NULL }; static int hf_004_V1_12_060_APM; static const value_string valstr_004_V1_12_060_APM[] = { { 0, "Default" }, { 1, "APM function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_APM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_APM, NULL }; static int hf_004_V1_12_060_RIMCA; static const value_string valstr_004_V1_12_060_RIMCA[] = { { 0, "Default" }, { 1, "RIMCA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_RIMCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_RIMCA, NULL }; static int hf_004_V1_12_060_ACASRA; static const value_string valstr_004_V1_12_060_ACASRA[] = { { 0, "Default" }, { 1, "ACAS RA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_ACASRA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_ACASRA, NULL }; static int hf_004_V1_12_060_NTCA; static const value_string valstr_004_V1_12_060_NTCA[] = { { 0, "Default" }, { 1, "NTCA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_NTCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_NTCA, NULL }; static int hf_004_V1_12_060_DG; static const value_string valstr_004_V1_12_060_DG[] = { { 0, "Default" }, { 1, "System degraded" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_DG = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_DG, NULL }; static int hf_004_V1_12_060_OF; static const value_string valstr_004_V1_12_060_OF[] = { { 0, "Default" }, { 1, "Overflow error" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_OF = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_OF, NULL }; static int hf_004_V1_12_060_OL; static const value_string valstr_004_V1_12_060_OL[] = { { 0, "Default" }, { 1, "Overload error" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_OL = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_OL, NULL }; static int hf_004_V1_12_060_AIW; static const value_string valstr_004_V1_12_060_AIW[] = { { 0, "Default" }, { 1, "AIW function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_AIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_AIW, NULL }; static int hf_004_V1_12_060_PAIW; static const value_string valstr_004_V1_12_060_PAIW[] = { { 0, "Default" }, { 1, "PAIW function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_PAIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_PAIW, NULL }; static int hf_004_V1_12_060_OCAT; static const value_string valstr_004_V1_12_060_OCAT[] = { { 0, "Default" }, { 1, "OCAT function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_OCAT = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_OCAT, NULL }; static int hf_004_V1_12_060_SAM; static const value_string valstr_004_V1_12_060_SAM[] = { { 0, "Default" }, { 1, "SAM function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_SAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_SAM, NULL }; static int hf_004_V1_12_060_VCD; static const value_string valstr_004_V1_12_060_VCD[] = { { 0, "Default" }, { 1, "VCD function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_VCD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_VCD, NULL }; static int hf_004_V1_12_060_CHAM; static const value_string valstr_004_V1_12_060_CHAM[] = { { 0, "Default" }, { 1, "CHAM function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_CHAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_CHAM, NULL }; static int hf_004_V1_12_060_DSAM; static const value_string valstr_004_V1_12_060_DSAM[] = { { 0, "Default" }, { 1, "DSAM function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_DSAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_DSAM, NULL }; static int hf_004_V1_12_060_DBPSMARR; static const value_string valstr_004_V1_12_060_DBPSMARR[] = { { 0, "Default" }, { 1, "DBPSM ARR sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_DBPSMARR = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_DBPSMARR, NULL }; static int hf_004_V1_12_060_DBPSMDEP; static const value_string valstr_004_V1_12_060_DBPSMDEP[] = { { 0, "Default" }, { 1, "DBPSM DEP sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_DBPSMDEP = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_DBPSMDEP, NULL }; static int hf_004_V1_12_060_DBPSMTL; static const value_string valstr_004_V1_12_060_DBPSMTL[] = { { 0, "Default" }, { 1, "DBPSM TL sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_DBPSMTL = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_DBPSMTL, NULL }; static int hf_004_V1_12_060_VRAMCRM; static const value_string valstr_004_V1_12_060_VRAMCRM[] = { { 0, "Default" }, { 1, "VRAM CRM sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_VRAMCRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_VRAMCRM, NULL }; static int hf_004_V1_12_060_VRAMVTM; static const value_string valstr_004_V1_12_060_VRAMVTM[] = { { 0, "Default" }, { 1, "VRAM VTM sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_VRAMVTM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_VRAMVTM, NULL }; static int hf_004_V1_12_060_VRAMVRM; static const value_string valstr_004_V1_12_060_VRAMVRM[] = { { 0, "Default" }, { 1, "VRAM VRM sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_VRAMVRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_VRAMVRM, NULL }; static int hf_004_V1_12_060_HAMHD; static const value_string valstr_004_V1_12_060_HAMHD[] = { { 0, "Default" }, { 1, "HAM HD sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_HAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_HAMHD, NULL }; static int hf_004_V1_12_060_HAMRD; static const value_string valstr_004_V1_12_060_HAMRD[] = { { 0, "Default" }, { 1, "HAM RD sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_HAMRD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_HAMRD, NULL }; static int hf_004_V1_12_060_HAMVD; static const value_string valstr_004_V1_12_060_HAMVD[] = { { 0, "Default" }, { 1, "HAM VD sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_HAMVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_HAMVD, NULL }; static int hf_004_V1_12_060_HVI; static const value_string valstr_004_V1_12_060_HVI[] = { { 0, "Default" }, { 1, "HVI function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_HVI = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_HVI, NULL }; static int hf_004_V1_12_060_LTW; static const value_string valstr_004_V1_12_060_LTW[] = { { 0, "Default" }, { 1, "LTW function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_LTW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_LTW, NULL }; static int hf_004_V1_12_060_VPM; static const value_string valstr_004_V1_12_060_VPM[] = { { 0, "Default" }, { 1, "VPM function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_VPM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_VPM, NULL }; static int hf_004_V1_12_060_TTA; static const value_string valstr_004_V1_12_060_TTA[] = { { 0, "Default" }, { 1, "TTA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_TTA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_TTA, NULL }; static int hf_004_V1_12_060_CRA; static const value_string valstr_004_V1_12_060_CRA[] = { { 0, "Default" }, { 1, "CRA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_CRA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_CRA, NULL }; static int hf_004_V1_12_060_ASM; static const value_string valstr_004_V1_12_060_ASM[] = { { 0, "Default" }, { 1, "ASM sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_ASM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_ASM, NULL }; static int hf_004_V1_12_060_IAVM; static const value_string valstr_004_V1_12_060_IAVM[] = { { 0, "Default" }, { 1, "IAVM sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_IAVM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_IAVM, NULL }; static int hf_004_V1_12_060_FTD; static const value_string valstr_004_V1_12_060_FTD[] = { { 0, "Default" }, { 1, "FTD Function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_FTD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_FTD, NULL }; static int hf_004_V1_12_060_ITD; static const value_string valstr_004_V1_12_060_ITD[] = { { 0, "Default" }, { 1, "ITD function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_ITD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_ITD, NULL }; static int hf_004_V1_12_060_IIA; static const value_string valstr_004_V1_12_060_IIA[] = { { 0, "Default" }, { 1, "IIA function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_IIA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_IIA, NULL }; static int hf_004_V1_12_060_SQW; static const value_string valstr_004_V1_12_060_SQW[] = { { 0, "Default" }, { 1, "SQW function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_SQW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_SQW, NULL }; static int hf_004_V1_12_060_CUW; static const value_string valstr_004_V1_12_060_CUW[] = { { 0, "Default" }, { 1, "CUW function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_CUW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_CUW, NULL }; static int hf_004_V1_12_060_CATC; static const value_string valstr_004_V1_12_060_CATC[] = { { 0, "Default" }, { 1, "CATC function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_CATC = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_CATC, NULL }; static int hf_004_V1_12_060_NOCLR; static const value_string valstr_004_V1_12_060_NOCLR[] = { { 0, "Default" }, { 1, "NOCLR sub-function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_NOCLR = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_NOCLR, NULL }; static int hf_004_V1_12_060_NOMOV; static const value_string valstr_004_V1_12_060_NOMOV[] = { { 0, "Default" }, { 1, "NOMOV Function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_NOMOV = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_NOMOV, NULL }; static int hf_004_V1_12_060_NOH; static const value_string valstr_004_V1_12_060_NOH[] = { { 0, "Default" }, { 1, "NOH function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_NOH = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_NOH, NULL }; static int hf_004_V1_12_060_WRTY; static const value_string valstr_004_V1_12_060_WRTY[] = { { 0, "Default" }, { 1, "WRTY function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_WRTY = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_WRTY, NULL }; static int hf_004_V1_12_060_STOCC; static const value_string valstr_004_V1_12_060_STOCC[] = { { 0, "Default" }, { 1, "STOCC function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_STOCC = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_STOCC, NULL }; static int hf_004_V1_12_060_ONGOING; static const value_string valstr_004_V1_12_060_ONGOING[] = { { 0, "Default" }, { 1, "ONGOING function" }, { 0, NULL } }; static const FieldPart I004_V1_12_060_ONGOING = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_060_ONGOING, NULL }; static const FieldPart *I004_V1_12_060_PARTS[] = { &I004_V1_12_060_MRVA, &I004_V1_12_060_RAMLD, &I004_V1_12_060_RAMHD, &I004_V1_12_060_MSAW, &I004_V1_12_060_APW, &I004_V1_12_060_CLAM, &I004_V1_12_060_STCA, &IXXX_FX, &I004_V1_12_060_APM, &I004_V1_12_060_RIMCA, &I004_V1_12_060_ACASRA, &I004_V1_12_060_NTCA, &I004_V1_12_060_DG, &I004_V1_12_060_OF, &I004_V1_12_060_OL, &IXXX_FX, &I004_V1_12_060_AIW, &I004_V1_12_060_PAIW, &I004_V1_12_060_OCAT, &I004_V1_12_060_SAM, &I004_V1_12_060_VCD, &I004_V1_12_060_CHAM, &I004_V1_12_060_DSAM, &IXXX_FX, &I004_V1_12_060_DBPSMARR, &I004_V1_12_060_DBPSMDEP, &I004_V1_12_060_DBPSMTL, &I004_V1_12_060_VRAMCRM, &I004_V1_12_060_VRAMVTM, &I004_V1_12_060_VRAMVRM, &I004_V1_12_060_HAMHD, &IXXX_FX, &I004_V1_12_060_HAMRD, &I004_V1_12_060_HAMVD, &I004_V1_12_060_HVI, &I004_V1_12_060_LTW, &I004_V1_12_060_VPM, &I004_V1_12_060_TTA, &I004_V1_12_060_CRA, &IXXX_FX, &I004_V1_12_060_ASM, &I004_V1_12_060_IAVM, &I004_V1_12_060_FTD, &I004_V1_12_060_ITD, &I004_V1_12_060_IIA, &I004_V1_12_060_SQW, &I004_V1_12_060_CUW, &IXXX_FX, &I004_V1_12_060_CATC, &I004_V1_12_060_NOCLR, &I004_V1_12_060_NOMOV, &I004_V1_12_060_NOH, &I004_V1_12_060_WRTY, &I004_V1_12_060_STOCC, &I004_V1_12_060_ONGOING, &IXXX_FX, NULL }; static const AsterixField I004_V1_12_060 = { FX, 1, 0, 0, &hf_004_V1_12_060, I004_V1_12_060_PARTS, { NULL } }; static int hf_004_V1_12_070; static int hf_004_V1_12_070_TC; static int hf_004_V1_12_070_TC_VALUE; static const FieldPart I004_V1_12_070_TC_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_V1_12_070_TC_VALUE, NULL }; static const FieldPart *I004_V1_12_070_TC_PARTS[] = { &I004_V1_12_070_TC_VALUE, NULL }; static const AsterixField I004_V1_12_070_TC = { FIXED, 3, 0, 0, &hf_004_V1_12_070_TC, I004_V1_12_070_TC_PARTS, { NULL } }; static int hf_004_V1_12_070_TCA; static int hf_004_V1_12_070_TCA_VALUE; static const FieldPart I004_V1_12_070_TCA_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_V1_12_070_TCA_VALUE, NULL }; static const FieldPart *I004_V1_12_070_TCA_PARTS[] = { &I004_V1_12_070_TCA_VALUE, NULL }; static const AsterixField I004_V1_12_070_TCA = { FIXED, 3, 0, 0, &hf_004_V1_12_070_TCA, I004_V1_12_070_TCA_PARTS, { NULL } }; static int hf_004_V1_12_070_CHS; static int hf_004_V1_12_070_CHS_VALUE; static const FieldPart I004_V1_12_070_CHS_VALUE = { 24, 0.5, FIELD_PART_UFLOAT, &hf_004_V1_12_070_CHS_VALUE, NULL }; static const FieldPart *I004_V1_12_070_CHS_PARTS[] = { &I004_V1_12_070_CHS_VALUE, NULL }; static const AsterixField I004_V1_12_070_CHS = { FIXED, 3, 0, 0, &hf_004_V1_12_070_CHS, I004_V1_12_070_CHS_PARTS, { NULL } }; static int hf_004_V1_12_070_MHS; static int hf_004_V1_12_070_MHS_VALUE; static const FieldPart I004_V1_12_070_MHS_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_V1_12_070_MHS_VALUE, NULL }; static const FieldPart *I004_V1_12_070_MHS_PARTS[] = { &I004_V1_12_070_MHS_VALUE, NULL }; static const AsterixField I004_V1_12_070_MHS = { FIXED, 2, 0, 0, &hf_004_V1_12_070_MHS, I004_V1_12_070_MHS_PARTS, { NULL } }; static int hf_004_V1_12_070_CVS; static int hf_004_V1_12_070_CVS_VALUE; static const FieldPart I004_V1_12_070_CVS_VALUE = { 16, 25.0, FIELD_PART_UFLOAT, &hf_004_V1_12_070_CVS_VALUE, NULL }; static const FieldPart *I004_V1_12_070_CVS_PARTS[] = { &I004_V1_12_070_CVS_VALUE, NULL }; static const AsterixField I004_V1_12_070_CVS = { FIXED, 2, 0, 0, &hf_004_V1_12_070_CVS, I004_V1_12_070_CVS_PARTS, { NULL } }; static int hf_004_V1_12_070_MVS; static int hf_004_V1_12_070_MVS_VALUE; static const FieldPart I004_V1_12_070_MVS_VALUE = { 16, 25.0, FIELD_PART_UFLOAT, &hf_004_V1_12_070_MVS_VALUE, NULL }; static const FieldPart *I004_V1_12_070_MVS_PARTS[] = { &I004_V1_12_070_MVS_VALUE, NULL }; static const AsterixField I004_V1_12_070_MVS = { FIXED, 2, 0, 0, &hf_004_V1_12_070_MVS, I004_V1_12_070_MVS_PARTS, { NULL } }; static const AsterixField I004_V1_12_070 = { COMPOUND, 0, 0, 0, &hf_004_V1_12_070, NULL, { &I004_V1_12_070_TC, &I004_V1_12_070_TCA, &I004_V1_12_070_CHS, &I004_V1_12_070_MHS, &I004_V1_12_070_CVS, &I004_V1_12_070_MVS, NULL } }; static int hf_004_V1_12_074; static int hf_004_V1_12_074_VALUE; static const FieldPart I004_V1_12_074_VALUE = { 16, 32.0, FIELD_PART_FLOAT, &hf_004_V1_12_074_VALUE, NULL }; static const FieldPart *I004_V1_12_074_PARTS[] = { &I004_V1_12_074_VALUE, NULL }; static const AsterixField I004_V1_12_074 = { FIXED, 2, 0, 0, &hf_004_V1_12_074, I004_V1_12_074_PARTS, { NULL } }; static int hf_004_V1_12_075; static int hf_004_V1_12_075_VALUE; static const FieldPart I004_V1_12_075_VALUE = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_V1_12_075_VALUE, NULL }; static const FieldPart *I004_V1_12_075_PARTS[] = { &I004_V1_12_075_VALUE, NULL }; static const AsterixField I004_V1_12_075 = { FIXED, 3, 0, 0, &hf_004_V1_12_075, I004_V1_12_075_PARTS, { NULL } }; static int hf_004_V1_12_076; static int hf_004_V1_12_076_VALUE; static const FieldPart I004_V1_12_076_VALUE = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_V1_12_076_VALUE, NULL }; static const FieldPart *I004_V1_12_076_PARTS[] = { &I004_V1_12_076_VALUE, NULL }; static const AsterixField I004_V1_12_076 = { FIXED, 2, 0, 0, &hf_004_V1_12_076, I004_V1_12_076_PARTS, { NULL } }; static int hf_004_V1_12_100; static int hf_004_V1_12_100_AN; static int hf_004_V1_12_100_AN_VALUE; static const FieldPart I004_V1_12_100_AN_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_004_V1_12_100_AN_VALUE, NULL }; static const FieldPart *I004_V1_12_100_AN_PARTS[] = { &I004_V1_12_100_AN_VALUE, NULL }; static const AsterixField I004_V1_12_100_AN = { FIXED, 6, 0, 0, &hf_004_V1_12_100_AN, I004_V1_12_100_AN_PARTS, { NULL } }; static int hf_004_V1_12_100_CAN; static int hf_004_V1_12_100_CAN_VALUE; static const FieldPart I004_V1_12_100_CAN_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_100_CAN_VALUE, NULL }; static const FieldPart *I004_V1_12_100_CAN_PARTS[] = { &I004_V1_12_100_CAN_VALUE, NULL }; static const AsterixField I004_V1_12_100_CAN = { FIXED, 7, 0, 0, &hf_004_V1_12_100_CAN, I004_V1_12_100_CAN_PARTS, { NULL } }; static int hf_004_V1_12_100_RT1; static int hf_004_V1_12_100_RT1_VALUE; static const FieldPart I004_V1_12_100_RT1_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_100_RT1_VALUE, NULL }; static const FieldPart *I004_V1_12_100_RT1_PARTS[] = { &I004_V1_12_100_RT1_VALUE, NULL }; static const AsterixField I004_V1_12_100_RT1 = { FIXED, 7, 0, 0, &hf_004_V1_12_100_RT1, I004_V1_12_100_RT1_PARTS, { NULL } }; static int hf_004_V1_12_100_RT2; static int hf_004_V1_12_100_RT2_VALUE; static const FieldPart I004_V1_12_100_RT2_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_100_RT2_VALUE, NULL }; static const FieldPart *I004_V1_12_100_RT2_PARTS[] = { &I004_V1_12_100_RT2_VALUE, NULL }; static const AsterixField I004_V1_12_100_RT2 = { FIXED, 7, 0, 0, &hf_004_V1_12_100_RT2, I004_V1_12_100_RT2_PARTS, { NULL } }; static int hf_004_V1_12_100_SB; static int hf_004_V1_12_100_SB_VALUE; static const FieldPart I004_V1_12_100_SB_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_100_SB_VALUE, NULL }; static const FieldPart *I004_V1_12_100_SB_PARTS[] = { &I004_V1_12_100_SB_VALUE, NULL }; static const AsterixField I004_V1_12_100_SB = { FIXED, 7, 0, 0, &hf_004_V1_12_100_SB, I004_V1_12_100_SB_PARTS, { NULL } }; static int hf_004_V1_12_100_G; static int hf_004_V1_12_100_G_VALUE; static const FieldPart I004_V1_12_100_G_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_100_G_VALUE, NULL }; static const FieldPart *I004_V1_12_100_G_PARTS[] = { &I004_V1_12_100_G_VALUE, NULL }; static const AsterixField I004_V1_12_100_G = { FIXED, 7, 0, 0, &hf_004_V1_12_100_G, I004_V1_12_100_G_PARTS, { NULL } }; static const AsterixField I004_V1_12_100 = { COMPOUND, 0, 0, 0, &hf_004_V1_12_100, NULL, { &I004_V1_12_100_AN, &I004_V1_12_100_CAN, &I004_V1_12_100_RT1, &I004_V1_12_100_RT2, &I004_V1_12_100_SB, &I004_V1_12_100_G, NULL } }; static int hf_004_V1_12_110; static int hf_004_V1_12_110_CEN; static const FieldPart I004_V1_12_110_CEN = { 8, 1.0, FIELD_PART_HEX, &hf_004_V1_12_110_CEN, NULL }; static int hf_004_V1_12_110_POS; static const FieldPart I004_V1_12_110_POS = { 8, 1.0, FIELD_PART_HEX, &hf_004_V1_12_110_POS, NULL }; static const FieldPart *I004_V1_12_110_PARTS[] = { &I004_V1_12_110_CEN, &I004_V1_12_110_POS, NULL }; static const AsterixField I004_V1_12_110 = { REPETITIVE, 2, 1, 0, &hf_004_V1_12_110, I004_V1_12_110_PARTS, { NULL } }; static int hf_004_V1_12_120; static int hf_004_V1_12_120_CN; static int hf_004_V1_12_120_CN_MAS; static const value_string valstr_004_V1_12_120_CN_MAS[] = { { 0, "Conflict not predicted to occur in military airspace" }, { 1, "Conflict predicted to occur in military airspace" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_MAS = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_MAS, NULL }; static int hf_004_V1_12_120_CN_CAS; static const value_string valstr_004_V1_12_120_CN_CAS[] = { { 0, "Conflict not predicted to occur in civil airspace" }, { 1, "Conflict predicted to occur in civil airspace" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_CAS = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_CAS, NULL }; static int hf_004_V1_12_120_CN_FLD; static const value_string valstr_004_V1_12_120_CN_FLD[] = { { 0, "Aircraft are not fast diverging laterally at current time" }, { 1, "Aircraft are fast diverging laterally at current time" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_FLD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_FLD, NULL }; static int hf_004_V1_12_120_CN_FVD; static const value_string valstr_004_V1_12_120_CN_FVD[] = { { 0, "Aircraft are not fast diverging vertically at current time" }, { 1, "Aircraft are fast diverging vertically at current time" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_FVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_FVD, NULL }; static int hf_004_V1_12_120_CN_TYPE; static const value_string valstr_004_V1_12_120_CN_TYPE[] = { { 0, "Minor separation infringement" }, { 1, "Major separation infringement" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_TYPE = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_TYPE, NULL }; static int hf_004_V1_12_120_CN_CROSS; static const value_string valstr_004_V1_12_120_CN_CROSS[] = { { 0, "Aircraft have not crossed at starting time of conflict" }, { 1, "Aircraft have crossed at starting time of conflict" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_CROSS = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_CROSS, NULL }; static int hf_004_V1_12_120_CN_DIV; static const value_string valstr_004_V1_12_120_CN_DIV[] = { { 0, "Aircraft are not diverging at starting time of conflict" }, { 1, "Aircraft are diverging at starting time of conflict" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_DIV = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_DIV, NULL }; static int hf_004_V1_12_120_CN_RRC; static const value_string valstr_004_V1_12_120_CN_RRC[] = { { 0, "Default" }, { 1, "Runway/Runway Crossing" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_RRC = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_RRC, NULL }; static int hf_004_V1_12_120_CN_RTC; static const value_string valstr_004_V1_12_120_CN_RTC[] = { { 0, "Default" }, { 1, "Runway/Taxiway Crossing" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_RTC = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_RTC, NULL }; static int hf_004_V1_12_120_CN_MRVA; static const value_string valstr_004_V1_12_120_CN_MRVA[] = { { 0, "Default" }, { 1, "Msg Type 4 (MSAW) indicates MRVA" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_MRVA = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_MRVA, NULL }; static int hf_004_V1_12_120_CN_VRAMCRM; static const value_string valstr_004_V1_12_120_CN_VRAMCRM[] = { { 0, "Default" }, { 1, "Msg Type 25 (VRAM) indicates CRM" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_VRAMCRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_VRAMCRM, NULL }; static int hf_004_V1_12_120_CN_VRAMVRM; static const value_string valstr_004_V1_12_120_CN_VRAMVRM[] = { { 0, "Default" }, { 1, "Msg Type 25 (VRAM) indicates VRM" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_VRAMVRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_VRAMVRM, NULL }; static int hf_004_V1_12_120_CN_VRAMVTM; static const value_string valstr_004_V1_12_120_CN_VRAMVTM[] = { { 0, "Default" }, { 1, "Msg Type 25 (VRAM) indicates VTM" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_VRAMVTM = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_VRAMVTM, NULL }; static int hf_004_V1_12_120_CN_HAMHD; static const value_string valstr_004_V1_12_120_CN_HAMHD[] = { { 0, "Default" }, { 1, "Msg Type 29 (HAM) indicates HD" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_HAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_HAMHD, NULL }; static int hf_004_V1_12_120_CN_HAMRD; static const value_string valstr_004_V1_12_120_CN_HAMRD[] = { { 0, "Default" }, { 1, "Msg Type 29 (HAM) indicates RD" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_HAMRD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_HAMRD, NULL }; static int hf_004_V1_12_120_CN_HAMVD; static const value_string valstr_004_V1_12_120_CN_HAMVD[] = { { 0, "Default" }, { 1, "Msg Type 29 (HAM) indicates VD" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_HAMVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_HAMVD, NULL }; static int hf_004_V1_12_120_CN_DBPSMARR; static const value_string valstr_004_V1_12_120_CN_DBPSMARR[] = { { 0, "Default" }, { 1, "Msg Type 20 (DBPSM) indicates ARR" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_DBPSMARR = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_DBPSMARR, NULL }; static int hf_004_V1_12_120_CN_DBPSMDEP; static const value_string valstr_004_V1_12_120_CN_DBPSMDEP[] = { { 0, "Default" }, { 1, "Msg Type 20 (DBPSM) indicates DEP" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_DBPSMDEP = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_DBPSMDEP, NULL }; static int hf_004_V1_12_120_CN_DBPSMTL; static const value_string valstr_004_V1_12_120_CN_DBPSMTL[] = { { 0, "Default" }, { 1, "Msg Type 20 (DBPSM) indicates above TL" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_DBPSMTL = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_DBPSMTL, NULL }; static int hf_004_V1_12_120_CN_AIW; static const value_string valstr_004_V1_12_120_CN_AIW[] = { { 0, "Default" }, { 1, "Msg Type 99 (AIW) indicates pAIW Alert" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CN_AIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CN_AIW, NULL }; static const FieldPart *I004_V1_12_120_CN_PARTS[] = { &I004_V1_12_120_CN_MAS, &I004_V1_12_120_CN_CAS, &I004_V1_12_120_CN_FLD, &I004_V1_12_120_CN_FVD, &I004_V1_12_120_CN_TYPE, &I004_V1_12_120_CN_CROSS, &I004_V1_12_120_CN_DIV, &IXXX_FX, &I004_V1_12_120_CN_RRC, &I004_V1_12_120_CN_RTC, &I004_V1_12_120_CN_MRVA, &I004_V1_12_120_CN_VRAMCRM, &I004_V1_12_120_CN_VRAMVRM, &I004_V1_12_120_CN_VRAMVTM, &I004_V1_12_120_CN_HAMHD, &IXXX_FX, &I004_V1_12_120_CN_HAMRD, &I004_V1_12_120_CN_HAMVD, &I004_V1_12_120_CN_DBPSMARR, &I004_V1_12_120_CN_DBPSMDEP, &I004_V1_12_120_CN_DBPSMTL, &I004_V1_12_120_CN_AIW, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I004_V1_12_120_CN = { FX, 1, 0, 0, &hf_004_V1_12_120_CN, I004_V1_12_120_CN_PARTS, { NULL } }; static int hf_004_V1_12_120_CC; static int hf_004_V1_12_120_CC_TID; static const FieldPart I004_V1_12_120_CC_TID = { 4, 1.0, FIELD_PART_HEX, &hf_004_V1_12_120_CC_TID, NULL }; static int hf_004_V1_12_120_CC_CPC; static const FieldPart I004_V1_12_120_CC_CPC = { 3, 1.0, FIELD_PART_HEX, &hf_004_V1_12_120_CC_CPC, NULL }; static int hf_004_V1_12_120_CC_CS; static const value_string valstr_004_V1_12_120_CC_CS[] = { { 0, "LOW" }, { 1, "HIGH" }, { 0, NULL } }; static const FieldPart I004_V1_12_120_CC_CS = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_120_CC_CS, NULL }; static const FieldPart *I004_V1_12_120_CC_PARTS[] = { &I004_V1_12_120_CC_TID, &I004_V1_12_120_CC_CPC, &I004_V1_12_120_CC_CS, NULL }; static const AsterixField I004_V1_12_120_CC = { FIXED, 1, 0, 0, &hf_004_V1_12_120_CC, I004_V1_12_120_CC_PARTS, { NULL } }; static int hf_004_V1_12_120_CP; static int hf_004_V1_12_120_CP_VALUE; static const FieldPart I004_V1_12_120_CP_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_004_V1_12_120_CP_VALUE, NULL }; static const FieldPart *I004_V1_12_120_CP_PARTS[] = { &I004_V1_12_120_CP_VALUE, NULL }; static const AsterixField I004_V1_12_120_CP = { FIXED, 1, 0, 0, &hf_004_V1_12_120_CP, I004_V1_12_120_CP_PARTS, { NULL } }; static int hf_004_V1_12_120_CD; static int hf_004_V1_12_120_CD_VALUE; static const FieldPart I004_V1_12_120_CD_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_V1_12_120_CD_VALUE, NULL }; static const FieldPart *I004_V1_12_120_CD_PARTS[] = { &I004_V1_12_120_CD_VALUE, NULL }; static const AsterixField I004_V1_12_120_CD = { FIXED, 3, 0, 0, &hf_004_V1_12_120_CD, I004_V1_12_120_CD_PARTS, { NULL } }; static const AsterixField I004_V1_12_120 = { COMPOUND, 0, 0, 0, &hf_004_V1_12_120, NULL, { &I004_V1_12_120_CN, &I004_V1_12_120_CC, &I004_V1_12_120_CP, &I004_V1_12_120_CD, NULL } }; static int hf_004_V1_12_170; static int hf_004_V1_12_170_AI1; static int hf_004_V1_12_170_AI1_VALUE; static const FieldPart I004_V1_12_170_AI1_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_170_AI1_VALUE, NULL }; static const FieldPart *I004_V1_12_170_AI1_PARTS[] = { &I004_V1_12_170_AI1_VALUE, NULL }; static const AsterixField I004_V1_12_170_AI1 = { FIXED, 7, 0, 0, &hf_004_V1_12_170_AI1, I004_V1_12_170_AI1_PARTS, { NULL } }; static int hf_004_V1_12_170_M31; static int hf_004_V1_12_170_M31_MODE3A; static const FieldPart I004_V1_12_170_M31_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_004_V1_12_170_M31_MODE3A, NULL }; static const FieldPart *I004_V1_12_170_M31_PARTS[] = { &IXXX_4bit_spare, &I004_V1_12_170_M31_MODE3A, NULL }; static const AsterixField I004_V1_12_170_M31 = { FIXED, 2, 0, 0, &hf_004_V1_12_170_M31, I004_V1_12_170_M31_PARTS, { NULL } }; static int hf_004_V1_12_170_CPW; static int hf_004_V1_12_170_CPW_LAT; static const FieldPart I004_V1_12_170_CPW_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_V1_12_170_CPW_LAT, NULL }; static int hf_004_V1_12_170_CPW_LON; static const FieldPart I004_V1_12_170_CPW_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_V1_12_170_CPW_LON, NULL }; static int hf_004_V1_12_170_CPW_ALT; static const FieldPart I004_V1_12_170_CPW_ALT = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_V1_12_170_CPW_ALT, NULL }; static const FieldPart *I004_V1_12_170_CPW_PARTS[] = { &I004_V1_12_170_CPW_LAT, &I004_V1_12_170_CPW_LON, &I004_V1_12_170_CPW_ALT, NULL }; static const AsterixField I004_V1_12_170_CPW = { FIXED, 10, 0, 0, &hf_004_V1_12_170_CPW, I004_V1_12_170_CPW_PARTS, { NULL } }; static int hf_004_V1_12_170_CPC; static int hf_004_V1_12_170_CPC_X; static const FieldPart I004_V1_12_170_CPC_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_V1_12_170_CPC_X, NULL }; static int hf_004_V1_12_170_CPC_Y; static const FieldPart I004_V1_12_170_CPC_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_V1_12_170_CPC_Y, NULL }; static int hf_004_V1_12_170_CPC_Z; static const FieldPart I004_V1_12_170_CPC_Z = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_V1_12_170_CPC_Z, NULL }; static const FieldPart *I004_V1_12_170_CPC_PARTS[] = { &I004_V1_12_170_CPC_X, &I004_V1_12_170_CPC_Y, &I004_V1_12_170_CPC_Z, NULL }; static const AsterixField I004_V1_12_170_CPC = { FIXED, 8, 0, 0, &hf_004_V1_12_170_CPC, I004_V1_12_170_CPC_PARTS, { NULL } }; static int hf_004_V1_12_170_TT1; static int hf_004_V1_12_170_TT1_VALUE; static const FieldPart I004_V1_12_170_TT1_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_V1_12_170_TT1_VALUE, NULL }; static const FieldPart *I004_V1_12_170_TT1_PARTS[] = { &I004_V1_12_170_TT1_VALUE, NULL }; static const AsterixField I004_V1_12_170_TT1 = { FIXED, 3, 0, 0, &hf_004_V1_12_170_TT1, I004_V1_12_170_TT1_PARTS, { NULL } }; static int hf_004_V1_12_170_DT1; static int hf_004_V1_12_170_DT1_VALUE; static const FieldPart I004_V1_12_170_DT1_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_V1_12_170_DT1_VALUE, NULL }; static const FieldPart *I004_V1_12_170_DT1_PARTS[] = { &I004_V1_12_170_DT1_VALUE, NULL }; static const AsterixField I004_V1_12_170_DT1 = { FIXED, 2, 0, 0, &hf_004_V1_12_170_DT1, I004_V1_12_170_DT1_PARTS, { NULL } }; static int hf_004_V1_12_170_AC1; static int hf_004_V1_12_170_AC1_GATOAT; static const value_string valstr_004_V1_12_170_AC1_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I004_V1_12_170_AC1_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_170_AC1_GATOAT, NULL }; static int hf_004_V1_12_170_AC1_FR1FR2; static const value_string valstr_004_V1_12_170_AC1_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I004_V1_12_170_AC1_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_170_AC1_FR1FR2, NULL }; static int hf_004_V1_12_170_AC1_RVSM; static const value_string valstr_004_V1_12_170_AC1_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I004_V1_12_170_AC1_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_170_AC1_RVSM, NULL }; static int hf_004_V1_12_170_AC1_HPR; static const value_string valstr_004_V1_12_170_AC1_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I004_V1_12_170_AC1_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_170_AC1_HPR, NULL }; static int hf_004_V1_12_170_AC1_CDM; static const value_string valstr_004_V1_12_170_AC1_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I004_V1_12_170_AC1_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_170_AC1_CDM, NULL }; static int hf_004_V1_12_170_AC1_PRI; static const value_string valstr_004_V1_12_170_AC1_PRI[] = { { 0, "Non primary target" }, { 1, "Primary target" }, { 0, NULL } }; static const FieldPart I004_V1_12_170_AC1_PRI = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_170_AC1_PRI, NULL }; static int hf_004_V1_12_170_AC1_GV; static const value_string valstr_004_V1_12_170_AC1_GV[] = { { 0, "Default" }, { 1, "Ground Vehicle" }, { 0, NULL } }; static const FieldPart I004_V1_12_170_AC1_GV = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_170_AC1_GV, NULL }; static const FieldPart *I004_V1_12_170_AC1_PARTS[] = { &I004_V1_12_170_AC1_GATOAT, &I004_V1_12_170_AC1_FR1FR2, &I004_V1_12_170_AC1_RVSM, &I004_V1_12_170_AC1_HPR, &IXXX_FX, &I004_V1_12_170_AC1_CDM, &I004_V1_12_170_AC1_PRI, &I004_V1_12_170_AC1_GV, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I004_V1_12_170_AC1 = { FX, 1, 0, 0, &hf_004_V1_12_170_AC1, I004_V1_12_170_AC1_PARTS, { NULL } }; static int hf_004_V1_12_170_MS1; static int hf_004_V1_12_170_MS1_VALUE; static const FieldPart I004_V1_12_170_MS1_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_170_MS1_VALUE, NULL }; static const FieldPart *I004_V1_12_170_MS1_PARTS[] = { &I004_V1_12_170_MS1_VALUE, NULL }; static const AsterixField I004_V1_12_170_MS1 = { FIXED, 6, 0, 0, &hf_004_V1_12_170_MS1, I004_V1_12_170_MS1_PARTS, { NULL } }; static int hf_004_V1_12_170_FP1; static int hf_004_V1_12_170_FP1_NBR; static const FieldPart I004_V1_12_170_FP1_NBR = { 27, 1.0, FIELD_PART_UFLOAT, &hf_004_V1_12_170_FP1_NBR, NULL }; static const FieldPart *I004_V1_12_170_FP1_PARTS[] = { &IXXX_5bit_spare, &I004_V1_12_170_FP1_NBR, NULL }; static const AsterixField I004_V1_12_170_FP1 = { FIXED, 4, 0, 0, &hf_004_V1_12_170_FP1, I004_V1_12_170_FP1_PARTS, { NULL } }; static int hf_004_V1_12_170_CF1; static int hf_004_V1_12_170_CF1_VALUE; static const FieldPart I004_V1_12_170_CF1_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_004_V1_12_170_CF1_VALUE, NULL }; static const FieldPart *I004_V1_12_170_CF1_PARTS[] = { &I004_V1_12_170_CF1_VALUE, NULL }; static const AsterixField I004_V1_12_170_CF1 = { FIXED, 2, 0, 0, &hf_004_V1_12_170_CF1, I004_V1_12_170_CF1_PARTS, { NULL } }; static const AsterixField I004_V1_12_170 = { COMPOUND, 0, 0, 0, &hf_004_V1_12_170, NULL, { &I004_V1_12_170_AI1, &I004_V1_12_170_M31, &I004_V1_12_170_CPW, &I004_V1_12_170_CPC, &I004_V1_12_170_TT1, &I004_V1_12_170_DT1, &I004_V1_12_170_AC1, &I004_V1_12_170_MS1, &I004_V1_12_170_FP1, &I004_V1_12_170_CF1, NULL } }; static int hf_004_V1_12_171; static int hf_004_V1_12_171_AI2; static int hf_004_V1_12_171_AI2_VALUE; static const FieldPart I004_V1_12_171_AI2_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_171_AI2_VALUE, NULL }; static const FieldPart *I004_V1_12_171_AI2_PARTS[] = { &I004_V1_12_171_AI2_VALUE, NULL }; static const AsterixField I004_V1_12_171_AI2 = { FIXED, 7, 0, 0, &hf_004_V1_12_171_AI2, I004_V1_12_171_AI2_PARTS, { NULL } }; static int hf_004_V1_12_171_M32; static int hf_004_V1_12_171_M32_MODE3A; static const FieldPart I004_V1_12_171_M32_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_004_V1_12_171_M32_MODE3A, NULL }; static const FieldPart *I004_V1_12_171_M32_PARTS[] = { &IXXX_4bit_spare, &I004_V1_12_171_M32_MODE3A, NULL }; static const AsterixField I004_V1_12_171_M32 = { FIXED, 2, 0, 0, &hf_004_V1_12_171_M32, I004_V1_12_171_M32_PARTS, { NULL } }; static int hf_004_V1_12_171_CPW; static int hf_004_V1_12_171_CPW_LAT; static const FieldPart I004_V1_12_171_CPW_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_V1_12_171_CPW_LAT, NULL }; static int hf_004_V1_12_171_CPW_LON; static const FieldPart I004_V1_12_171_CPW_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_V1_12_171_CPW_LON, NULL }; static int hf_004_V1_12_171_CPW_ALT; static const FieldPart I004_V1_12_171_CPW_ALT = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_V1_12_171_CPW_ALT, NULL }; static const FieldPart *I004_V1_12_171_CPW_PARTS[] = { &I004_V1_12_171_CPW_LAT, &I004_V1_12_171_CPW_LON, &I004_V1_12_171_CPW_ALT, NULL }; static const AsterixField I004_V1_12_171_CPW = { FIXED, 10, 0, 0, &hf_004_V1_12_171_CPW, I004_V1_12_171_CPW_PARTS, { NULL } }; static int hf_004_V1_12_171_CPL; static int hf_004_V1_12_171_CPL_X; static const FieldPart I004_V1_12_171_CPL_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_V1_12_171_CPL_X, NULL }; static int hf_004_V1_12_171_CPL_Y; static const FieldPart I004_V1_12_171_CPL_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_V1_12_171_CPL_Y, NULL }; static int hf_004_V1_12_171_CPL_Z; static const FieldPart I004_V1_12_171_CPL_Z = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_V1_12_171_CPL_Z, NULL }; static const FieldPart *I004_V1_12_171_CPL_PARTS[] = { &I004_V1_12_171_CPL_X, &I004_V1_12_171_CPL_Y, &I004_V1_12_171_CPL_Z, NULL }; static const AsterixField I004_V1_12_171_CPL = { FIXED, 8, 0, 0, &hf_004_V1_12_171_CPL, I004_V1_12_171_CPL_PARTS, { NULL } }; static int hf_004_V1_12_171_TT2; static int hf_004_V1_12_171_TT2_VALUE; static const FieldPart I004_V1_12_171_TT2_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_V1_12_171_TT2_VALUE, NULL }; static const FieldPart *I004_V1_12_171_TT2_PARTS[] = { &I004_V1_12_171_TT2_VALUE, NULL }; static const AsterixField I004_V1_12_171_TT2 = { FIXED, 3, 0, 0, &hf_004_V1_12_171_TT2, I004_V1_12_171_TT2_PARTS, { NULL } }; static int hf_004_V1_12_171_DT2; static int hf_004_V1_12_171_DT2_VALUE; static const FieldPart I004_V1_12_171_DT2_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_V1_12_171_DT2_VALUE, NULL }; static const FieldPart *I004_V1_12_171_DT2_PARTS[] = { &I004_V1_12_171_DT2_VALUE, NULL }; static const AsterixField I004_V1_12_171_DT2 = { FIXED, 2, 0, 0, &hf_004_V1_12_171_DT2, I004_V1_12_171_DT2_PARTS, { NULL } }; static int hf_004_V1_12_171_AC2; static int hf_004_V1_12_171_AC2_GATOAT; static const value_string valstr_004_V1_12_171_AC2_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I004_V1_12_171_AC2_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_171_AC2_GATOAT, NULL }; static int hf_004_V1_12_171_AC2_FR1FR2; static const value_string valstr_004_V1_12_171_AC2_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I004_V1_12_171_AC2_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_171_AC2_FR1FR2, NULL }; static int hf_004_V1_12_171_AC2_RVSM; static const value_string valstr_004_V1_12_171_AC2_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I004_V1_12_171_AC2_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_171_AC2_RVSM, NULL }; static int hf_004_V1_12_171_AC2_HPR; static const value_string valstr_004_V1_12_171_AC2_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I004_V1_12_171_AC2_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_171_AC2_HPR, NULL }; static int hf_004_V1_12_171_AC2_CDM; static const value_string valstr_004_V1_12_171_AC2_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I004_V1_12_171_AC2_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_004_V1_12_171_AC2_CDM, NULL }; static int hf_004_V1_12_171_AC2_PRI; static const value_string valstr_004_V1_12_171_AC2_PRI[] = { { 0, "Non primary target" }, { 1, "Primary target" }, { 0, NULL } }; static const FieldPart I004_V1_12_171_AC2_PRI = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_171_AC2_PRI, NULL }; static int hf_004_V1_12_171_AC2_GV; static const value_string valstr_004_V1_12_171_AC2_GV[] = { { 0, "Default" }, { 1, "Ground Vehicle" }, { 0, NULL } }; static const FieldPart I004_V1_12_171_AC2_GV = { 1, 1.0, FIELD_PART_UINT, &hf_004_V1_12_171_AC2_GV, NULL }; static const FieldPart *I004_V1_12_171_AC2_PARTS[] = { &I004_V1_12_171_AC2_GATOAT, &I004_V1_12_171_AC2_FR1FR2, &I004_V1_12_171_AC2_RVSM, &I004_V1_12_171_AC2_HPR, &IXXX_FX, &I004_V1_12_171_AC2_CDM, &I004_V1_12_171_AC2_PRI, &I004_V1_12_171_AC2_GV, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I004_V1_12_171_AC2 = { FX, 1, 0, 0, &hf_004_V1_12_171_AC2, I004_V1_12_171_AC2_PARTS, { NULL } }; static int hf_004_V1_12_171_MS2; static int hf_004_V1_12_171_MS2_VALUE; static const FieldPart I004_V1_12_171_MS2_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_004_V1_12_171_MS2_VALUE, NULL }; static const FieldPart *I004_V1_12_171_MS2_PARTS[] = { &I004_V1_12_171_MS2_VALUE, NULL }; static const AsterixField I004_V1_12_171_MS2 = { FIXED, 6, 0, 0, &hf_004_V1_12_171_MS2, I004_V1_12_171_MS2_PARTS, { NULL } }; static int hf_004_V1_12_171_FP2; static int hf_004_V1_12_171_FP2_NBR; static const FieldPart I004_V1_12_171_FP2_NBR = { 27, 1.0, FIELD_PART_UFLOAT, &hf_004_V1_12_171_FP2_NBR, NULL }; static const FieldPart *I004_V1_12_171_FP2_PARTS[] = { &IXXX_5bit_spare, &I004_V1_12_171_FP2_NBR, NULL }; static const AsterixField I004_V1_12_171_FP2 = { FIXED, 4, 0, 0, &hf_004_V1_12_171_FP2, I004_V1_12_171_FP2_PARTS, { NULL } }; static int hf_004_V1_12_171_CF2; static int hf_004_V1_12_171_CF2_VALUE; static const FieldPart I004_V1_12_171_CF2_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_004_V1_12_171_CF2_VALUE, NULL }; static const FieldPart *I004_V1_12_171_CF2_PARTS[] = { &I004_V1_12_171_CF2_VALUE, NULL }; static const AsterixField I004_V1_12_171_CF2 = { FIXED, 2, 0, 0, &hf_004_V1_12_171_CF2, I004_V1_12_171_CF2_PARTS, { NULL } }; static const AsterixField I004_V1_12_171 = { COMPOUND, 0, 0, 0, &hf_004_V1_12_171, NULL, { &I004_V1_12_171_AI2, &I004_V1_12_171_M32, &I004_V1_12_171_CPW, &I004_V1_12_171_CPL, &I004_V1_12_171_TT2, &I004_V1_12_171_DT2, &I004_V1_12_171_AC2, &I004_V1_12_171_MS2, &I004_V1_12_171_FP2, &I004_V1_12_171_CF2, NULL } }; static int hf_004_V1_12_RE; static const AsterixField I004_V1_12_RE = { EXP, 0, 0, 1, &hf_004_V1_12_RE, NULL, { NULL } }; static int hf_004_V1_12_SP; static const AsterixField I004_V1_12_SP = { EXP, 0, 0, 1, &hf_004_V1_12_SP, NULL, { NULL } }; /* Category 004, edition 1.12 (latest) */ static int hf_004_000; static int hf_004_000_VALUE; static const value_string valstr_004_000_VALUE[] = { { 1, "Alive Message (AM)" }, { 2, "Route Adherence Monitor Longitudinal Deviation (RAMLD)" }, { 3, "Route Adherence Monitor Heading Deviation (RAMHD)" }, { 4, "Minimum Safe Altitude Warning (MSAW)" }, { 5, "Area Proximity Warning (APW)" }, { 6, "Clearance Level Adherence Monitor (CLAM)" }, { 7, "Short Term Conflict Alert (STCA)" }, { 8, "Approach Path Monitor (APM)" }, { 9, "RIMCAS Arrival / Landing Monitor (ALM)" }, { 10, "RIMCAS Arrival / Departure Wrong Runway Alert (WRA)" }, { 11, "RIMCAS Arrival / Departure Opposite Traffic Alert (OTA)" }, { 12, "RIMCAS Departure Monitor (RDM)" }, { 13, "RIMCAS Runway / Taxiway Crossing Monitor (RCM)" }, { 14, "RIMCAS Taxiway Separation Monitor (TSM)" }, { 15, "RIMCAS Unauthorized Taxiway Movement Monitor(UTMM)" }, { 16, "RIMCAS Stop Bar Overrun Alert (SBOA)" }, { 17, "End Of Conflict (EOC)" }, { 18, "ACAS Resolution Advisory (ACASRA)" }, { 19, "Near Term Conflict Alert (NTCA)" }, { 20, "Downlinked Barometric Pressure Setting Monitor (DBPSM)" }, { 21, "Speed Adherence Monitor (SAM)" }, { 22, "Outside Controlled Airspace Tool (OCAT)" }, { 23, "Vertical Conflict Detection (VCD)" }, { 24, "Vertical Rate Adherence Monitor (VRAM)" }, { 25, "Cleared Heading Adherence Monitor (CHAM)" }, { 26, "Downlinked Selected Altitude Monitor (DSAM)" }, { 27, "Holding Adherence Monitor (HAM)" }, { 28, "Vertical Path Monitor (VPM)" }, { 29, "RIMCAS Taxiway Traffic Alert (TTA)" }, { 30, "RIMCAS Arrival/Departure Close Runway Alert (CRA)" }, { 31, "RIMCAS Arrival/Departure Aircraft Separation Monitor (ASM)" }, { 32, "RIMCAS ILS Area Violation Monitor (IAVM)" }, { 33, "Final Target Distance Indicator (FTD)" }, { 34, "Initial Target Distance Indicator (ITD)" }, { 35, "Wake Vortex Indicator Infringement Alert (IIA)" }, { 36, "Sequence Warning (SQW)" }, { 37, "Catch Up Warning (CUW)" }, { 38, "Conflicting ATC Clearances (CATC)" }, { 39, "No ATC Clearance (NOCLR)" }, { 40, "Aircraft Not Moving despite ATC Clearance (NOMOV)" }, { 41, "Aircraft leaving/entering the aerodrome area without proper handover (NOH)" }, { 42, "Wrong Runway or Taxiway Type (WRTY)" }, { 43, "Stand Occupied (STOCC)" }, { 44, "Ongoing Alert (ONGOING)" }, { 97, "Lost Track Warning (LTW)" }, { 98, "Holding Volume Infringement (HVI)" }, { 99, "Airspace Infringement Warning (AIW)" }, { 0, NULL } }; static const FieldPart I004_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_004_000_VALUE, NULL }; static const FieldPart *I004_000_PARTS[] = { &I004_000_VALUE, NULL }; static const AsterixField I004_000 = { FIXED, 1, 0, 0, &hf_004_000, I004_000_PARTS, { NULL } }; static int hf_004_010; static int hf_004_010_SAC; static const FieldPart I004_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_004_010_SAC, NULL }; static int hf_004_010_SIC; static const FieldPart I004_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_004_010_SIC, NULL }; static const FieldPart *I004_010_PARTS[] = { &I004_010_SAC, &I004_010_SIC, NULL }; static const AsterixField I004_010 = { FIXED, 2, 0, 0, &hf_004_010, I004_010_PARTS, { NULL } }; static int hf_004_015; static int hf_004_015_SAC; static const FieldPart I004_015_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_004_015_SAC, NULL }; static int hf_004_015_SIC; static const FieldPart I004_015_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_004_015_SIC, NULL }; static const FieldPart *I004_015_PARTS[] = { &I004_015_SAC, &I004_015_SIC, NULL }; static const AsterixField I004_015 = { REPETITIVE, 2, 1, 0, &hf_004_015, I004_015_PARTS, { NULL } }; static int hf_004_020; static int hf_004_020_VALUE; static const FieldPart I004_020_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_020_VALUE, NULL }; static const FieldPart *I004_020_PARTS[] = { &I004_020_VALUE, NULL }; static const AsterixField I004_020 = { FIXED, 3, 0, 0, &hf_004_020, I004_020_PARTS, { NULL } }; static int hf_004_030; static int hf_004_030_VALUE; static const FieldPart I004_030_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_004_030_VALUE, NULL }; static const FieldPart *I004_030_PARTS[] = { &I004_030_VALUE, NULL }; static const AsterixField I004_030 = { FIXED, 2, 0, 0, &hf_004_030, I004_030_PARTS, { NULL } }; static int hf_004_035; static int hf_004_035_VALUE; static const FieldPart I004_035_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_004_035_VALUE, NULL }; static const FieldPart *I004_035_PARTS[] = { &I004_035_VALUE, NULL }; static const AsterixField I004_035 = { FIXED, 2, 0, 0, &hf_004_035, I004_035_PARTS, { NULL } }; static int hf_004_040; static int hf_004_040_VALUE; static const FieldPart I004_040_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_004_040_VALUE, NULL }; static const FieldPart *I004_040_PARTS[] = { &I004_040_VALUE, NULL }; static const AsterixField I004_040 = { FIXED, 2, 0, 0, &hf_004_040, I004_040_PARTS, { NULL } }; static int hf_004_045; static int hf_004_045_STAT; static const FieldPart I004_045_STAT = { 3, 1.0, FIELD_PART_HEX, &hf_004_045_STAT, NULL }; static const FieldPart *I004_045_PARTS[] = { &IXXX_4bit_spare, &I004_045_STAT, &IXXX_1bit_spare, NULL }; static const AsterixField I004_045 = { FIXED, 1, 0, 0, &hf_004_045, I004_045_PARTS, { NULL } }; static int hf_004_060; static int hf_004_060_MRVA; static const value_string valstr_004_060_MRVA[] = { { 0, "Default" }, { 1, "MRVA function" }, { 0, NULL } }; static const FieldPart I004_060_MRVA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_MRVA, NULL }; static int hf_004_060_RAMLD; static const value_string valstr_004_060_RAMLD[] = { { 0, "Default" }, { 1, "RAMLD function" }, { 0, NULL } }; static const FieldPart I004_060_RAMLD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_RAMLD, NULL }; static int hf_004_060_RAMHD; static const value_string valstr_004_060_RAMHD[] = { { 0, "Default" }, { 1, "RAMHD function" }, { 0, NULL } }; static const FieldPart I004_060_RAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_RAMHD, NULL }; static int hf_004_060_MSAW; static const value_string valstr_004_060_MSAW[] = { { 0, "Default" }, { 1, "MSAW function" }, { 0, NULL } }; static const FieldPart I004_060_MSAW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_MSAW, NULL }; static int hf_004_060_APW; static const value_string valstr_004_060_APW[] = { { 0, "Default" }, { 1, "APW function" }, { 0, NULL } }; static const FieldPart I004_060_APW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_APW, NULL }; static int hf_004_060_CLAM; static const value_string valstr_004_060_CLAM[] = { { 0, "Default" }, { 1, "CLAM function" }, { 0, NULL } }; static const FieldPart I004_060_CLAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CLAM, NULL }; static int hf_004_060_STCA; static const value_string valstr_004_060_STCA[] = { { 0, "Default" }, { 1, "STCA function" }, { 0, NULL } }; static const FieldPart I004_060_STCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_STCA, NULL }; static int hf_004_060_APM; static const value_string valstr_004_060_APM[] = { { 0, "Default" }, { 1, "APM function" }, { 0, NULL } }; static const FieldPart I004_060_APM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_APM, NULL }; static int hf_004_060_RIMCA; static const value_string valstr_004_060_RIMCA[] = { { 0, "Default" }, { 1, "RIMCA function" }, { 0, NULL } }; static const FieldPart I004_060_RIMCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_RIMCA, NULL }; static int hf_004_060_ACASRA; static const value_string valstr_004_060_ACASRA[] = { { 0, "Default" }, { 1, "ACAS RA function" }, { 0, NULL } }; static const FieldPart I004_060_ACASRA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_ACASRA, NULL }; static int hf_004_060_NTCA; static const value_string valstr_004_060_NTCA[] = { { 0, "Default" }, { 1, "NTCA function" }, { 0, NULL } }; static const FieldPart I004_060_NTCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_NTCA, NULL }; static int hf_004_060_DG; static const value_string valstr_004_060_DG[] = { { 0, "Default" }, { 1, "System degraded" }, { 0, NULL } }; static const FieldPart I004_060_DG = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DG, NULL }; static int hf_004_060_OF; static const value_string valstr_004_060_OF[] = { { 0, "Default" }, { 1, "Overflow error" }, { 0, NULL } }; static const FieldPart I004_060_OF = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_OF, NULL }; static int hf_004_060_OL; static const value_string valstr_004_060_OL[] = { { 0, "Default" }, { 1, "Overload error" }, { 0, NULL } }; static const FieldPart I004_060_OL = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_OL, NULL }; static int hf_004_060_AIW; static const value_string valstr_004_060_AIW[] = { { 0, "Default" }, { 1, "AIW function" }, { 0, NULL } }; static const FieldPart I004_060_AIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_AIW, NULL }; static int hf_004_060_PAIW; static const value_string valstr_004_060_PAIW[] = { { 0, "Default" }, { 1, "PAIW function" }, { 0, NULL } }; static const FieldPart I004_060_PAIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_PAIW, NULL }; static int hf_004_060_OCAT; static const value_string valstr_004_060_OCAT[] = { { 0, "Default" }, { 1, "OCAT function" }, { 0, NULL } }; static const FieldPart I004_060_OCAT = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_OCAT, NULL }; static int hf_004_060_SAM; static const value_string valstr_004_060_SAM[] = { { 0, "Default" }, { 1, "SAM function" }, { 0, NULL } }; static const FieldPart I004_060_SAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_SAM, NULL }; static int hf_004_060_VCD; static const value_string valstr_004_060_VCD[] = { { 0, "Default" }, { 1, "VCD function" }, { 0, NULL } }; static const FieldPart I004_060_VCD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VCD, NULL }; static int hf_004_060_CHAM; static const value_string valstr_004_060_CHAM[] = { { 0, "Default" }, { 1, "CHAM function" }, { 0, NULL } }; static const FieldPart I004_060_CHAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CHAM, NULL }; static int hf_004_060_DSAM; static const value_string valstr_004_060_DSAM[] = { { 0, "Default" }, { 1, "DSAM function" }, { 0, NULL } }; static const FieldPart I004_060_DSAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DSAM, NULL }; static int hf_004_060_DBPSMARR; static const value_string valstr_004_060_DBPSMARR[] = { { 0, "Default" }, { 1, "DBPSM ARR sub-function" }, { 0, NULL } }; static const FieldPart I004_060_DBPSMARR = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DBPSMARR, NULL }; static int hf_004_060_DBPSMDEP; static const value_string valstr_004_060_DBPSMDEP[] = { { 0, "Default" }, { 1, "DBPSM DEP sub-function" }, { 0, NULL } }; static const FieldPart I004_060_DBPSMDEP = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DBPSMDEP, NULL }; static int hf_004_060_DBPSMTL; static const value_string valstr_004_060_DBPSMTL[] = { { 0, "Default" }, { 1, "DBPSM TL sub-function" }, { 0, NULL } }; static const FieldPart I004_060_DBPSMTL = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DBPSMTL, NULL }; static int hf_004_060_VRAMCRM; static const value_string valstr_004_060_VRAMCRM[] = { { 0, "Default" }, { 1, "VRAM CRM sub-function" }, { 0, NULL } }; static const FieldPart I004_060_VRAMCRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VRAMCRM, NULL }; static int hf_004_060_VRAMVTM; static const value_string valstr_004_060_VRAMVTM[] = { { 0, "Default" }, { 1, "VRAM VTM sub-function" }, { 0, NULL } }; static const FieldPart I004_060_VRAMVTM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VRAMVTM, NULL }; static int hf_004_060_VRAMVRM; static const value_string valstr_004_060_VRAMVRM[] = { { 0, "Default" }, { 1, "VRAM VRM sub-function" }, { 0, NULL } }; static const FieldPart I004_060_VRAMVRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VRAMVRM, NULL }; static int hf_004_060_HAMHD; static const value_string valstr_004_060_HAMHD[] = { { 0, "Default" }, { 1, "HAM HD sub-function" }, { 0, NULL } }; static const FieldPart I004_060_HAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HAMHD, NULL }; static int hf_004_060_HAMRD; static const value_string valstr_004_060_HAMRD[] = { { 0, "Default" }, { 1, "HAM RD sub-function" }, { 0, NULL } }; static const FieldPart I004_060_HAMRD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HAMRD, NULL }; static int hf_004_060_HAMVD; static const value_string valstr_004_060_HAMVD[] = { { 0, "Default" }, { 1, "HAM VD sub-function" }, { 0, NULL } }; static const FieldPart I004_060_HAMVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HAMVD, NULL }; static int hf_004_060_HVI; static const value_string valstr_004_060_HVI[] = { { 0, "Default" }, { 1, "HVI function" }, { 0, NULL } }; static const FieldPart I004_060_HVI = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HVI, NULL }; static int hf_004_060_LTW; static const value_string valstr_004_060_LTW[] = { { 0, "Default" }, { 1, "LTW function" }, { 0, NULL } }; static const FieldPart I004_060_LTW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_LTW, NULL }; static int hf_004_060_VPM; static const value_string valstr_004_060_VPM[] = { { 0, "Default" }, { 1, "VPM function" }, { 0, NULL } }; static const FieldPart I004_060_VPM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VPM, NULL }; static int hf_004_060_TTA; static const value_string valstr_004_060_TTA[] = { { 0, "Default" }, { 1, "TTA function" }, { 0, NULL } }; static const FieldPart I004_060_TTA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_TTA, NULL }; static int hf_004_060_CRA; static const value_string valstr_004_060_CRA[] = { { 0, "Default" }, { 1, "CRA function" }, { 0, NULL } }; static const FieldPart I004_060_CRA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CRA, NULL }; static int hf_004_060_ASM; static const value_string valstr_004_060_ASM[] = { { 0, "Default" }, { 1, "ASM sub-function" }, { 0, NULL } }; static const FieldPart I004_060_ASM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_ASM, NULL }; static int hf_004_060_IAVM; static const value_string valstr_004_060_IAVM[] = { { 0, "Default" }, { 1, "IAVM sub-function" }, { 0, NULL } }; static const FieldPart I004_060_IAVM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_IAVM, NULL }; static int hf_004_060_FTD; static const value_string valstr_004_060_FTD[] = { { 0, "Default" }, { 1, "FTD Function" }, { 0, NULL } }; static const FieldPart I004_060_FTD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_FTD, NULL }; static int hf_004_060_ITD; static const value_string valstr_004_060_ITD[] = { { 0, "Default" }, { 1, "ITD function" }, { 0, NULL } }; static const FieldPart I004_060_ITD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_ITD, NULL }; static int hf_004_060_IIA; static const value_string valstr_004_060_IIA[] = { { 0, "Default" }, { 1, "IIA function" }, { 0, NULL } }; static const FieldPart I004_060_IIA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_IIA, NULL }; static int hf_004_060_SQW; static const value_string valstr_004_060_SQW[] = { { 0, "Default" }, { 1, "SQW function" }, { 0, NULL } }; static const FieldPart I004_060_SQW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_SQW, NULL }; static int hf_004_060_CUW; static const value_string valstr_004_060_CUW[] = { { 0, "Default" }, { 1, "CUW function" }, { 0, NULL } }; static const FieldPart I004_060_CUW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CUW, NULL }; static int hf_004_060_CATC; static const value_string valstr_004_060_CATC[] = { { 0, "Default" }, { 1, "CATC function" }, { 0, NULL } }; static const FieldPart I004_060_CATC = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CATC, NULL }; static int hf_004_060_NOCLR; static const value_string valstr_004_060_NOCLR[] = { { 0, "Default" }, { 1, "NOCLR sub-function" }, { 0, NULL } }; static const FieldPart I004_060_NOCLR = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_NOCLR, NULL }; static int hf_004_060_NOMOV; static const value_string valstr_004_060_NOMOV[] = { { 0, "Default" }, { 1, "NOMOV Function" }, { 0, NULL } }; static const FieldPart I004_060_NOMOV = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_NOMOV, NULL }; static int hf_004_060_NOH; static const value_string valstr_004_060_NOH[] = { { 0, "Default" }, { 1, "NOH function" }, { 0, NULL } }; static const FieldPart I004_060_NOH = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_NOH, NULL }; static int hf_004_060_WRTY; static const value_string valstr_004_060_WRTY[] = { { 0, "Default" }, { 1, "WRTY function" }, { 0, NULL } }; static const FieldPart I004_060_WRTY = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_WRTY, NULL }; static int hf_004_060_STOCC; static const value_string valstr_004_060_STOCC[] = { { 0, "Default" }, { 1, "STOCC function" }, { 0, NULL } }; static const FieldPart I004_060_STOCC = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_STOCC, NULL }; static int hf_004_060_ONGOING; static const value_string valstr_004_060_ONGOING[] = { { 0, "Default" }, { 1, "ONGOING function" }, { 0, NULL } }; static const FieldPart I004_060_ONGOING = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_ONGOING, NULL }; static const FieldPart *I004_060_PARTS[] = { &I004_060_MRVA, &I004_060_RAMLD, &I004_060_RAMHD, &I004_060_MSAW, &I004_060_APW, &I004_060_CLAM, &I004_060_STCA, &IXXX_FX, &I004_060_APM, &I004_060_RIMCA, &I004_060_ACASRA, &I004_060_NTCA, &I004_060_DG, &I004_060_OF, &I004_060_OL, &IXXX_FX, &I004_060_AIW, &I004_060_PAIW, &I004_060_OCAT, &I004_060_SAM, &I004_060_VCD, &I004_060_CHAM, &I004_060_DSAM, &IXXX_FX, &I004_060_DBPSMARR, &I004_060_DBPSMDEP, &I004_060_DBPSMTL, &I004_060_VRAMCRM, &I004_060_VRAMVTM, &I004_060_VRAMVRM, &I004_060_HAMHD, &IXXX_FX, &I004_060_HAMRD, &I004_060_HAMVD, &I004_060_HVI, &I004_060_LTW, &I004_060_VPM, &I004_060_TTA, &I004_060_CRA, &IXXX_FX, &I004_060_ASM, &I004_060_IAVM, &I004_060_FTD, &I004_060_ITD, &I004_060_IIA, &I004_060_SQW, &I004_060_CUW, &IXXX_FX, &I004_060_CATC, &I004_060_NOCLR, &I004_060_NOMOV, &I004_060_NOH, &I004_060_WRTY, &I004_060_STOCC, &I004_060_ONGOING, &IXXX_FX, NULL }; static const AsterixField I004_060 = { FX, 1, 0, 0, &hf_004_060, I004_060_PARTS, { NULL } }; static int hf_004_070; static int hf_004_070_TC; static int hf_004_070_TC_VALUE; static const FieldPart I004_070_TC_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_070_TC_VALUE, NULL }; static const FieldPart *I004_070_TC_PARTS[] = { &I004_070_TC_VALUE, NULL }; static const AsterixField I004_070_TC = { FIXED, 3, 0, 0, &hf_004_070_TC, I004_070_TC_PARTS, { NULL } }; static int hf_004_070_TCA; static int hf_004_070_TCA_VALUE; static const FieldPart I004_070_TCA_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_070_TCA_VALUE, NULL }; static const FieldPart *I004_070_TCA_PARTS[] = { &I004_070_TCA_VALUE, NULL }; static const AsterixField I004_070_TCA = { FIXED, 3, 0, 0, &hf_004_070_TCA, I004_070_TCA_PARTS, { NULL } }; static int hf_004_070_CHS; static int hf_004_070_CHS_VALUE; static const FieldPart I004_070_CHS_VALUE = { 24, 0.5, FIELD_PART_UFLOAT, &hf_004_070_CHS_VALUE, NULL }; static const FieldPart *I004_070_CHS_PARTS[] = { &I004_070_CHS_VALUE, NULL }; static const AsterixField I004_070_CHS = { FIXED, 3, 0, 0, &hf_004_070_CHS, I004_070_CHS_PARTS, { NULL } }; static int hf_004_070_MHS; static int hf_004_070_MHS_VALUE; static const FieldPart I004_070_MHS_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_070_MHS_VALUE, NULL }; static const FieldPart *I004_070_MHS_PARTS[] = { &I004_070_MHS_VALUE, NULL }; static const AsterixField I004_070_MHS = { FIXED, 2, 0, 0, &hf_004_070_MHS, I004_070_MHS_PARTS, { NULL } }; static int hf_004_070_CVS; static int hf_004_070_CVS_VALUE; static const FieldPart I004_070_CVS_VALUE = { 16, 25.0, FIELD_PART_UFLOAT, &hf_004_070_CVS_VALUE, NULL }; static const FieldPart *I004_070_CVS_PARTS[] = { &I004_070_CVS_VALUE, NULL }; static const AsterixField I004_070_CVS = { FIXED, 2, 0, 0, &hf_004_070_CVS, I004_070_CVS_PARTS, { NULL } }; static int hf_004_070_MVS; static int hf_004_070_MVS_VALUE; static const FieldPart I004_070_MVS_VALUE = { 16, 25.0, FIELD_PART_UFLOAT, &hf_004_070_MVS_VALUE, NULL }; static const FieldPart *I004_070_MVS_PARTS[] = { &I004_070_MVS_VALUE, NULL }; static const AsterixField I004_070_MVS = { FIXED, 2, 0, 0, &hf_004_070_MVS, I004_070_MVS_PARTS, { NULL } }; static const AsterixField I004_070 = { COMPOUND, 0, 0, 0, &hf_004_070, NULL, { &I004_070_TC, &I004_070_TCA, &I004_070_CHS, &I004_070_MHS, &I004_070_CVS, &I004_070_MVS, NULL } }; static int hf_004_074; static int hf_004_074_VALUE; static const FieldPart I004_074_VALUE = { 16, 32.0, FIELD_PART_FLOAT, &hf_004_074_VALUE, NULL }; static const FieldPart *I004_074_PARTS[] = { &I004_074_VALUE, NULL }; static const AsterixField I004_074 = { FIXED, 2, 0, 0, &hf_004_074, I004_074_PARTS, { NULL } }; static int hf_004_075; static int hf_004_075_VALUE; static const FieldPart I004_075_VALUE = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_075_VALUE, NULL }; static const FieldPart *I004_075_PARTS[] = { &I004_075_VALUE, NULL }; static const AsterixField I004_075 = { FIXED, 3, 0, 0, &hf_004_075, I004_075_PARTS, { NULL } }; static int hf_004_076; static int hf_004_076_VALUE; static const FieldPart I004_076_VALUE = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_076_VALUE, NULL }; static const FieldPart *I004_076_PARTS[] = { &I004_076_VALUE, NULL }; static const AsterixField I004_076 = { FIXED, 2, 0, 0, &hf_004_076, I004_076_PARTS, { NULL } }; static int hf_004_100; static int hf_004_100_AN; static int hf_004_100_AN_VALUE; static const FieldPart I004_100_AN_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_004_100_AN_VALUE, NULL }; static const FieldPart *I004_100_AN_PARTS[] = { &I004_100_AN_VALUE, NULL }; static const AsterixField I004_100_AN = { FIXED, 6, 0, 0, &hf_004_100_AN, I004_100_AN_PARTS, { NULL } }; static int hf_004_100_CAN; static int hf_004_100_CAN_VALUE; static const FieldPart I004_100_CAN_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_CAN_VALUE, NULL }; static const FieldPart *I004_100_CAN_PARTS[] = { &I004_100_CAN_VALUE, NULL }; static const AsterixField I004_100_CAN = { FIXED, 7, 0, 0, &hf_004_100_CAN, I004_100_CAN_PARTS, { NULL } }; static int hf_004_100_RT1; static int hf_004_100_RT1_VALUE; static const FieldPart I004_100_RT1_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_RT1_VALUE, NULL }; static const FieldPart *I004_100_RT1_PARTS[] = { &I004_100_RT1_VALUE, NULL }; static const AsterixField I004_100_RT1 = { FIXED, 7, 0, 0, &hf_004_100_RT1, I004_100_RT1_PARTS, { NULL } }; static int hf_004_100_RT2; static int hf_004_100_RT2_VALUE; static const FieldPart I004_100_RT2_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_RT2_VALUE, NULL }; static const FieldPart *I004_100_RT2_PARTS[] = { &I004_100_RT2_VALUE, NULL }; static const AsterixField I004_100_RT2 = { FIXED, 7, 0, 0, &hf_004_100_RT2, I004_100_RT2_PARTS, { NULL } }; static int hf_004_100_SB; static int hf_004_100_SB_VALUE; static const FieldPart I004_100_SB_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_SB_VALUE, NULL }; static const FieldPart *I004_100_SB_PARTS[] = { &I004_100_SB_VALUE, NULL }; static const AsterixField I004_100_SB = { FIXED, 7, 0, 0, &hf_004_100_SB, I004_100_SB_PARTS, { NULL } }; static int hf_004_100_G; static int hf_004_100_G_VALUE; static const FieldPart I004_100_G_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_G_VALUE, NULL }; static const FieldPart *I004_100_G_PARTS[] = { &I004_100_G_VALUE, NULL }; static const AsterixField I004_100_G = { FIXED, 7, 0, 0, &hf_004_100_G, I004_100_G_PARTS, { NULL } }; static const AsterixField I004_100 = { COMPOUND, 0, 0, 0, &hf_004_100, NULL, { &I004_100_AN, &I004_100_CAN, &I004_100_RT1, &I004_100_RT2, &I004_100_SB, &I004_100_G, NULL } }; static int hf_004_110; static int hf_004_110_CEN; static const FieldPart I004_110_CEN = { 8, 1.0, FIELD_PART_HEX, &hf_004_110_CEN, NULL }; static int hf_004_110_POS; static const FieldPart I004_110_POS = { 8, 1.0, FIELD_PART_HEX, &hf_004_110_POS, NULL }; static const FieldPart *I004_110_PARTS[] = { &I004_110_CEN, &I004_110_POS, NULL }; static const AsterixField I004_110 = { REPETITIVE, 2, 1, 0, &hf_004_110, I004_110_PARTS, { NULL } }; static int hf_004_120; static int hf_004_120_CN; static int hf_004_120_CN_MAS; static const value_string valstr_004_120_CN_MAS[] = { { 0, "Conflict not predicted to occur in military airspace" }, { 1, "Conflict predicted to occur in military airspace" }, { 0, NULL } }; static const FieldPart I004_120_CN_MAS = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_MAS, NULL }; static int hf_004_120_CN_CAS; static const value_string valstr_004_120_CN_CAS[] = { { 0, "Conflict not predicted to occur in civil airspace" }, { 1, "Conflict predicted to occur in civil airspace" }, { 0, NULL } }; static const FieldPart I004_120_CN_CAS = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_CAS, NULL }; static int hf_004_120_CN_FLD; static const value_string valstr_004_120_CN_FLD[] = { { 0, "Aircraft are not fast diverging laterally at current time" }, { 1, "Aircraft are fast diverging laterally at current time" }, { 0, NULL } }; static const FieldPart I004_120_CN_FLD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_FLD, NULL }; static int hf_004_120_CN_FVD; static const value_string valstr_004_120_CN_FVD[] = { { 0, "Aircraft are not fast diverging vertically at current time" }, { 1, "Aircraft are fast diverging vertically at current time" }, { 0, NULL } }; static const FieldPart I004_120_CN_FVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_FVD, NULL }; static int hf_004_120_CN_TYPE; static const value_string valstr_004_120_CN_TYPE[] = { { 0, "Minor separation infringement" }, { 1, "Major separation infringement" }, { 0, NULL } }; static const FieldPart I004_120_CN_TYPE = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_TYPE, NULL }; static int hf_004_120_CN_CROSS; static const value_string valstr_004_120_CN_CROSS[] = { { 0, "Aircraft have not crossed at starting time of conflict" }, { 1, "Aircraft have crossed at starting time of conflict" }, { 0, NULL } }; static const FieldPart I004_120_CN_CROSS = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_CROSS, NULL }; static int hf_004_120_CN_DIV; static const value_string valstr_004_120_CN_DIV[] = { { 0, "Aircraft are not diverging at starting time of conflict" }, { 1, "Aircraft are diverging at starting time of conflict" }, { 0, NULL } }; static const FieldPart I004_120_CN_DIV = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_DIV, NULL }; static int hf_004_120_CN_RRC; static const value_string valstr_004_120_CN_RRC[] = { { 0, "Default" }, { 1, "Runway/Runway Crossing" }, { 0, NULL } }; static const FieldPart I004_120_CN_RRC = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_RRC, NULL }; static int hf_004_120_CN_RTC; static const value_string valstr_004_120_CN_RTC[] = { { 0, "Default" }, { 1, "Runway/Taxiway Crossing" }, { 0, NULL } }; static const FieldPart I004_120_CN_RTC = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_RTC, NULL }; static int hf_004_120_CN_MRVA; static const value_string valstr_004_120_CN_MRVA[] = { { 0, "Default" }, { 1, "Msg Type 4 (MSAW) indicates MRVA" }, { 0, NULL } }; static const FieldPart I004_120_CN_MRVA = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_MRVA, NULL }; static int hf_004_120_CN_VRAMCRM; static const value_string valstr_004_120_CN_VRAMCRM[] = { { 0, "Default" }, { 1, "Msg Type 25 (VRAM) indicates CRM" }, { 0, NULL } }; static const FieldPart I004_120_CN_VRAMCRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_VRAMCRM, NULL }; static int hf_004_120_CN_VRAMVRM; static const value_string valstr_004_120_CN_VRAMVRM[] = { { 0, "Default" }, { 1, "Msg Type 25 (VRAM) indicates VRM" }, { 0, NULL } }; static const FieldPart I004_120_CN_VRAMVRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_VRAMVRM, NULL }; static int hf_004_120_CN_VRAMVTM; static const value_string valstr_004_120_CN_VRAMVTM[] = { { 0, "Default" }, { 1, "Msg Type 25 (VRAM) indicates VTM" }, { 0, NULL } }; static const FieldPart I004_120_CN_VRAMVTM = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_VRAMVTM, NULL }; static int hf_004_120_CN_HAMHD; static const value_string valstr_004_120_CN_HAMHD[] = { { 0, "Default" }, { 1, "Msg Type 29 (HAM) indicates HD" }, { 0, NULL } }; static const FieldPart I004_120_CN_HAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_HAMHD, NULL }; static int hf_004_120_CN_HAMRD; static const value_string valstr_004_120_CN_HAMRD[] = { { 0, "Default" }, { 1, "Msg Type 29 (HAM) indicates RD" }, { 0, NULL } }; static const FieldPart I004_120_CN_HAMRD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_HAMRD, NULL }; static int hf_004_120_CN_HAMVD; static const value_string valstr_004_120_CN_HAMVD[] = { { 0, "Default" }, { 1, "Msg Type 29 (HAM) indicates VD" }, { 0, NULL } }; static const FieldPart I004_120_CN_HAMVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_HAMVD, NULL }; static int hf_004_120_CN_DBPSMARR; static const value_string valstr_004_120_CN_DBPSMARR[] = { { 0, "Default" }, { 1, "Msg Type 20 (DBPSM) indicates ARR" }, { 0, NULL } }; static const FieldPart I004_120_CN_DBPSMARR = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_DBPSMARR, NULL }; static int hf_004_120_CN_DBPSMDEP; static const value_string valstr_004_120_CN_DBPSMDEP[] = { { 0, "Default" }, { 1, "Msg Type 20 (DBPSM) indicates DEP" }, { 0, NULL } }; static const FieldPart I004_120_CN_DBPSMDEP = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_DBPSMDEP, NULL }; static int hf_004_120_CN_DBPSMTL; static const value_string valstr_004_120_CN_DBPSMTL[] = { { 0, "Default" }, { 1, "Msg Type 20 (DBPSM) indicates above TL" }, { 0, NULL } }; static const FieldPart I004_120_CN_DBPSMTL = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_DBPSMTL, NULL }; static int hf_004_120_CN_AIW; static const value_string valstr_004_120_CN_AIW[] = { { 0, "Default" }, { 1, "Msg Type 99 (AIW) indicates pAIW Alert" }, { 0, NULL } }; static const FieldPart I004_120_CN_AIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CN_AIW, NULL }; static const FieldPart *I004_120_CN_PARTS[] = { &I004_120_CN_MAS, &I004_120_CN_CAS, &I004_120_CN_FLD, &I004_120_CN_FVD, &I004_120_CN_TYPE, &I004_120_CN_CROSS, &I004_120_CN_DIV, &IXXX_FX, &I004_120_CN_RRC, &I004_120_CN_RTC, &I004_120_CN_MRVA, &I004_120_CN_VRAMCRM, &I004_120_CN_VRAMVRM, &I004_120_CN_VRAMVTM, &I004_120_CN_HAMHD, &IXXX_FX, &I004_120_CN_HAMRD, &I004_120_CN_HAMVD, &I004_120_CN_DBPSMARR, &I004_120_CN_DBPSMDEP, &I004_120_CN_DBPSMTL, &I004_120_CN_AIW, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I004_120_CN = { FX, 1, 0, 0, &hf_004_120_CN, I004_120_CN_PARTS, { NULL } }; static int hf_004_120_CC; static int hf_004_120_CC_TID; static const FieldPart I004_120_CC_TID = { 4, 1.0, FIELD_PART_HEX, &hf_004_120_CC_TID, NULL }; static int hf_004_120_CC_CPC; static const FieldPart I004_120_CC_CPC = { 3, 1.0, FIELD_PART_HEX, &hf_004_120_CC_CPC, NULL }; static int hf_004_120_CC_CS; static const value_string valstr_004_120_CC_CS[] = { { 0, "LOW" }, { 1, "HIGH" }, { 0, NULL } }; static const FieldPart I004_120_CC_CS = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_CC_CS, NULL }; static const FieldPart *I004_120_CC_PARTS[] = { &I004_120_CC_TID, &I004_120_CC_CPC, &I004_120_CC_CS, NULL }; static const AsterixField I004_120_CC = { FIXED, 1, 0, 0, &hf_004_120_CC, I004_120_CC_PARTS, { NULL } }; static int hf_004_120_CP; static int hf_004_120_CP_VALUE; static const FieldPart I004_120_CP_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_004_120_CP_VALUE, NULL }; static const FieldPart *I004_120_CP_PARTS[] = { &I004_120_CP_VALUE, NULL }; static const AsterixField I004_120_CP = { FIXED, 1, 0, 0, &hf_004_120_CP, I004_120_CP_PARTS, { NULL } }; static int hf_004_120_CD; static int hf_004_120_CD_VALUE; static const FieldPart I004_120_CD_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_120_CD_VALUE, NULL }; static const FieldPart *I004_120_CD_PARTS[] = { &I004_120_CD_VALUE, NULL }; static const AsterixField I004_120_CD = { FIXED, 3, 0, 0, &hf_004_120_CD, I004_120_CD_PARTS, { NULL } }; static const AsterixField I004_120 = { COMPOUND, 0, 0, 0, &hf_004_120, NULL, { &I004_120_CN, &I004_120_CC, &I004_120_CP, &I004_120_CD, NULL } }; static int hf_004_170; static int hf_004_170_AI1; static int hf_004_170_AI1_VALUE; static const FieldPart I004_170_AI1_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_170_AI1_VALUE, NULL }; static const FieldPart *I004_170_AI1_PARTS[] = { &I004_170_AI1_VALUE, NULL }; static const AsterixField I004_170_AI1 = { FIXED, 7, 0, 0, &hf_004_170_AI1, I004_170_AI1_PARTS, { NULL } }; static int hf_004_170_M31; static int hf_004_170_M31_MODE3A; static const FieldPart I004_170_M31_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_004_170_M31_MODE3A, NULL }; static const FieldPart *I004_170_M31_PARTS[] = { &IXXX_4bit_spare, &I004_170_M31_MODE3A, NULL }; static const AsterixField I004_170_M31 = { FIXED, 2, 0, 0, &hf_004_170_M31, I004_170_M31_PARTS, { NULL } }; static int hf_004_170_CPW; static int hf_004_170_CPW_LAT; static const FieldPart I004_170_CPW_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_170_CPW_LAT, NULL }; static int hf_004_170_CPW_LON; static const FieldPart I004_170_CPW_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_170_CPW_LON, NULL }; static int hf_004_170_CPW_ALT; static const FieldPart I004_170_CPW_ALT = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_170_CPW_ALT, NULL }; static const FieldPart *I004_170_CPW_PARTS[] = { &I004_170_CPW_LAT, &I004_170_CPW_LON, &I004_170_CPW_ALT, NULL }; static const AsterixField I004_170_CPW = { FIXED, 10, 0, 0, &hf_004_170_CPW, I004_170_CPW_PARTS, { NULL } }; static int hf_004_170_CPC; static int hf_004_170_CPC_X; static const FieldPart I004_170_CPC_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_170_CPC_X, NULL }; static int hf_004_170_CPC_Y; static const FieldPart I004_170_CPC_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_170_CPC_Y, NULL }; static int hf_004_170_CPC_Z; static const FieldPart I004_170_CPC_Z = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_170_CPC_Z, NULL }; static const FieldPart *I004_170_CPC_PARTS[] = { &I004_170_CPC_X, &I004_170_CPC_Y, &I004_170_CPC_Z, NULL }; static const AsterixField I004_170_CPC = { FIXED, 8, 0, 0, &hf_004_170_CPC, I004_170_CPC_PARTS, { NULL } }; static int hf_004_170_TT1; static int hf_004_170_TT1_VALUE; static const FieldPart I004_170_TT1_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_170_TT1_VALUE, NULL }; static const FieldPart *I004_170_TT1_PARTS[] = { &I004_170_TT1_VALUE, NULL }; static const AsterixField I004_170_TT1 = { FIXED, 3, 0, 0, &hf_004_170_TT1, I004_170_TT1_PARTS, { NULL } }; static int hf_004_170_DT1; static int hf_004_170_DT1_VALUE; static const FieldPart I004_170_DT1_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_170_DT1_VALUE, NULL }; static const FieldPart *I004_170_DT1_PARTS[] = { &I004_170_DT1_VALUE, NULL }; static const AsterixField I004_170_DT1 = { FIXED, 2, 0, 0, &hf_004_170_DT1, I004_170_DT1_PARTS, { NULL } }; static int hf_004_170_AC1; static int hf_004_170_AC1_GATOAT; static const value_string valstr_004_170_AC1_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I004_170_AC1_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_AC1_GATOAT, NULL }; static int hf_004_170_AC1_FR1FR2; static const value_string valstr_004_170_AC1_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I004_170_AC1_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_AC1_FR1FR2, NULL }; static int hf_004_170_AC1_RVSM; static const value_string valstr_004_170_AC1_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I004_170_AC1_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_AC1_RVSM, NULL }; static int hf_004_170_AC1_HPR; static const value_string valstr_004_170_AC1_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I004_170_AC1_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_004_170_AC1_HPR, NULL }; static int hf_004_170_AC1_CDM; static const value_string valstr_004_170_AC1_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I004_170_AC1_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_AC1_CDM, NULL }; static int hf_004_170_AC1_PRI; static const value_string valstr_004_170_AC1_PRI[] = { { 0, "Non primary target" }, { 1, "Primary target" }, { 0, NULL } }; static const FieldPart I004_170_AC1_PRI = { 1, 1.0, FIELD_PART_UINT, &hf_004_170_AC1_PRI, NULL }; static int hf_004_170_AC1_GV; static const value_string valstr_004_170_AC1_GV[] = { { 0, "Default" }, { 1, "Ground Vehicle" }, { 0, NULL } }; static const FieldPart I004_170_AC1_GV = { 1, 1.0, FIELD_PART_UINT, &hf_004_170_AC1_GV, NULL }; static const FieldPart *I004_170_AC1_PARTS[] = { &I004_170_AC1_GATOAT, &I004_170_AC1_FR1FR2, &I004_170_AC1_RVSM, &I004_170_AC1_HPR, &IXXX_FX, &I004_170_AC1_CDM, &I004_170_AC1_PRI, &I004_170_AC1_GV, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I004_170_AC1 = { FX, 1, 0, 0, &hf_004_170_AC1, I004_170_AC1_PARTS, { NULL } }; static int hf_004_170_MS1; static int hf_004_170_MS1_VALUE; static const FieldPart I004_170_MS1_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_004_170_MS1_VALUE, NULL }; static const FieldPart *I004_170_MS1_PARTS[] = { &I004_170_MS1_VALUE, NULL }; static const AsterixField I004_170_MS1 = { FIXED, 6, 0, 0, &hf_004_170_MS1, I004_170_MS1_PARTS, { NULL } }; static int hf_004_170_FP1; static int hf_004_170_FP1_NBR; static const FieldPart I004_170_FP1_NBR = { 27, 1.0, FIELD_PART_UFLOAT, &hf_004_170_FP1_NBR, NULL }; static const FieldPart *I004_170_FP1_PARTS[] = { &IXXX_5bit_spare, &I004_170_FP1_NBR, NULL }; static const AsterixField I004_170_FP1 = { FIXED, 4, 0, 0, &hf_004_170_FP1, I004_170_FP1_PARTS, { NULL } }; static int hf_004_170_CF1; static int hf_004_170_CF1_VALUE; static const FieldPart I004_170_CF1_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_004_170_CF1_VALUE, NULL }; static const FieldPart *I004_170_CF1_PARTS[] = { &I004_170_CF1_VALUE, NULL }; static const AsterixField I004_170_CF1 = { FIXED, 2, 0, 0, &hf_004_170_CF1, I004_170_CF1_PARTS, { NULL } }; static const AsterixField I004_170 = { COMPOUND, 0, 0, 0, &hf_004_170, NULL, { &I004_170_AI1, &I004_170_M31, &I004_170_CPW, &I004_170_CPC, &I004_170_TT1, &I004_170_DT1, &I004_170_AC1, &I004_170_MS1, &I004_170_FP1, &I004_170_CF1, NULL } }; static int hf_004_171; static int hf_004_171_AI2; static int hf_004_171_AI2_VALUE; static const FieldPart I004_171_AI2_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_004_171_AI2_VALUE, NULL }; static const FieldPart *I004_171_AI2_PARTS[] = { &I004_171_AI2_VALUE, NULL }; static const AsterixField I004_171_AI2 = { FIXED, 7, 0, 0, &hf_004_171_AI2, I004_171_AI2_PARTS, { NULL } }; static int hf_004_171_M32; static int hf_004_171_M32_MODE3A; static const FieldPart I004_171_M32_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_004_171_M32_MODE3A, NULL }; static const FieldPart *I004_171_M32_PARTS[] = { &IXXX_4bit_spare, &I004_171_M32_MODE3A, NULL }; static const AsterixField I004_171_M32 = { FIXED, 2, 0, 0, &hf_004_171_M32, I004_171_M32_PARTS, { NULL } }; static int hf_004_171_CPW; static int hf_004_171_CPW_LAT; static const FieldPart I004_171_CPW_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_171_CPW_LAT, NULL }; static int hf_004_171_CPW_LON; static const FieldPart I004_171_CPW_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_004_171_CPW_LON, NULL }; static int hf_004_171_CPW_ALT; static const FieldPart I004_171_CPW_ALT = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_171_CPW_ALT, NULL }; static const FieldPart *I004_171_CPW_PARTS[] = { &I004_171_CPW_LAT, &I004_171_CPW_LON, &I004_171_CPW_ALT, NULL }; static const AsterixField I004_171_CPW = { FIXED, 10, 0, 0, &hf_004_171_CPW, I004_171_CPW_PARTS, { NULL } }; static int hf_004_171_CPL; static int hf_004_171_CPL_X; static const FieldPart I004_171_CPL_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_171_CPL_X, NULL }; static int hf_004_171_CPL_Y; static const FieldPart I004_171_CPL_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_171_CPL_Y, NULL }; static int hf_004_171_CPL_Z; static const FieldPart I004_171_CPL_Z = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_171_CPL_Z, NULL }; static const FieldPart *I004_171_CPL_PARTS[] = { &I004_171_CPL_X, &I004_171_CPL_Y, &I004_171_CPL_Z, NULL }; static const AsterixField I004_171_CPL = { FIXED, 8, 0, 0, &hf_004_171_CPL, I004_171_CPL_PARTS, { NULL } }; static int hf_004_171_TT2; static int hf_004_171_TT2_VALUE; static const FieldPart I004_171_TT2_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_004_171_TT2_VALUE, NULL }; static const FieldPart *I004_171_TT2_PARTS[] = { &I004_171_TT2_VALUE, NULL }; static const AsterixField I004_171_TT2 = { FIXED, 3, 0, 0, &hf_004_171_TT2, I004_171_TT2_PARTS, { NULL } }; static int hf_004_171_DT2; static int hf_004_171_DT2_VALUE; static const FieldPart I004_171_DT2_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_171_DT2_VALUE, NULL }; static const FieldPart *I004_171_DT2_PARTS[] = { &I004_171_DT2_VALUE, NULL }; static const AsterixField I004_171_DT2 = { FIXED, 2, 0, 0, &hf_004_171_DT2, I004_171_DT2_PARTS, { NULL } }; static int hf_004_171_AC2; static int hf_004_171_AC2_GATOAT; static const value_string valstr_004_171_AC2_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I004_171_AC2_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_AC2_GATOAT, NULL }; static int hf_004_171_AC2_FR1FR2; static const value_string valstr_004_171_AC2_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I004_171_AC2_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_AC2_FR1FR2, NULL }; static int hf_004_171_AC2_RVSM; static const value_string valstr_004_171_AC2_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I004_171_AC2_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_AC2_RVSM, NULL }; static int hf_004_171_AC2_HPR; static const value_string valstr_004_171_AC2_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I004_171_AC2_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_004_171_AC2_HPR, NULL }; static int hf_004_171_AC2_CDM; static const value_string valstr_004_171_AC2_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I004_171_AC2_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_AC2_CDM, NULL }; static int hf_004_171_AC2_PRI; static const value_string valstr_004_171_AC2_PRI[] = { { 0, "Non primary target" }, { 1, "Primary target" }, { 0, NULL } }; static const FieldPart I004_171_AC2_PRI = { 1, 1.0, FIELD_PART_UINT, &hf_004_171_AC2_PRI, NULL }; static int hf_004_171_AC2_GV; static const value_string valstr_004_171_AC2_GV[] = { { 0, "Default" }, { 1, "Ground Vehicle" }, { 0, NULL } }; static const FieldPart I004_171_AC2_GV = { 1, 1.0, FIELD_PART_UINT, &hf_004_171_AC2_GV, NULL }; static const FieldPart *I004_171_AC2_PARTS[] = { &I004_171_AC2_GATOAT, &I004_171_AC2_FR1FR2, &I004_171_AC2_RVSM, &I004_171_AC2_HPR, &IXXX_FX, &I004_171_AC2_CDM, &I004_171_AC2_PRI, &I004_171_AC2_GV, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I004_171_AC2 = { FX, 1, 0, 0, &hf_004_171_AC2, I004_171_AC2_PARTS, { NULL } }; static int hf_004_171_MS2; static int hf_004_171_MS2_VALUE; static const FieldPart I004_171_MS2_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_004_171_MS2_VALUE, NULL }; static const FieldPart *I004_171_MS2_PARTS[] = { &I004_171_MS2_VALUE, NULL }; static const AsterixField I004_171_MS2 = { FIXED, 6, 0, 0, &hf_004_171_MS2, I004_171_MS2_PARTS, { NULL } }; static int hf_004_171_FP2; static int hf_004_171_FP2_NBR; static const FieldPart I004_171_FP2_NBR = { 27, 1.0, FIELD_PART_UFLOAT, &hf_004_171_FP2_NBR, NULL }; static const FieldPart *I004_171_FP2_PARTS[] = { &IXXX_5bit_spare, &I004_171_FP2_NBR, NULL }; static const AsterixField I004_171_FP2 = { FIXED, 4, 0, 0, &hf_004_171_FP2, I004_171_FP2_PARTS, { NULL } }; static int hf_004_171_CF2; static int hf_004_171_CF2_VALUE; static const FieldPart I004_171_CF2_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_004_171_CF2_VALUE, NULL }; static const FieldPart *I004_171_CF2_PARTS[] = { &I004_171_CF2_VALUE, NULL }; static const AsterixField I004_171_CF2 = { FIXED, 2, 0, 0, &hf_004_171_CF2, I004_171_CF2_PARTS, { NULL } }; static const AsterixField I004_171 = { COMPOUND, 0, 0, 0, &hf_004_171, NULL, { &I004_171_AI2, &I004_171_M32, &I004_171_CPW, &I004_171_CPL, &I004_171_TT2, &I004_171_DT2, &I004_171_AC2, &I004_171_MS2, &I004_171_FP2, &I004_171_CF2, NULL } }; static int hf_004_RE; static const AsterixField I004_RE = { EXP, 0, 0, 1, &hf_004_RE, NULL, { NULL } }; static int hf_004_SP; static const AsterixField I004_SP = { EXP, 0, 0, 1, &hf_004_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I004_V1_12_uap[] = { &I004_V1_12_010, &I004_V1_12_000, &I004_V1_12_015, &I004_V1_12_020, &I004_V1_12_040, &I004_V1_12_045, &I004_V1_12_060, &I004_V1_12_030, &I004_V1_12_170, &I004_V1_12_120, &I004_V1_12_070, &I004_V1_12_076, &I004_V1_12_074, &I004_V1_12_075, &I004_V1_12_100, &I004_V1_12_035, &I004_V1_12_171, &I004_V1_12_110, &IX_SPARE, &I004_V1_12_RE, &I004_V1_12_SP, NULL }; static const AsterixField **I004_V1_12[] = { I004_V1_12_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I004_uap[] = { &I004_010, &I004_000, &I004_015, &I004_020, &I004_040, &I004_045, &I004_060, &I004_030, &I004_170, &I004_120, &I004_070, &I004_076, &I004_074, &I004_075, &I004_100, &I004_035, &I004_171, &I004_110, &IX_SPARE, &I004_RE, &I004_SP, NULL }; static const AsterixField **I004[] = { I004_uap, NULL }; DIAG_ON_PEDANTIC /* Category 008, edition 1.2 */ static int hf_008_V1_2_000; static int hf_008_V1_2_000_VALUE; static const value_string valstr_008_V1_2_000_VALUE[] = { { 1, "Polar vector" }, { 2, "Cartesian vector of start point/length" }, { 3, "Contour record" }, { 4, "Cartesian start point and end point vector" }, { 254, "SOP message" }, { 255, "EOP message" }, { 0, NULL } }; static const FieldPart I008_V1_2_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_008_V1_2_000_VALUE, NULL }; static const FieldPart *I008_V1_2_000_PARTS[] = { &I008_V1_2_000_VALUE, NULL }; static const AsterixField I008_V1_2_000 = { FIXED, 1, 0, 0, &hf_008_V1_2_000, I008_V1_2_000_PARTS, { NULL } }; static int hf_008_V1_2_010; static int hf_008_V1_2_010_SAC; static const FieldPart I008_V1_2_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_008_V1_2_010_SAC, NULL }; static int hf_008_V1_2_010_SIC; static const FieldPart I008_V1_2_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_008_V1_2_010_SIC, NULL }; static const FieldPart *I008_V1_2_010_PARTS[] = { &I008_V1_2_010_SAC, &I008_V1_2_010_SIC, NULL }; static const AsterixField I008_V1_2_010 = { FIXED, 2, 0, 0, &hf_008_V1_2_010, I008_V1_2_010_PARTS, { NULL } }; static int hf_008_V1_2_020; static int hf_008_V1_2_020_ORG; static const value_string valstr_008_V1_2_020_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I008_V1_2_020_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_2_020_ORG, NULL }; static int hf_008_V1_2_020_I; static const FieldPart I008_V1_2_020_I = { 3, 1.0, FIELD_PART_UINT, &hf_008_V1_2_020_I, NULL }; static int hf_008_V1_2_020_S; static const value_string valstr_008_V1_2_020_S[] = { { 0, "0°" }, { 1, "22.5°" }, { 2, "45°" }, { 3, "67.5°" }, { 4, "90°" }, { 5, "112.5°" }, { 6, "135°" }, { 7, "157.5°" }, { 0, NULL } }; static const FieldPart I008_V1_2_020_S = { 3, 1.0, FIELD_PART_UINT, &hf_008_V1_2_020_S, NULL }; static int hf_008_V1_2_020_TST; static const value_string valstr_008_V1_2_020_TST[] = { { 0, "Default" }, { 1, "Test vector" }, { 0, NULL } }; static const FieldPart I008_V1_2_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_2_020_TST, NULL }; static int hf_008_V1_2_020_ER; static const value_string valstr_008_V1_2_020_ER[] = { { 0, "Default" }, { 1, "Error condition encountered" }, { 0, NULL } }; static const FieldPart I008_V1_2_020_ER = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_2_020_ER, NULL }; static const FieldPart *I008_V1_2_020_PARTS[] = { &I008_V1_2_020_ORG, &I008_V1_2_020_I, &I008_V1_2_020_S, &IXXX_FX, &IXXX_5bit_spare, &I008_V1_2_020_TST, &I008_V1_2_020_ER, &IXXX_FX, NULL }; static const AsterixField I008_V1_2_020 = { FX, 1, 0, 0, &hf_008_V1_2_020, I008_V1_2_020_PARTS, { NULL } }; static int hf_008_V1_2_034; static int hf_008_V1_2_034_STR; static const FieldPart I008_V1_2_034_STR = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_008_V1_2_034_STR, NULL }; static int hf_008_V1_2_034_ENDR; static const FieldPart I008_V1_2_034_ENDR = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_008_V1_2_034_ENDR, NULL }; static int hf_008_V1_2_034_AZ; static const FieldPart I008_V1_2_034_AZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_008_V1_2_034_AZ, NULL }; static const FieldPart *I008_V1_2_034_PARTS[] = { &I008_V1_2_034_STR, &I008_V1_2_034_ENDR, &I008_V1_2_034_AZ, NULL }; static const AsterixField I008_V1_2_034 = { REPETITIVE, 4, 1, 0, &hf_008_V1_2_034, I008_V1_2_034_PARTS, { NULL } }; static int hf_008_V1_2_036; static int hf_008_V1_2_036_X; static const FieldPart I008_V1_2_036_X = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_036_X, NULL }; static int hf_008_V1_2_036_Y; static const FieldPart I008_V1_2_036_Y = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_036_Y, NULL }; static int hf_008_V1_2_036_LENGTH; static const FieldPart I008_V1_2_036_LENGTH = { 8, 0.015625, FIELD_PART_UFLOAT, &hf_008_V1_2_036_LENGTH, NULL }; static const FieldPart *I008_V1_2_036_PARTS[] = { &I008_V1_2_036_X, &I008_V1_2_036_Y, &I008_V1_2_036_LENGTH, NULL }; static const AsterixField I008_V1_2_036 = { REPETITIVE, 3, 1, 0, &hf_008_V1_2_036, I008_V1_2_036_PARTS, { NULL } }; static int hf_008_V1_2_038; static int hf_008_V1_2_038_X1; static const FieldPart I008_V1_2_038_X1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_038_X1, NULL }; static int hf_008_V1_2_038_Y1; static const FieldPart I008_V1_2_038_Y1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_038_Y1, NULL }; static int hf_008_V1_2_038_X2; static const FieldPart I008_V1_2_038_X2 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_038_X2, NULL }; static int hf_008_V1_2_038_Y2; static const FieldPart I008_V1_2_038_Y2 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_038_Y2, NULL }; static const FieldPart *I008_V1_2_038_PARTS[] = { &I008_V1_2_038_X1, &I008_V1_2_038_Y1, &I008_V1_2_038_X2, &I008_V1_2_038_Y2, NULL }; static const AsterixField I008_V1_2_038 = { REPETITIVE, 4, 1, 0, &hf_008_V1_2_038, I008_V1_2_038_PARTS, { NULL } }; static int hf_008_V1_2_040; static int hf_008_V1_2_040_ORG; static const value_string valstr_008_V1_2_040_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I008_V1_2_040_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_2_040_ORG, NULL }; static int hf_008_V1_2_040_I; static const FieldPart I008_V1_2_040_I = { 3, 1.0, FIELD_PART_HEX, &hf_008_V1_2_040_I, NULL }; static int hf_008_V1_2_040_FSTLST; static const value_string valstr_008_V1_2_040_FSTLST[] = { { 0, "Intermediate record of a contour" }, { 1, "Last record of a contour of at least two records" }, { 2, "First record of a contour of at least two records" }, { 3, "First and only record, fully defining a contour" }, { 0, NULL } }; static const FieldPart I008_V1_2_040_FSTLST = { 2, 1.0, FIELD_PART_UINT, &hf_008_V1_2_040_FSTLST, NULL }; static int hf_008_V1_2_040_CSN; static const FieldPart I008_V1_2_040_CSN = { 8, 1.0, FIELD_PART_HEX, &hf_008_V1_2_040_CSN, NULL }; static const FieldPart *I008_V1_2_040_PARTS[] = { &I008_V1_2_040_ORG, &I008_V1_2_040_I, &IXXX_2bit_spare, &I008_V1_2_040_FSTLST, &I008_V1_2_040_CSN, NULL }; static const AsterixField I008_V1_2_040 = { FIXED, 2, 0, 0, &hf_008_V1_2_040, I008_V1_2_040_PARTS, { NULL } }; static int hf_008_V1_2_050; static int hf_008_V1_2_050_X1; static const FieldPart I008_V1_2_050_X1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_050_X1, NULL }; static int hf_008_V1_2_050_Y1; static const FieldPart I008_V1_2_050_Y1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_2_050_Y1, NULL }; static const FieldPart *I008_V1_2_050_PARTS[] = { &I008_V1_2_050_X1, &I008_V1_2_050_Y1, NULL }; static const AsterixField I008_V1_2_050 = { REPETITIVE, 2, 1, 0, &hf_008_V1_2_050, I008_V1_2_050_PARTS, { NULL } }; static int hf_008_V1_2_090; static int hf_008_V1_2_090_VALUE; static const FieldPart I008_V1_2_090_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_008_V1_2_090_VALUE, NULL }; static const FieldPart *I008_V1_2_090_PARTS[] = { &I008_V1_2_090_VALUE, NULL }; static const AsterixField I008_V1_2_090 = { FIXED, 3, 0, 0, &hf_008_V1_2_090, I008_V1_2_090_PARTS, { NULL } }; static int hf_008_V1_2_100; static int hf_008_V1_2_100_F; static const FieldPart I008_V1_2_100_F = { 5, 1.0, FIELD_PART_INT, &hf_008_V1_2_100_F, NULL }; static int hf_008_V1_2_100_R; static const FieldPart I008_V1_2_100_R = { 3, 1.0, FIELD_PART_HEX, &hf_008_V1_2_100_R, NULL }; static int hf_008_V1_2_100_Q; static const FieldPart I008_V1_2_100_Q = { 15, 1.0, FIELD_PART_HEX, &hf_008_V1_2_100_Q, NULL }; static const FieldPart *I008_V1_2_100_PARTS[] = { &I008_V1_2_100_F, &I008_V1_2_100_R, &I008_V1_2_100_Q, &IXXX_FX, NULL }; static const AsterixField I008_V1_2_100 = { FX, 3, 0, 0, &hf_008_V1_2_100, I008_V1_2_100_PARTS, { NULL } }; static int hf_008_V1_2_110; static int hf_008_V1_2_110_Subitem; static const FieldPart I008_V1_2_110_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_008_V1_2_110_Subitem, NULL }; static const FieldPart *I008_V1_2_110_PARTS[] = { &I008_V1_2_110_Subitem, &IXXX_FX, NULL }; static const AsterixField I008_V1_2_110 = { FX, 1, 0, 0, &hf_008_V1_2_110, I008_V1_2_110_PARTS, { NULL } }; static int hf_008_V1_2_120; static int hf_008_V1_2_120_VALUE; static const FieldPart I008_V1_2_120_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_008_V1_2_120_VALUE, NULL }; static const FieldPart *I008_V1_2_120_PARTS[] = { &I008_V1_2_120_VALUE, NULL }; static const AsterixField I008_V1_2_120 = { FIXED, 2, 0, 0, &hf_008_V1_2_120, I008_V1_2_120_PARTS, { NULL } }; static int hf_008_V1_2_SP; static const AsterixField I008_V1_2_SP = { EXP, 0, 0, 1, &hf_008_V1_2_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I008_V1_2_uap[] = { &I008_V1_2_010, &I008_V1_2_000, &I008_V1_2_020, &I008_V1_2_036, &I008_V1_2_034, &I008_V1_2_040, &I008_V1_2_050, &I008_V1_2_090, &I008_V1_2_100, &I008_V1_2_110, &I008_V1_2_120, &I008_V1_2_038, &I008_V1_2_SP, NULL }; static const AsterixField **I008_V1_2[] = { I008_V1_2_uap, NULL }; DIAG_ON_PEDANTIC /* Category 008, edition 1.3 */ static int hf_008_V1_3_000; static int hf_008_V1_3_000_VALUE; static const value_string valstr_008_V1_3_000_VALUE[] = { { 1, "Polar vector" }, { 2, "Cartesian vector of start point/length" }, { 3, "Contour record" }, { 4, "Cartesian start point and end point vector" }, { 254, "SOP message" }, { 255, "EOP message" }, { 0, NULL } }; static const FieldPart I008_V1_3_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_008_V1_3_000_VALUE, NULL }; static const FieldPart *I008_V1_3_000_PARTS[] = { &I008_V1_3_000_VALUE, NULL }; static const AsterixField I008_V1_3_000 = { FIXED, 1, 0, 0, &hf_008_V1_3_000, I008_V1_3_000_PARTS, { NULL } }; static int hf_008_V1_3_010; static int hf_008_V1_3_010_SAC; static const FieldPart I008_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_008_V1_3_010_SAC, NULL }; static int hf_008_V1_3_010_SIC; static const FieldPart I008_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_008_V1_3_010_SIC, NULL }; static const FieldPart *I008_V1_3_010_PARTS[] = { &I008_V1_3_010_SAC, &I008_V1_3_010_SIC, NULL }; static const AsterixField I008_V1_3_010 = { FIXED, 2, 0, 0, &hf_008_V1_3_010, I008_V1_3_010_PARTS, { NULL } }; static int hf_008_V1_3_020; static int hf_008_V1_3_020_ORG; static const value_string valstr_008_V1_3_020_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I008_V1_3_020_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_3_020_ORG, NULL }; static int hf_008_V1_3_020_I; static const FieldPart I008_V1_3_020_I = { 3, 1.0, FIELD_PART_UINT, &hf_008_V1_3_020_I, NULL }; static int hf_008_V1_3_020_S; static const value_string valstr_008_V1_3_020_S[] = { { 0, "0°" }, { 1, "22.5°" }, { 2, "45°" }, { 3, "67.5°" }, { 4, "90°" }, { 5, "112.5°" }, { 6, "135°" }, { 7, "157.5°" }, { 0, NULL } }; static const FieldPart I008_V1_3_020_S = { 3, 1.0, FIELD_PART_UINT, &hf_008_V1_3_020_S, NULL }; static int hf_008_V1_3_020_TST; static const value_string valstr_008_V1_3_020_TST[] = { { 0, "Default" }, { 1, "Test vector" }, { 0, NULL } }; static const FieldPart I008_V1_3_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_3_020_TST, NULL }; static int hf_008_V1_3_020_ER; static const value_string valstr_008_V1_3_020_ER[] = { { 0, "Default" }, { 1, "Error condition encountered" }, { 0, NULL } }; static const FieldPart I008_V1_3_020_ER = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_3_020_ER, NULL }; static const FieldPart *I008_V1_3_020_PARTS[] = { &I008_V1_3_020_ORG, &I008_V1_3_020_I, &I008_V1_3_020_S, &IXXX_FX, &IXXX_5bit_spare, &I008_V1_3_020_TST, &I008_V1_3_020_ER, &IXXX_FX, NULL }; static const AsterixField I008_V1_3_020 = { FX, 1, 0, 0, &hf_008_V1_3_020, I008_V1_3_020_PARTS, { NULL } }; static int hf_008_V1_3_034; static int hf_008_V1_3_034_STR; static const FieldPart I008_V1_3_034_STR = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_008_V1_3_034_STR, NULL }; static int hf_008_V1_3_034_ENDR; static const FieldPart I008_V1_3_034_ENDR = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_008_V1_3_034_ENDR, NULL }; static int hf_008_V1_3_034_AZ; static const FieldPart I008_V1_3_034_AZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_008_V1_3_034_AZ, NULL }; static const FieldPart *I008_V1_3_034_PARTS[] = { &I008_V1_3_034_STR, &I008_V1_3_034_ENDR, &I008_V1_3_034_AZ, NULL }; static const AsterixField I008_V1_3_034 = { REPETITIVE, 4, 1, 0, &hf_008_V1_3_034, I008_V1_3_034_PARTS, { NULL } }; static int hf_008_V1_3_036; static int hf_008_V1_3_036_X; static const FieldPart I008_V1_3_036_X = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_036_X, NULL }; static int hf_008_V1_3_036_Y; static const FieldPart I008_V1_3_036_Y = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_036_Y, NULL }; static int hf_008_V1_3_036_LENGTH; static const FieldPart I008_V1_3_036_LENGTH = { 8, 0.015625, FIELD_PART_UFLOAT, &hf_008_V1_3_036_LENGTH, NULL }; static const FieldPart *I008_V1_3_036_PARTS[] = { &I008_V1_3_036_X, &I008_V1_3_036_Y, &I008_V1_3_036_LENGTH, NULL }; static const AsterixField I008_V1_3_036 = { REPETITIVE, 3, 1, 0, &hf_008_V1_3_036, I008_V1_3_036_PARTS, { NULL } }; static int hf_008_V1_3_038; static int hf_008_V1_3_038_X1; static const FieldPart I008_V1_3_038_X1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_038_X1, NULL }; static int hf_008_V1_3_038_Y1; static const FieldPart I008_V1_3_038_Y1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_038_Y1, NULL }; static int hf_008_V1_3_038_X2; static const FieldPart I008_V1_3_038_X2 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_038_X2, NULL }; static int hf_008_V1_3_038_Y2; static const FieldPart I008_V1_3_038_Y2 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_038_Y2, NULL }; static const FieldPart *I008_V1_3_038_PARTS[] = { &I008_V1_3_038_X1, &I008_V1_3_038_Y1, &I008_V1_3_038_X2, &I008_V1_3_038_Y2, NULL }; static const AsterixField I008_V1_3_038 = { REPETITIVE, 4, 1, 0, &hf_008_V1_3_038, I008_V1_3_038_PARTS, { NULL } }; static int hf_008_V1_3_040; static int hf_008_V1_3_040_ORG; static const value_string valstr_008_V1_3_040_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I008_V1_3_040_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_V1_3_040_ORG, NULL }; static int hf_008_V1_3_040_I; static const FieldPart I008_V1_3_040_I = { 3, 1.0, FIELD_PART_HEX, &hf_008_V1_3_040_I, NULL }; static int hf_008_V1_3_040_FSTLST; static const value_string valstr_008_V1_3_040_FSTLST[] = { { 0, "Intermediate record of a contour" }, { 1, "Last record of a contour of at least two records" }, { 2, "First record of a contour of at least two records" }, { 3, "First and only record, fully defining a contour" }, { 0, NULL } }; static const FieldPart I008_V1_3_040_FSTLST = { 2, 1.0, FIELD_PART_UINT, &hf_008_V1_3_040_FSTLST, NULL }; static int hf_008_V1_3_040_CSN; static const FieldPart I008_V1_3_040_CSN = { 8, 1.0, FIELD_PART_HEX, &hf_008_V1_3_040_CSN, NULL }; static const FieldPart *I008_V1_3_040_PARTS[] = { &I008_V1_3_040_ORG, &I008_V1_3_040_I, &IXXX_2bit_spare, &I008_V1_3_040_FSTLST, &I008_V1_3_040_CSN, NULL }; static const AsterixField I008_V1_3_040 = { FIXED, 2, 0, 0, &hf_008_V1_3_040, I008_V1_3_040_PARTS, { NULL } }; static int hf_008_V1_3_050; static int hf_008_V1_3_050_X1; static const FieldPart I008_V1_3_050_X1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_050_X1, NULL }; static int hf_008_V1_3_050_Y1; static const FieldPart I008_V1_3_050_Y1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_V1_3_050_Y1, NULL }; static const FieldPart *I008_V1_3_050_PARTS[] = { &I008_V1_3_050_X1, &I008_V1_3_050_Y1, NULL }; static const AsterixField I008_V1_3_050 = { REPETITIVE, 2, 1, 0, &hf_008_V1_3_050, I008_V1_3_050_PARTS, { NULL } }; static int hf_008_V1_3_090; static int hf_008_V1_3_090_VALUE; static const FieldPart I008_V1_3_090_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_008_V1_3_090_VALUE, NULL }; static const FieldPart *I008_V1_3_090_PARTS[] = { &I008_V1_3_090_VALUE, NULL }; static const AsterixField I008_V1_3_090 = { FIXED, 3, 0, 0, &hf_008_V1_3_090, I008_V1_3_090_PARTS, { NULL } }; static int hf_008_V1_3_100; static int hf_008_V1_3_100_F; static const FieldPart I008_V1_3_100_F = { 5, 1.0, FIELD_PART_INT, &hf_008_V1_3_100_F, NULL }; static int hf_008_V1_3_100_R; static const FieldPart I008_V1_3_100_R = { 3, 1.0, FIELD_PART_HEX, &hf_008_V1_3_100_R, NULL }; static int hf_008_V1_3_100_Q; static const FieldPart I008_V1_3_100_Q = { 15, 1.0, FIELD_PART_HEX, &hf_008_V1_3_100_Q, NULL }; static const FieldPart *I008_V1_3_100_PARTS[] = { &I008_V1_3_100_F, &I008_V1_3_100_R, &I008_V1_3_100_Q, &IXXX_FX, NULL }; static const AsterixField I008_V1_3_100 = { FX, 3, 0, 0, &hf_008_V1_3_100, I008_V1_3_100_PARTS, { NULL } }; static int hf_008_V1_3_110; static int hf_008_V1_3_110_Subitem; static const FieldPart I008_V1_3_110_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_008_V1_3_110_Subitem, NULL }; static const FieldPart *I008_V1_3_110_PARTS[] = { &I008_V1_3_110_Subitem, &IXXX_FX, NULL }; static const AsterixField I008_V1_3_110 = { FX, 1, 0, 0, &hf_008_V1_3_110, I008_V1_3_110_PARTS, { NULL } }; static int hf_008_V1_3_120; static int hf_008_V1_3_120_VALUE; static const FieldPart I008_V1_3_120_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_008_V1_3_120_VALUE, NULL }; static const FieldPart *I008_V1_3_120_PARTS[] = { &I008_V1_3_120_VALUE, NULL }; static const AsterixField I008_V1_3_120 = { FIXED, 2, 0, 0, &hf_008_V1_3_120, I008_V1_3_120_PARTS, { NULL } }; static int hf_008_V1_3_SP; static const AsterixField I008_V1_3_SP = { EXP, 0, 0, 1, &hf_008_V1_3_SP, NULL, { NULL } }; /* Category 008, edition 1.3 (latest) */ static int hf_008_000; static int hf_008_000_VALUE; static const value_string valstr_008_000_VALUE[] = { { 1, "Polar vector" }, { 2, "Cartesian vector of start point/length" }, { 3, "Contour record" }, { 4, "Cartesian start point and end point vector" }, { 254, "SOP message" }, { 255, "EOP message" }, { 0, NULL } }; static const FieldPart I008_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_008_000_VALUE, NULL }; static const FieldPart *I008_000_PARTS[] = { &I008_000_VALUE, NULL }; static const AsterixField I008_000 = { FIXED, 1, 0, 0, &hf_008_000, I008_000_PARTS, { NULL } }; static int hf_008_010; static int hf_008_010_SAC; static const FieldPart I008_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_008_010_SAC, NULL }; static int hf_008_010_SIC; static const FieldPart I008_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_008_010_SIC, NULL }; static const FieldPart *I008_010_PARTS[] = { &I008_010_SAC, &I008_010_SIC, NULL }; static const AsterixField I008_010 = { FIXED, 2, 0, 0, &hf_008_010, I008_010_PARTS, { NULL } }; static int hf_008_020; static int hf_008_020_ORG; static const value_string valstr_008_020_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I008_020_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_020_ORG, NULL }; static int hf_008_020_I; static const FieldPart I008_020_I = { 3, 1.0, FIELD_PART_UINT, &hf_008_020_I, NULL }; static int hf_008_020_S; static const value_string valstr_008_020_S[] = { { 0, "0°" }, { 1, "22.5°" }, { 2, "45°" }, { 3, "67.5°" }, { 4, "90°" }, { 5, "112.5°" }, { 6, "135°" }, { 7, "157.5°" }, { 0, NULL } }; static const FieldPart I008_020_S = { 3, 1.0, FIELD_PART_UINT, &hf_008_020_S, NULL }; static int hf_008_020_TST; static const value_string valstr_008_020_TST[] = { { 0, "Default" }, { 1, "Test vector" }, { 0, NULL } }; static const FieldPart I008_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_008_020_TST, NULL }; static int hf_008_020_ER; static const value_string valstr_008_020_ER[] = { { 0, "Default" }, { 1, "Error condition encountered" }, { 0, NULL } }; static const FieldPart I008_020_ER = { 1, 1.0, FIELD_PART_UINT, &hf_008_020_ER, NULL }; static const FieldPart *I008_020_PARTS[] = { &I008_020_ORG, &I008_020_I, &I008_020_S, &IXXX_FX, &IXXX_5bit_spare, &I008_020_TST, &I008_020_ER, &IXXX_FX, NULL }; static const AsterixField I008_020 = { FX, 1, 0, 0, &hf_008_020, I008_020_PARTS, { NULL } }; static int hf_008_034; static int hf_008_034_STR; static const FieldPart I008_034_STR = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_008_034_STR, NULL }; static int hf_008_034_ENDR; static const FieldPart I008_034_ENDR = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_008_034_ENDR, NULL }; static int hf_008_034_AZ; static const FieldPart I008_034_AZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_008_034_AZ, NULL }; static const FieldPart *I008_034_PARTS[] = { &I008_034_STR, &I008_034_ENDR, &I008_034_AZ, NULL }; static const AsterixField I008_034 = { REPETITIVE, 4, 1, 0, &hf_008_034, I008_034_PARTS, { NULL } }; static int hf_008_036; static int hf_008_036_X; static const FieldPart I008_036_X = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_036_X, NULL }; static int hf_008_036_Y; static const FieldPart I008_036_Y = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_036_Y, NULL }; static int hf_008_036_LENGTH; static const FieldPart I008_036_LENGTH = { 8, 0.015625, FIELD_PART_UFLOAT, &hf_008_036_LENGTH, NULL }; static const FieldPart *I008_036_PARTS[] = { &I008_036_X, &I008_036_Y, &I008_036_LENGTH, NULL }; static const AsterixField I008_036 = { REPETITIVE, 3, 1, 0, &hf_008_036, I008_036_PARTS, { NULL } }; static int hf_008_038; static int hf_008_038_X1; static const FieldPart I008_038_X1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_038_X1, NULL }; static int hf_008_038_Y1; static const FieldPart I008_038_Y1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_038_Y1, NULL }; static int hf_008_038_X2; static const FieldPart I008_038_X2 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_038_X2, NULL }; static int hf_008_038_Y2; static const FieldPart I008_038_Y2 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_038_Y2, NULL }; static const FieldPart *I008_038_PARTS[] = { &I008_038_X1, &I008_038_Y1, &I008_038_X2, &I008_038_Y2, NULL }; static const AsterixField I008_038 = { REPETITIVE, 4, 1, 0, &hf_008_038, I008_038_PARTS, { NULL } }; static int hf_008_040; static int hf_008_040_ORG; static const value_string valstr_008_040_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I008_040_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_040_ORG, NULL }; static int hf_008_040_I; static const FieldPart I008_040_I = { 3, 1.0, FIELD_PART_HEX, &hf_008_040_I, NULL }; static int hf_008_040_FSTLST; static const value_string valstr_008_040_FSTLST[] = { { 0, "Intermediate record of a contour" }, { 1, "Last record of a contour of at least two records" }, { 2, "First record of a contour of at least two records" }, { 3, "First and only record, fully defining a contour" }, { 0, NULL } }; static const FieldPart I008_040_FSTLST = { 2, 1.0, FIELD_PART_UINT, &hf_008_040_FSTLST, NULL }; static int hf_008_040_CSN; static const FieldPart I008_040_CSN = { 8, 1.0, FIELD_PART_HEX, &hf_008_040_CSN, NULL }; static const FieldPart *I008_040_PARTS[] = { &I008_040_ORG, &I008_040_I, &IXXX_2bit_spare, &I008_040_FSTLST, &I008_040_CSN, NULL }; static const AsterixField I008_040 = { FIXED, 2, 0, 0, &hf_008_040, I008_040_PARTS, { NULL } }; static int hf_008_050; static int hf_008_050_X1; static const FieldPart I008_050_X1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_050_X1, NULL }; static int hf_008_050_Y1; static const FieldPart I008_050_Y1 = { 8, 0.015625, FIELD_PART_FLOAT, &hf_008_050_Y1, NULL }; static const FieldPart *I008_050_PARTS[] = { &I008_050_X1, &I008_050_Y1, NULL }; static const AsterixField I008_050 = { REPETITIVE, 2, 1, 0, &hf_008_050, I008_050_PARTS, { NULL } }; static int hf_008_090; static int hf_008_090_VALUE; static const FieldPart I008_090_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_008_090_VALUE, NULL }; static const FieldPart *I008_090_PARTS[] = { &I008_090_VALUE, NULL }; static const AsterixField I008_090 = { FIXED, 3, 0, 0, &hf_008_090, I008_090_PARTS, { NULL } }; static int hf_008_100; static int hf_008_100_F; static const FieldPart I008_100_F = { 5, 1.0, FIELD_PART_INT, &hf_008_100_F, NULL }; static int hf_008_100_R; static const FieldPart I008_100_R = { 3, 1.0, FIELD_PART_HEX, &hf_008_100_R, NULL }; static int hf_008_100_Q; static const FieldPart I008_100_Q = { 15, 1.0, FIELD_PART_HEX, &hf_008_100_Q, NULL }; static const FieldPart *I008_100_PARTS[] = { &I008_100_F, &I008_100_R, &I008_100_Q, &IXXX_FX, NULL }; static const AsterixField I008_100 = { FX, 3, 0, 0, &hf_008_100, I008_100_PARTS, { NULL } }; static int hf_008_110; static int hf_008_110_Subitem; static const FieldPart I008_110_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_008_110_Subitem, NULL }; static const FieldPart *I008_110_PARTS[] = { &I008_110_Subitem, &IXXX_FX, NULL }; static const AsterixField I008_110 = { FX, 1, 0, 0, &hf_008_110, I008_110_PARTS, { NULL } }; static int hf_008_120; static int hf_008_120_VALUE; static const FieldPart I008_120_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_008_120_VALUE, NULL }; static const FieldPart *I008_120_PARTS[] = { &I008_120_VALUE, NULL }; static const AsterixField I008_120 = { FIXED, 2, 0, 0, &hf_008_120, I008_120_PARTS, { NULL } }; static int hf_008_SP; static const AsterixField I008_SP = { EXP, 0, 0, 1, &hf_008_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I008_V1_3_uap[] = { &I008_V1_3_010, &I008_V1_3_000, &I008_V1_3_020, &I008_V1_3_036, &I008_V1_3_034, &I008_V1_3_040, &I008_V1_3_050, &I008_V1_3_090, &I008_V1_3_100, &I008_V1_3_110, &I008_V1_3_120, &I008_V1_3_038, &I008_V1_3_SP, NULL }; static const AsterixField **I008_V1_3[] = { I008_V1_3_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I008_uap[] = { &I008_010, &I008_000, &I008_020, &I008_036, &I008_034, &I008_040, &I008_050, &I008_090, &I008_100, &I008_110, &I008_120, &I008_038, &I008_SP, NULL }; static const AsterixField **I008[] = { I008_uap, NULL }; DIAG_ON_PEDANTIC /* Category 009, edition 2.1 */ static int hf_009_V2_1_000; static int hf_009_V2_1_000_VALUE; static const value_string valstr_009_V2_1_000_VALUE[] = { { 2, "Cartesian vector" }, { 253, "Intermediate-update-step message" }, { 254, "Start-of-picture message" }, { 255, "End-of-picture message" }, { 0, NULL } }; static const FieldPart I009_V2_1_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_009_V2_1_000_VALUE, NULL }; static const FieldPart *I009_V2_1_000_PARTS[] = { &I009_V2_1_000_VALUE, NULL }; static const AsterixField I009_V2_1_000 = { FIXED, 1, 0, 0, &hf_009_V2_1_000, I009_V2_1_000_PARTS, { NULL } }; static int hf_009_V2_1_010; static int hf_009_V2_1_010_SAC; static const FieldPart I009_V2_1_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_009_V2_1_010_SAC, NULL }; static int hf_009_V2_1_010_SIC; static const FieldPart I009_V2_1_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_009_V2_1_010_SIC, NULL }; static const FieldPart *I009_V2_1_010_PARTS[] = { &I009_V2_1_010_SAC, &I009_V2_1_010_SIC, NULL }; static const AsterixField I009_V2_1_010 = { FIXED, 2, 0, 0, &hf_009_V2_1_010, I009_V2_1_010_PARTS, { NULL } }; static int hf_009_V2_1_020; static int hf_009_V2_1_020_ORG; static const value_string valstr_009_V2_1_020_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I009_V2_1_020_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_009_V2_1_020_ORG, NULL }; static int hf_009_V2_1_020_I; static const FieldPart I009_V2_1_020_I = { 3, 1.0, FIELD_PART_UINT, &hf_009_V2_1_020_I, NULL }; static int hf_009_V2_1_020_S; static const value_string valstr_009_V2_1_020_S[] = { { 0, "0°" }, { 1, "22.5°" }, { 2, "45°" }, { 3, "67.5°" }, { 4, "90°" }, { 5, "112.5°" }, { 6, "135°" }, { 7, "157.5°" }, { 0, NULL } }; static const FieldPart I009_V2_1_020_S = { 3, 1.0, FIELD_PART_UINT, &hf_009_V2_1_020_S, NULL }; static const FieldPart *I009_V2_1_020_PARTS[] = { &I009_V2_1_020_ORG, &I009_V2_1_020_I, &I009_V2_1_020_S, &IXXX_FX, NULL }; static const AsterixField I009_V2_1_020 = { FX, 1, 0, 0, &hf_009_V2_1_020, I009_V2_1_020_PARTS, { NULL } }; static int hf_009_V2_1_030; static int hf_009_V2_1_030_X; static const FieldPart I009_V2_1_030_X = { 16, 0.015625, FIELD_PART_FLOAT, &hf_009_V2_1_030_X, NULL }; static int hf_009_V2_1_030_Y; static const FieldPart I009_V2_1_030_Y = { 16, 0.015625, FIELD_PART_FLOAT, &hf_009_V2_1_030_Y, NULL }; static int hf_009_V2_1_030_L; static const FieldPart I009_V2_1_030_L = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_009_V2_1_030_L, NULL }; static const FieldPart *I009_V2_1_030_PARTS[] = { &I009_V2_1_030_X, &I009_V2_1_030_Y, &I009_V2_1_030_L, NULL }; static const AsterixField I009_V2_1_030 = { REPETITIVE, 6, 1, 0, &hf_009_V2_1_030, I009_V2_1_030_PARTS, { NULL } }; static int hf_009_V2_1_060; static int hf_009_V2_1_060_SN; static const FieldPart I009_V2_1_060_SN = { 6, 1.0, FIELD_PART_UINT, &hf_009_V2_1_060_SN, NULL }; static const FieldPart *I009_V2_1_060_PARTS[] = { &I009_V2_1_060_SN, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I009_V2_1_060 = { FX, 1, 0, 0, &hf_009_V2_1_060, I009_V2_1_060_PARTS, { NULL } }; static int hf_009_V2_1_070; static int hf_009_V2_1_070_VALUE; static const FieldPart I009_V2_1_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_009_V2_1_070_VALUE, NULL }; static const FieldPart *I009_V2_1_070_PARTS[] = { &I009_V2_1_070_VALUE, NULL }; static const AsterixField I009_V2_1_070 = { FIXED, 3, 0, 0, &hf_009_V2_1_070, I009_V2_1_070_PARTS, { NULL } }; static int hf_009_V2_1_080; static int hf_009_V2_1_080_F; static const FieldPart I009_V2_1_080_F = { 5, 1.0, FIELD_PART_INT, &hf_009_V2_1_080_F, NULL }; static int hf_009_V2_1_080_R; static const FieldPart I009_V2_1_080_R = { 3, 1.0, FIELD_PART_HEX, &hf_009_V2_1_080_R, NULL }; static int hf_009_V2_1_080_Q; static const FieldPart I009_V2_1_080_Q = { 15, 1.0, FIELD_PART_HEX, &hf_009_V2_1_080_Q, NULL }; static const FieldPart *I009_V2_1_080_PARTS[] = { &I009_V2_1_080_F, &I009_V2_1_080_R, &I009_V2_1_080_Q, &IXXX_FX, NULL }; static const AsterixField I009_V2_1_080 = { FX, 3, 0, 0, &hf_009_V2_1_080, I009_V2_1_080_PARTS, { NULL } }; static int hf_009_V2_1_090; static int hf_009_V2_1_090_SAC; static const FieldPart I009_V2_1_090_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_009_V2_1_090_SAC, NULL }; static int hf_009_V2_1_090_SIC; static const FieldPart I009_V2_1_090_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_009_V2_1_090_SIC, NULL }; static int hf_009_V2_1_090_CP; static const FieldPart I009_V2_1_090_CP = { 1, 1.0, FIELD_PART_HEX, &hf_009_V2_1_090_CP, NULL }; static int hf_009_V2_1_090_WO; static const FieldPart I009_V2_1_090_WO = { 1, 1.0, FIELD_PART_HEX, &hf_009_V2_1_090_WO, NULL }; static int hf_009_V2_1_090_R; static const FieldPart I009_V2_1_090_R = { 3, 1.0, FIELD_PART_HEX, &hf_009_V2_1_090_R, NULL }; static const FieldPart *I009_V2_1_090_PARTS[] = { &I009_V2_1_090_SAC, &I009_V2_1_090_SIC, &IXXX_3bit_spare, &I009_V2_1_090_CP, &I009_V2_1_090_WO, &I009_V2_1_090_R, NULL }; static const AsterixField I009_V2_1_090 = { REPETITIVE, 3, 1, 0, &hf_009_V2_1_090, I009_V2_1_090_PARTS, { NULL } }; static int hf_009_V2_1_100; static int hf_009_V2_1_100_VALUE; static const FieldPart I009_V2_1_100_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_009_V2_1_100_VALUE, NULL }; static const FieldPart *I009_V2_1_100_PARTS[] = { &I009_V2_1_100_VALUE, NULL }; static const AsterixField I009_V2_1_100 = { FIXED, 2, 0, 0, &hf_009_V2_1_100, I009_V2_1_100_PARTS, { NULL } }; /* Category 009, edition 2.1 (latest) */ static int hf_009_000; static int hf_009_000_VALUE; static const value_string valstr_009_000_VALUE[] = { { 2, "Cartesian vector" }, { 253, "Intermediate-update-step message" }, { 254, "Start-of-picture message" }, { 255, "End-of-picture message" }, { 0, NULL } }; static const FieldPart I009_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_009_000_VALUE, NULL }; static const FieldPart *I009_000_PARTS[] = { &I009_000_VALUE, NULL }; static const AsterixField I009_000 = { FIXED, 1, 0, 0, &hf_009_000, I009_000_PARTS, { NULL } }; static int hf_009_010; static int hf_009_010_SAC; static const FieldPart I009_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_009_010_SAC, NULL }; static int hf_009_010_SIC; static const FieldPart I009_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_009_010_SIC, NULL }; static const FieldPart *I009_010_PARTS[] = { &I009_010_SAC, &I009_010_SIC, NULL }; static const AsterixField I009_010 = { FIXED, 2, 0, 0, &hf_009_010, I009_010_PARTS, { NULL } }; static int hf_009_020; static int hf_009_020_ORG; static const value_string valstr_009_020_ORG[] = { { 0, "Local Coordinates" }, { 1, "System Coordinates" }, { 0, NULL } }; static const FieldPart I009_020_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_009_020_ORG, NULL }; static int hf_009_020_I; static const FieldPart I009_020_I = { 3, 1.0, FIELD_PART_UINT, &hf_009_020_I, NULL }; static int hf_009_020_S; static const value_string valstr_009_020_S[] = { { 0, "0°" }, { 1, "22.5°" }, { 2, "45°" }, { 3, "67.5°" }, { 4, "90°" }, { 5, "112.5°" }, { 6, "135°" }, { 7, "157.5°" }, { 0, NULL } }; static const FieldPart I009_020_S = { 3, 1.0, FIELD_PART_UINT, &hf_009_020_S, NULL }; static const FieldPart *I009_020_PARTS[] = { &I009_020_ORG, &I009_020_I, &I009_020_S, &IXXX_FX, NULL }; static const AsterixField I009_020 = { FX, 1, 0, 0, &hf_009_020, I009_020_PARTS, { NULL } }; static int hf_009_030; static int hf_009_030_X; static const FieldPart I009_030_X = { 16, 0.015625, FIELD_PART_FLOAT, &hf_009_030_X, NULL }; static int hf_009_030_Y; static const FieldPart I009_030_Y = { 16, 0.015625, FIELD_PART_FLOAT, &hf_009_030_Y, NULL }; static int hf_009_030_L; static const FieldPart I009_030_L = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_009_030_L, NULL }; static const FieldPart *I009_030_PARTS[] = { &I009_030_X, &I009_030_Y, &I009_030_L, NULL }; static const AsterixField I009_030 = { REPETITIVE, 6, 1, 0, &hf_009_030, I009_030_PARTS, { NULL } }; static int hf_009_060; static int hf_009_060_SN; static const FieldPart I009_060_SN = { 6, 1.0, FIELD_PART_UINT, &hf_009_060_SN, NULL }; static const FieldPart *I009_060_PARTS[] = { &I009_060_SN, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I009_060 = { FX, 1, 0, 0, &hf_009_060, I009_060_PARTS, { NULL } }; static int hf_009_070; static int hf_009_070_VALUE; static const FieldPart I009_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_009_070_VALUE, NULL }; static const FieldPart *I009_070_PARTS[] = { &I009_070_VALUE, NULL }; static const AsterixField I009_070 = { FIXED, 3, 0, 0, &hf_009_070, I009_070_PARTS, { NULL } }; static int hf_009_080; static int hf_009_080_F; static const FieldPart I009_080_F = { 5, 1.0, FIELD_PART_INT, &hf_009_080_F, NULL }; static int hf_009_080_R; static const FieldPart I009_080_R = { 3, 1.0, FIELD_PART_HEX, &hf_009_080_R, NULL }; static int hf_009_080_Q; static const FieldPart I009_080_Q = { 15, 1.0, FIELD_PART_HEX, &hf_009_080_Q, NULL }; static const FieldPart *I009_080_PARTS[] = { &I009_080_F, &I009_080_R, &I009_080_Q, &IXXX_FX, NULL }; static const AsterixField I009_080 = { FX, 3, 0, 0, &hf_009_080, I009_080_PARTS, { NULL } }; static int hf_009_090; static int hf_009_090_SAC; static const FieldPart I009_090_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_009_090_SAC, NULL }; static int hf_009_090_SIC; static const FieldPart I009_090_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_009_090_SIC, NULL }; static int hf_009_090_CP; static const FieldPart I009_090_CP = { 1, 1.0, FIELD_PART_HEX, &hf_009_090_CP, NULL }; static int hf_009_090_WO; static const FieldPart I009_090_WO = { 1, 1.0, FIELD_PART_HEX, &hf_009_090_WO, NULL }; static int hf_009_090_R; static const FieldPart I009_090_R = { 3, 1.0, FIELD_PART_HEX, &hf_009_090_R, NULL }; static const FieldPart *I009_090_PARTS[] = { &I009_090_SAC, &I009_090_SIC, &IXXX_3bit_spare, &I009_090_CP, &I009_090_WO, &I009_090_R, NULL }; static const AsterixField I009_090 = { REPETITIVE, 3, 1, 0, &hf_009_090, I009_090_PARTS, { NULL } }; static int hf_009_100; static int hf_009_100_VALUE; static const FieldPart I009_100_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_009_100_VALUE, NULL }; static const FieldPart *I009_100_PARTS[] = { &I009_100_VALUE, NULL }; static const AsterixField I009_100 = { FIXED, 2, 0, 0, &hf_009_100, I009_100_PARTS, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I009_V2_1_uap[] = { &I009_V2_1_010, &I009_V2_1_000, &I009_V2_1_020, &I009_V2_1_030, &I009_V2_1_060, &I009_V2_1_070, &I009_V2_1_080, &I009_V2_1_090, &I009_V2_1_100, NULL }; static const AsterixField **I009_V2_1[] = { I009_V2_1_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I009_uap[] = { &I009_010, &I009_000, &I009_020, &I009_030, &I009_060, &I009_070, &I009_080, &I009_090, &I009_100, NULL }; static const AsterixField **I009[] = { I009_uap, NULL }; DIAG_ON_PEDANTIC /* Category 010, edition 1.1 */ static int hf_010_V1_1_000; static int hf_010_V1_1_000_VALUE; static const value_string valstr_010_V1_1_000_VALUE[] = { { 1, "Target Report" }, { 2, "Start of Update Cycle" }, { 3, "Periodic Status Message" }, { 4, "Event-triggered Status Message" }, { 0, NULL } }; static const FieldPart I010_V1_1_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_010_V1_1_000_VALUE, NULL }; static const FieldPart *I010_V1_1_000_PARTS[] = { &I010_V1_1_000_VALUE, NULL }; static const AsterixField I010_V1_1_000 = { FIXED, 1, 0, 0, &hf_010_V1_1_000, I010_V1_1_000_PARTS, { NULL } }; static int hf_010_V1_1_010; static int hf_010_V1_1_010_SAC; static const FieldPart I010_V1_1_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_010_V1_1_010_SAC, NULL }; static int hf_010_V1_1_010_SIC; static const FieldPart I010_V1_1_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_010_V1_1_010_SIC, NULL }; static const FieldPart *I010_V1_1_010_PARTS[] = { &I010_V1_1_010_SAC, &I010_V1_1_010_SIC, NULL }; static const AsterixField I010_V1_1_010 = { FIXED, 2, 0, 0, &hf_010_V1_1_010, I010_V1_1_010_PARTS, { NULL } }; static int hf_010_V1_1_020; static int hf_010_V1_1_020_TYP; static const value_string valstr_010_V1_1_020_TYP[] = { { 0, "SSR multilateration" }, { 1, "Mode S multilateration" }, { 2, "ADS-B" }, { 3, "PSR" }, { 4, "Magnetic Loop System" }, { 5, "HF multilateration" }, { 6, "Not defined" }, { 7, "Other types" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_TYP, NULL }; static int hf_010_V1_1_020_DCR; static const value_string valstr_010_V1_1_020_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_DCR, NULL }; static int hf_010_V1_1_020_CHN; static const value_string valstr_010_V1_1_020_CHN[] = { { 0, "Chain 1" }, { 1, "Chain 2" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_CHN = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_CHN, NULL }; static int hf_010_V1_1_020_GBS; static const value_string valstr_010_V1_1_020_GBS[] = { { 0, "Transponder Ground bit not set" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_GBS, NULL }; static int hf_010_V1_1_020_CRT; static const value_string valstr_010_V1_1_020_CRT[] = { { 0, "No Corrupted reply in multilateration" }, { 1, "Corrupted replies in multilateration" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_CRT = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_CRT, NULL }; static int hf_010_V1_1_020_SIM; static const value_string valstr_010_V1_1_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_SIM, NULL }; static int hf_010_V1_1_020_TST; static const value_string valstr_010_V1_1_020_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_TST, NULL }; static int hf_010_V1_1_020_RAB; static const value_string valstr_010_V1_1_020_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_RAB, NULL }; static int hf_010_V1_1_020_LOP; static const value_string valstr_010_V1_1_020_LOP[] = { { 0, "Undetermined" }, { 1, "Loop start" }, { 2, "Loop finish" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_LOP = { 2, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_LOP, NULL }; static int hf_010_V1_1_020_TOT; static const value_string valstr_010_V1_1_020_TOT[] = { { 0, "Undetermined" }, { 1, "Aircraft" }, { 2, "Ground vehicle" }, { 3, "Helicopter" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_TOT = { 2, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_TOT, NULL }; static int hf_010_V1_1_020_SPI; static const value_string valstr_010_V1_1_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I010_V1_1_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_020_SPI, NULL }; static const FieldPart *I010_V1_1_020_PARTS[] = { &I010_V1_1_020_TYP, &I010_V1_1_020_DCR, &I010_V1_1_020_CHN, &I010_V1_1_020_GBS, &I010_V1_1_020_CRT, &IXXX_FX, &I010_V1_1_020_SIM, &I010_V1_1_020_TST, &I010_V1_1_020_RAB, &I010_V1_1_020_LOP, &I010_V1_1_020_TOT, &IXXX_FX, &I010_V1_1_020_SPI, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I010_V1_1_020 = { FX, 1, 0, 0, &hf_010_V1_1_020, I010_V1_1_020_PARTS, { NULL } }; static int hf_010_V1_1_040; static int hf_010_V1_1_040_RHO; static const FieldPart I010_V1_1_040_RHO = { 16, 1.0, FIELD_PART_UFLOAT, &hf_010_V1_1_040_RHO, NULL }; static int hf_010_V1_1_040_TH; static const FieldPart I010_V1_1_040_TH = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_010_V1_1_040_TH, NULL }; static const FieldPart *I010_V1_1_040_PARTS[] = { &I010_V1_1_040_RHO, &I010_V1_1_040_TH, NULL }; static const AsterixField I010_V1_1_040 = { FIXED, 4, 0, 0, &hf_010_V1_1_040, I010_V1_1_040_PARTS, { NULL } }; static int hf_010_V1_1_041; static int hf_010_V1_1_041_LAT; static const FieldPart I010_V1_1_041_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_010_V1_1_041_LAT, NULL }; static int hf_010_V1_1_041_LON; static const FieldPart I010_V1_1_041_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_010_V1_1_041_LON, NULL }; static const FieldPart *I010_V1_1_041_PARTS[] = { &I010_V1_1_041_LAT, &I010_V1_1_041_LON, NULL }; static const AsterixField I010_V1_1_041 = { FIXED, 8, 0, 0, &hf_010_V1_1_041, I010_V1_1_041_PARTS, { NULL } }; static int hf_010_V1_1_042; static int hf_010_V1_1_042_X; static const FieldPart I010_V1_1_042_X = { 16, 1.0, FIELD_PART_FLOAT, &hf_010_V1_1_042_X, NULL }; static int hf_010_V1_1_042_Y; static const FieldPart I010_V1_1_042_Y = { 16, 1.0, FIELD_PART_FLOAT, &hf_010_V1_1_042_Y, NULL }; static const FieldPart *I010_V1_1_042_PARTS[] = { &I010_V1_1_042_X, &I010_V1_1_042_Y, NULL }; static const AsterixField I010_V1_1_042 = { FIXED, 4, 0, 0, &hf_010_V1_1_042, I010_V1_1_042_PARTS, { NULL } }; static int hf_010_V1_1_060; static int hf_010_V1_1_060_V; static const value_string valstr_010_V1_1_060_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I010_V1_1_060_V = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_060_V, NULL }; static int hf_010_V1_1_060_G; static const value_string valstr_010_V1_1_060_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I010_V1_1_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_060_G, NULL }; static int hf_010_V1_1_060_L; static const value_string valstr_010_V1_1_060_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I010_V1_1_060_L = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_060_L, NULL }; static int hf_010_V1_1_060_MODE3A; static const FieldPart I010_V1_1_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_010_V1_1_060_MODE3A, NULL }; static const FieldPart *I010_V1_1_060_PARTS[] = { &I010_V1_1_060_V, &I010_V1_1_060_G, &I010_V1_1_060_L, &IXXX_1bit_spare, &I010_V1_1_060_MODE3A, NULL }; static const AsterixField I010_V1_1_060 = { FIXED, 2, 0, 0, &hf_010_V1_1_060, I010_V1_1_060_PARTS, { NULL } }; static int hf_010_V1_1_090; static int hf_010_V1_1_090_V; static const value_string valstr_010_V1_1_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I010_V1_1_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_090_V, NULL }; static int hf_010_V1_1_090_G; static const value_string valstr_010_V1_1_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I010_V1_1_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_090_G, NULL }; static int hf_010_V1_1_090_FL; static const FieldPart I010_V1_1_090_FL = { 14, 0.25, FIELD_PART_FLOAT, &hf_010_V1_1_090_FL, NULL }; static const FieldPart *I010_V1_1_090_PARTS[] = { &I010_V1_1_090_V, &I010_V1_1_090_G, &I010_V1_1_090_FL, NULL }; static const AsterixField I010_V1_1_090 = { FIXED, 2, 0, 0, &hf_010_V1_1_090, I010_V1_1_090_PARTS, { NULL } }; static int hf_010_V1_1_091; static int hf_010_V1_1_091_VALUE; static const FieldPart I010_V1_1_091_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_010_V1_1_091_VALUE, NULL }; static const FieldPart *I010_V1_1_091_PARTS[] = { &I010_V1_1_091_VALUE, NULL }; static const AsterixField I010_V1_1_091 = { FIXED, 2, 0, 0, &hf_010_V1_1_091, I010_V1_1_091_PARTS, { NULL } }; static int hf_010_V1_1_131; static int hf_010_V1_1_131_VALUE; static const FieldPart I010_V1_1_131_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_010_V1_1_131_VALUE, NULL }; static const FieldPart *I010_V1_1_131_PARTS[] = { &I010_V1_1_131_VALUE, NULL }; static const AsterixField I010_V1_1_131 = { FIXED, 1, 0, 0, &hf_010_V1_1_131, I010_V1_1_131_PARTS, { NULL } }; static int hf_010_V1_1_140; static int hf_010_V1_1_140_VALUE; static const FieldPart I010_V1_1_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_010_V1_1_140_VALUE, NULL }; static const FieldPart *I010_V1_1_140_PARTS[] = { &I010_V1_1_140_VALUE, NULL }; static const AsterixField I010_V1_1_140 = { FIXED, 3, 0, 0, &hf_010_V1_1_140, I010_V1_1_140_PARTS, { NULL } }; static int hf_010_V1_1_161; static int hf_010_V1_1_161_TRK; static const FieldPart I010_V1_1_161_TRK = { 12, 1.0, FIELD_PART_HEX, &hf_010_V1_1_161_TRK, NULL }; static const FieldPart *I010_V1_1_161_PARTS[] = { &IXXX_4bit_spare, &I010_V1_1_161_TRK, NULL }; static const AsterixField I010_V1_1_161 = { FIXED, 2, 0, 0, &hf_010_V1_1_161, I010_V1_1_161_PARTS, { NULL } }; static int hf_010_V1_1_170; static int hf_010_V1_1_170_CNF; static const value_string valstr_010_V1_1_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Track in initialisation phase" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_CNF, NULL }; static int hf_010_V1_1_170_TRE; static const value_string valstr_010_V1_1_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_TRE, NULL }; static int hf_010_V1_1_170_CST; static const value_string valstr_010_V1_1_170_CST[] = { { 0, "No extrapolation" }, { 1, "Predictable extrapolation due to sensor refresh period (see NOTE)" }, { 2, "Predictable extrapolation in masked area" }, { 3, "Extrapolation due to unpredictable absence of detection" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_CST = { 2, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_CST, NULL }; static int hf_010_V1_1_170_MAH; static const value_string valstr_010_V1_1_170_MAH[] = { { 0, "Default" }, { 1, "Horizontal manoeuvre" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_MAH, NULL }; static int hf_010_V1_1_170_TCC; static const value_string valstr_010_V1_1_170_TCC[] = { { 0, "Tracking performed in \'Sensor Plane\', i.e. neither slant range correction nor projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Sensor Site co-ordinates" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_TCC, NULL }; static int hf_010_V1_1_170_STH; static const value_string valstr_010_V1_1_170_STH[] = { { 0, "Measured position" }, { 1, "Smoothed position" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_STH = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_STH, NULL }; static int hf_010_V1_1_170_TOM; static const value_string valstr_010_V1_1_170_TOM[] = { { 0, "Unknown type of movement" }, { 1, "Taking-off" }, { 2, "Landing" }, { 3, "Other types of movement" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_TOM = { 2, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_TOM, NULL }; static int hf_010_V1_1_170_DOU; static const value_string valstr_010_V1_1_170_DOU[] = { { 0, "No doubt" }, { 1, "Doubtful correlation (undetermined reason)" }, { 2, "Doubtful correlation in clutter" }, { 3, "Loss of accuracy" }, { 4, "Loss of accuracy in clutter" }, { 5, "Unstable track" }, { 6, "Previously coasted" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_DOU = { 3, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_DOU, NULL }; static int hf_010_V1_1_170_MRS; static const value_string valstr_010_V1_1_170_MRS[] = { { 0, "Merge or split indication undetermined" }, { 1, "Track merged by association to plot" }, { 2, "Track merged by non-association to plot" }, { 3, "Split track" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_MRS = { 2, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_MRS, NULL }; static int hf_010_V1_1_170_GHO; static const value_string valstr_010_V1_1_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I010_V1_1_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_170_GHO, NULL }; static const FieldPart *I010_V1_1_170_PARTS[] = { &I010_V1_1_170_CNF, &I010_V1_1_170_TRE, &I010_V1_1_170_CST, &I010_V1_1_170_MAH, &I010_V1_1_170_TCC, &I010_V1_1_170_STH, &IXXX_FX, &I010_V1_1_170_TOM, &I010_V1_1_170_DOU, &I010_V1_1_170_MRS, &IXXX_FX, &I010_V1_1_170_GHO, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I010_V1_1_170 = { FX, 1, 0, 0, &hf_010_V1_1_170, I010_V1_1_170_PARTS, { NULL } }; static int hf_010_V1_1_200; static int hf_010_V1_1_200_GSP; static const FieldPart I010_V1_1_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_010_V1_1_200_GSP, NULL }; static int hf_010_V1_1_200_TRA; static const FieldPart I010_V1_1_200_TRA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_010_V1_1_200_TRA, NULL }; static const FieldPart *I010_V1_1_200_PARTS[] = { &I010_V1_1_200_GSP, &I010_V1_1_200_TRA, NULL }; static const AsterixField I010_V1_1_200 = { FIXED, 4, 0, 0, &hf_010_V1_1_200, I010_V1_1_200_PARTS, { NULL } }; static int hf_010_V1_1_202; static int hf_010_V1_1_202_VX; static const FieldPart I010_V1_1_202_VX = { 16, 0.0625, FIELD_PART_FLOAT, &hf_010_V1_1_202_VX, NULL }; static int hf_010_V1_1_202_VY; static const FieldPart I010_V1_1_202_VY = { 16, 0.0625, FIELD_PART_FLOAT, &hf_010_V1_1_202_VY, NULL }; static const FieldPart *I010_V1_1_202_PARTS[] = { &I010_V1_1_202_VX, &I010_V1_1_202_VY, NULL }; static const AsterixField I010_V1_1_202 = { FIXED, 4, 0, 0, &hf_010_V1_1_202, I010_V1_1_202_PARTS, { NULL } }; static int hf_010_V1_1_210; static int hf_010_V1_1_210_AX; static const FieldPart I010_V1_1_210_AX = { 8, 0.0625, FIELD_PART_FLOAT, &hf_010_V1_1_210_AX, NULL }; static int hf_010_V1_1_210_AY; static const FieldPart I010_V1_1_210_AY = { 8, 0.0625, FIELD_PART_FLOAT, &hf_010_V1_1_210_AY, NULL }; static const FieldPart *I010_V1_1_210_PARTS[] = { &I010_V1_1_210_AX, &I010_V1_1_210_AY, NULL }; static const AsterixField I010_V1_1_210 = { FIXED, 2, 0, 0, &hf_010_V1_1_210, I010_V1_1_210_PARTS, { NULL } }; static int hf_010_V1_1_220; static int hf_010_V1_1_220_VALUE; static const FieldPart I010_V1_1_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_010_V1_1_220_VALUE, NULL }; static const FieldPart *I010_V1_1_220_PARTS[] = { &I010_V1_1_220_VALUE, NULL }; static const AsterixField I010_V1_1_220 = { FIXED, 3, 0, 0, &hf_010_V1_1_220, I010_V1_1_220_PARTS, { NULL } }; static int hf_010_V1_1_245; static int hf_010_V1_1_245_STI; static const value_string valstr_010_V1_1_245_STI[] = { { 0, "Callsign or registration downlinked from transponder" }, { 1, "Callsign not downlinked from transponder" }, { 2, "Registration not downlinked from transponder" }, { 0, NULL } }; static const FieldPart I010_V1_1_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_010_V1_1_245_STI, NULL }; static int hf_010_V1_1_245_CHR; static const FieldPart I010_V1_1_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_010_V1_1_245_CHR, NULL }; static const FieldPart *I010_V1_1_245_PARTS[] = { &I010_V1_1_245_STI, &IXXX_6bit_spare, &I010_V1_1_245_CHR, NULL }; static const AsterixField I010_V1_1_245 = { FIXED, 7, 0, 0, &hf_010_V1_1_245, I010_V1_1_245_PARTS, { NULL } }; static int hf_010_V1_1_250; static int hf_010_V1_1_250_MBDATA; static const FieldPart I010_V1_1_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_010_V1_1_250_MBDATA, NULL }; static int hf_010_V1_1_250_BDS1; static const FieldPart I010_V1_1_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_010_V1_1_250_BDS1, NULL }; static int hf_010_V1_1_250_BDS2; static const FieldPart I010_V1_1_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_010_V1_1_250_BDS2, NULL }; static const FieldPart *I010_V1_1_250_PARTS[] = { &I010_V1_1_250_MBDATA, &I010_V1_1_250_BDS1, &I010_V1_1_250_BDS2, NULL }; static const AsterixField I010_V1_1_250 = { REPETITIVE, 8, 1, 0, &hf_010_V1_1_250, I010_V1_1_250_PARTS, { NULL } }; static int hf_010_V1_1_270; static int hf_010_V1_1_270_LENGTH; static const FieldPart I010_V1_1_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_010_V1_1_270_LENGTH, NULL }; static int hf_010_V1_1_270_ORIENTATION; static const FieldPart I010_V1_1_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_010_V1_1_270_ORIENTATION, NULL }; static int hf_010_V1_1_270_WIDTH; static const FieldPart I010_V1_1_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_010_V1_1_270_WIDTH, NULL }; static const FieldPart *I010_V1_1_270_PARTS[] = { &I010_V1_1_270_LENGTH, &IXXX_FX, &I010_V1_1_270_ORIENTATION, &IXXX_FX, &I010_V1_1_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I010_V1_1_270 = { FX, 1, 0, 0, &hf_010_V1_1_270, I010_V1_1_270_PARTS, { NULL } }; static int hf_010_V1_1_280; static int hf_010_V1_1_280_DRHO; static const FieldPart I010_V1_1_280_DRHO = { 8, 1.0, FIELD_PART_FLOAT, &hf_010_V1_1_280_DRHO, NULL }; static int hf_010_V1_1_280_DTHETA; static const FieldPart I010_V1_1_280_DTHETA = { 8, 0.15, FIELD_PART_FLOAT, &hf_010_V1_1_280_DTHETA, NULL }; static const FieldPart *I010_V1_1_280_PARTS[] = { &I010_V1_1_280_DRHO, &I010_V1_1_280_DTHETA, NULL }; static const AsterixField I010_V1_1_280 = { REPETITIVE, 2, 1, 0, &hf_010_V1_1_280, I010_V1_1_280_PARTS, { NULL } }; static int hf_010_V1_1_300; static int hf_010_V1_1_300_VALUE; static const value_string valstr_010_V1_1_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I010_V1_1_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_010_V1_1_300_VALUE, NULL }; static const FieldPart *I010_V1_1_300_PARTS[] = { &I010_V1_1_300_VALUE, NULL }; static const AsterixField I010_V1_1_300 = { FIXED, 1, 0, 0, &hf_010_V1_1_300, I010_V1_1_300_PARTS, { NULL } }; static int hf_010_V1_1_310; static int hf_010_V1_1_310_TRB; static const value_string valstr_010_V1_1_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I010_V1_1_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_310_TRB, NULL }; static int hf_010_V1_1_310_MSG; static const value_string valstr_010_V1_1_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "“Follow me” operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I010_V1_1_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_010_V1_1_310_MSG, NULL }; static const FieldPart *I010_V1_1_310_PARTS[] = { &I010_V1_1_310_TRB, &I010_V1_1_310_MSG, NULL }; static const AsterixField I010_V1_1_310 = { FIXED, 1, 0, 0, &hf_010_V1_1_310, I010_V1_1_310_PARTS, { NULL } }; static int hf_010_V1_1_500; static int hf_010_V1_1_500_DEVX; static const FieldPart I010_V1_1_500_DEVX = { 8, 0.25, FIELD_PART_UFLOAT, &hf_010_V1_1_500_DEVX, NULL }; static int hf_010_V1_1_500_DEVY; static const FieldPart I010_V1_1_500_DEVY = { 8, 0.25, FIELD_PART_UFLOAT, &hf_010_V1_1_500_DEVY, NULL }; static int hf_010_V1_1_500_COVXY; static const FieldPart I010_V1_1_500_COVXY = { 16, 0.25, FIELD_PART_FLOAT, &hf_010_V1_1_500_COVXY, NULL }; static const FieldPart *I010_V1_1_500_PARTS[] = { &I010_V1_1_500_DEVX, &I010_V1_1_500_DEVY, &I010_V1_1_500_COVXY, NULL }; static const AsterixField I010_V1_1_500 = { FIXED, 4, 0, 0, &hf_010_V1_1_500, I010_V1_1_500_PARTS, { NULL } }; static int hf_010_V1_1_550; static int hf_010_V1_1_550_NOGO; static const value_string valstr_010_V1_1_550_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "NOGO" }, { 0, NULL } }; static const FieldPart I010_V1_1_550_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_010_V1_1_550_NOGO, NULL }; static int hf_010_V1_1_550_OVL; static const value_string valstr_010_V1_1_550_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I010_V1_1_550_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_550_OVL, NULL }; static int hf_010_V1_1_550_TSV; static const value_string valstr_010_V1_1_550_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I010_V1_1_550_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_550_TSV, NULL }; static int hf_010_V1_1_550_DIV; static const value_string valstr_010_V1_1_550_DIV[] = { { 0, "Normal Operation" }, { 1, "Diversity degraded" }, { 0, NULL } }; static const FieldPart I010_V1_1_550_DIV = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_550_DIV, NULL }; static int hf_010_V1_1_550_TTF; static const value_string valstr_010_V1_1_550_TTF[] = { { 0, "Test Target Operative" }, { 1, "Test Target Failure" }, { 0, NULL } }; static const FieldPart I010_V1_1_550_TTF = { 1, 1.0, FIELD_PART_UINT, &hf_010_V1_1_550_TTF, NULL }; static const FieldPart *I010_V1_1_550_PARTS[] = { &I010_V1_1_550_NOGO, &I010_V1_1_550_OVL, &I010_V1_1_550_TSV, &I010_V1_1_550_DIV, &I010_V1_1_550_TTF, &IXXX_2bit_spare, NULL }; static const AsterixField I010_V1_1_550 = { FIXED, 1, 0, 0, &hf_010_V1_1_550, I010_V1_1_550_PARTS, { NULL } }; static int hf_010_V1_1_RE; static const AsterixField I010_V1_1_RE = { EXP, 0, 0, 1, &hf_010_V1_1_RE, NULL, { NULL } }; static int hf_010_V1_1_SP; static const AsterixField I010_V1_1_SP = { EXP, 0, 0, 1, &hf_010_V1_1_SP, NULL, { NULL } }; /* Category 010, edition 1.1 (latest) */ static int hf_010_000; static int hf_010_000_VALUE; static const value_string valstr_010_000_VALUE[] = { { 1, "Target Report" }, { 2, "Start of Update Cycle" }, { 3, "Periodic Status Message" }, { 4, "Event-triggered Status Message" }, { 0, NULL } }; static const FieldPart I010_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_010_000_VALUE, NULL }; static const FieldPart *I010_000_PARTS[] = { &I010_000_VALUE, NULL }; static const AsterixField I010_000 = { FIXED, 1, 0, 0, &hf_010_000, I010_000_PARTS, { NULL } }; static int hf_010_010; static int hf_010_010_SAC; static const FieldPart I010_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_010_010_SAC, NULL }; static int hf_010_010_SIC; static const FieldPart I010_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_010_010_SIC, NULL }; static const FieldPart *I010_010_PARTS[] = { &I010_010_SAC, &I010_010_SIC, NULL }; static const AsterixField I010_010 = { FIXED, 2, 0, 0, &hf_010_010, I010_010_PARTS, { NULL } }; static int hf_010_020; static int hf_010_020_TYP; static const value_string valstr_010_020_TYP[] = { { 0, "SSR multilateration" }, { 1, "Mode S multilateration" }, { 2, "ADS-B" }, { 3, "PSR" }, { 4, "Magnetic Loop System" }, { 5, "HF multilateration" }, { 6, "Not defined" }, { 7, "Other types" }, { 0, NULL } }; static const FieldPart I010_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_010_020_TYP, NULL }; static int hf_010_020_DCR; static const value_string valstr_010_020_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I010_020_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_DCR, NULL }; static int hf_010_020_CHN; static const value_string valstr_010_020_CHN[] = { { 0, "Chain 1" }, { 1, "Chain 2" }, { 0, NULL } }; static const FieldPart I010_020_CHN = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_CHN, NULL }; static int hf_010_020_GBS; static const value_string valstr_010_020_GBS[] = { { 0, "Transponder Ground bit not set" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I010_020_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_GBS, NULL }; static int hf_010_020_CRT; static const value_string valstr_010_020_CRT[] = { { 0, "No Corrupted reply in multilateration" }, { 1, "Corrupted replies in multilateration" }, { 0, NULL } }; static const FieldPart I010_020_CRT = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_CRT, NULL }; static int hf_010_020_SIM; static const value_string valstr_010_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I010_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_SIM, NULL }; static int hf_010_020_TST; static const value_string valstr_010_020_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I010_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_TST, NULL }; static int hf_010_020_RAB; static const value_string valstr_010_020_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I010_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_RAB, NULL }; static int hf_010_020_LOP; static const value_string valstr_010_020_LOP[] = { { 0, "Undetermined" }, { 1, "Loop start" }, { 2, "Loop finish" }, { 0, NULL } }; static const FieldPart I010_020_LOP = { 2, 1.0, FIELD_PART_UINT, &hf_010_020_LOP, NULL }; static int hf_010_020_TOT; static const value_string valstr_010_020_TOT[] = { { 0, "Undetermined" }, { 1, "Aircraft" }, { 2, "Ground vehicle" }, { 3, "Helicopter" }, { 0, NULL } }; static const FieldPart I010_020_TOT = { 2, 1.0, FIELD_PART_UINT, &hf_010_020_TOT, NULL }; static int hf_010_020_SPI; static const value_string valstr_010_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I010_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_SPI, NULL }; static const FieldPart *I010_020_PARTS[] = { &I010_020_TYP, &I010_020_DCR, &I010_020_CHN, &I010_020_GBS, &I010_020_CRT, &IXXX_FX, &I010_020_SIM, &I010_020_TST, &I010_020_RAB, &I010_020_LOP, &I010_020_TOT, &IXXX_FX, &I010_020_SPI, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I010_020 = { FX, 1, 0, 0, &hf_010_020, I010_020_PARTS, { NULL } }; static int hf_010_040; static int hf_010_040_RHO; static const FieldPart I010_040_RHO = { 16, 1.0, FIELD_PART_UFLOAT, &hf_010_040_RHO, NULL }; static int hf_010_040_TH; static const FieldPart I010_040_TH = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_010_040_TH, NULL }; static const FieldPart *I010_040_PARTS[] = { &I010_040_RHO, &I010_040_TH, NULL }; static const AsterixField I010_040 = { FIXED, 4, 0, 0, &hf_010_040, I010_040_PARTS, { NULL } }; static int hf_010_041; static int hf_010_041_LAT; static const FieldPart I010_041_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_010_041_LAT, NULL }; static int hf_010_041_LON; static const FieldPart I010_041_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_010_041_LON, NULL }; static const FieldPart *I010_041_PARTS[] = { &I010_041_LAT, &I010_041_LON, NULL }; static const AsterixField I010_041 = { FIXED, 8, 0, 0, &hf_010_041, I010_041_PARTS, { NULL } }; static int hf_010_042; static int hf_010_042_X; static const FieldPart I010_042_X = { 16, 1.0, FIELD_PART_FLOAT, &hf_010_042_X, NULL }; static int hf_010_042_Y; static const FieldPart I010_042_Y = { 16, 1.0, FIELD_PART_FLOAT, &hf_010_042_Y, NULL }; static const FieldPart *I010_042_PARTS[] = { &I010_042_X, &I010_042_Y, NULL }; static const AsterixField I010_042 = { FIXED, 4, 0, 0, &hf_010_042, I010_042_PARTS, { NULL } }; static int hf_010_060; static int hf_010_060_V; static const value_string valstr_010_060_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I010_060_V = { 1, 1.0, FIELD_PART_UINT, &hf_010_060_V, NULL }; static int hf_010_060_G; static const value_string valstr_010_060_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I010_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_010_060_G, NULL }; static int hf_010_060_L; static const value_string valstr_010_060_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I010_060_L = { 1, 1.0, FIELD_PART_UINT, &hf_010_060_L, NULL }; static int hf_010_060_MODE3A; static const FieldPart I010_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_010_060_MODE3A, NULL }; static const FieldPart *I010_060_PARTS[] = { &I010_060_V, &I010_060_G, &I010_060_L, &IXXX_1bit_spare, &I010_060_MODE3A, NULL }; static const AsterixField I010_060 = { FIXED, 2, 0, 0, &hf_010_060, I010_060_PARTS, { NULL } }; static int hf_010_090; static int hf_010_090_V; static const value_string valstr_010_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I010_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_010_090_V, NULL }; static int hf_010_090_G; static const value_string valstr_010_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I010_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_010_090_G, NULL }; static int hf_010_090_FL; static const FieldPart I010_090_FL = { 14, 0.25, FIELD_PART_FLOAT, &hf_010_090_FL, NULL }; static const FieldPart *I010_090_PARTS[] = { &I010_090_V, &I010_090_G, &I010_090_FL, NULL }; static const AsterixField I010_090 = { FIXED, 2, 0, 0, &hf_010_090, I010_090_PARTS, { NULL } }; static int hf_010_091; static int hf_010_091_VALUE; static const FieldPart I010_091_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_010_091_VALUE, NULL }; static const FieldPart *I010_091_PARTS[] = { &I010_091_VALUE, NULL }; static const AsterixField I010_091 = { FIXED, 2, 0, 0, &hf_010_091, I010_091_PARTS, { NULL } }; static int hf_010_131; static int hf_010_131_VALUE; static const FieldPart I010_131_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_010_131_VALUE, NULL }; static const FieldPart *I010_131_PARTS[] = { &I010_131_VALUE, NULL }; static const AsterixField I010_131 = { FIXED, 1, 0, 0, &hf_010_131, I010_131_PARTS, { NULL } }; static int hf_010_140; static int hf_010_140_VALUE; static const FieldPart I010_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_010_140_VALUE, NULL }; static const FieldPart *I010_140_PARTS[] = { &I010_140_VALUE, NULL }; static const AsterixField I010_140 = { FIXED, 3, 0, 0, &hf_010_140, I010_140_PARTS, { NULL } }; static int hf_010_161; static int hf_010_161_TRK; static const FieldPart I010_161_TRK = { 12, 1.0, FIELD_PART_HEX, &hf_010_161_TRK, NULL }; static const FieldPart *I010_161_PARTS[] = { &IXXX_4bit_spare, &I010_161_TRK, NULL }; static const AsterixField I010_161 = { FIXED, 2, 0, 0, &hf_010_161, I010_161_PARTS, { NULL } }; static int hf_010_170; static int hf_010_170_CNF; static const value_string valstr_010_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Track in initialisation phase" }, { 0, NULL } }; static const FieldPart I010_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_CNF, NULL }; static int hf_010_170_TRE; static const value_string valstr_010_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I010_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_TRE, NULL }; static int hf_010_170_CST; static const value_string valstr_010_170_CST[] = { { 0, "No extrapolation" }, { 1, "Predictable extrapolation due to sensor refresh period (see NOTE)" }, { 2, "Predictable extrapolation in masked area" }, { 3, "Extrapolation due to unpredictable absence of detection" }, { 0, NULL } }; static const FieldPart I010_170_CST = { 2, 1.0, FIELD_PART_UINT, &hf_010_170_CST, NULL }; static int hf_010_170_MAH; static const value_string valstr_010_170_MAH[] = { { 0, "Default" }, { 1, "Horizontal manoeuvre" }, { 0, NULL } }; static const FieldPart I010_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_MAH, NULL }; static int hf_010_170_TCC; static const value_string valstr_010_170_TCC[] = { { 0, "Tracking performed in \'Sensor Plane\', i.e. neither slant range correction nor projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Sensor Site co-ordinates" }, { 0, NULL } }; static const FieldPart I010_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_TCC, NULL }; static int hf_010_170_STH; static const value_string valstr_010_170_STH[] = { { 0, "Measured position" }, { 1, "Smoothed position" }, { 0, NULL } }; static const FieldPart I010_170_STH = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_STH, NULL }; static int hf_010_170_TOM; static const value_string valstr_010_170_TOM[] = { { 0, "Unknown type of movement" }, { 1, "Taking-off" }, { 2, "Landing" }, { 3, "Other types of movement" }, { 0, NULL } }; static const FieldPart I010_170_TOM = { 2, 1.0, FIELD_PART_UINT, &hf_010_170_TOM, NULL }; static int hf_010_170_DOU; static const value_string valstr_010_170_DOU[] = { { 0, "No doubt" }, { 1, "Doubtful correlation (undetermined reason)" }, { 2, "Doubtful correlation in clutter" }, { 3, "Loss of accuracy" }, { 4, "Loss of accuracy in clutter" }, { 5, "Unstable track" }, { 6, "Previously coasted" }, { 0, NULL } }; static const FieldPart I010_170_DOU = { 3, 1.0, FIELD_PART_UINT, &hf_010_170_DOU, NULL }; static int hf_010_170_MRS; static const value_string valstr_010_170_MRS[] = { { 0, "Merge or split indication undetermined" }, { 1, "Track merged by association to plot" }, { 2, "Track merged by non-association to plot" }, { 3, "Split track" }, { 0, NULL } }; static const FieldPart I010_170_MRS = { 2, 1.0, FIELD_PART_UINT, &hf_010_170_MRS, NULL }; static int hf_010_170_GHO; static const value_string valstr_010_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I010_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_GHO, NULL }; static const FieldPart *I010_170_PARTS[] = { &I010_170_CNF, &I010_170_TRE, &I010_170_CST, &I010_170_MAH, &I010_170_TCC, &I010_170_STH, &IXXX_FX, &I010_170_TOM, &I010_170_DOU, &I010_170_MRS, &IXXX_FX, &I010_170_GHO, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I010_170 = { FX, 1, 0, 0, &hf_010_170, I010_170_PARTS, { NULL } }; static int hf_010_200; static int hf_010_200_GSP; static const FieldPart I010_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_010_200_GSP, NULL }; static int hf_010_200_TRA; static const FieldPart I010_200_TRA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_010_200_TRA, NULL }; static const FieldPart *I010_200_PARTS[] = { &I010_200_GSP, &I010_200_TRA, NULL }; static const AsterixField I010_200 = { FIXED, 4, 0, 0, &hf_010_200, I010_200_PARTS, { NULL } }; static int hf_010_202; static int hf_010_202_VX; static const FieldPart I010_202_VX = { 16, 0.0625, FIELD_PART_FLOAT, &hf_010_202_VX, NULL }; static int hf_010_202_VY; static const FieldPart I010_202_VY = { 16, 0.0625, FIELD_PART_FLOAT, &hf_010_202_VY, NULL }; static const FieldPart *I010_202_PARTS[] = { &I010_202_VX, &I010_202_VY, NULL }; static const AsterixField I010_202 = { FIXED, 4, 0, 0, &hf_010_202, I010_202_PARTS, { NULL } }; static int hf_010_210; static int hf_010_210_AX; static const FieldPart I010_210_AX = { 8, 0.0625, FIELD_PART_FLOAT, &hf_010_210_AX, NULL }; static int hf_010_210_AY; static const FieldPart I010_210_AY = { 8, 0.0625, FIELD_PART_FLOAT, &hf_010_210_AY, NULL }; static const FieldPart *I010_210_PARTS[] = { &I010_210_AX, &I010_210_AY, NULL }; static const AsterixField I010_210 = { FIXED, 2, 0, 0, &hf_010_210, I010_210_PARTS, { NULL } }; static int hf_010_220; static int hf_010_220_VALUE; static const FieldPart I010_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_010_220_VALUE, NULL }; static const FieldPart *I010_220_PARTS[] = { &I010_220_VALUE, NULL }; static const AsterixField I010_220 = { FIXED, 3, 0, 0, &hf_010_220, I010_220_PARTS, { NULL } }; static int hf_010_245; static int hf_010_245_STI; static const value_string valstr_010_245_STI[] = { { 0, "Callsign or registration downlinked from transponder" }, { 1, "Callsign not downlinked from transponder" }, { 2, "Registration not downlinked from transponder" }, { 0, NULL } }; static const FieldPart I010_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_010_245_STI, NULL }; static int hf_010_245_CHR; static const FieldPart I010_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_010_245_CHR, NULL }; static const FieldPart *I010_245_PARTS[] = { &I010_245_STI, &IXXX_6bit_spare, &I010_245_CHR, NULL }; static const AsterixField I010_245 = { FIXED, 7, 0, 0, &hf_010_245, I010_245_PARTS, { NULL } }; static int hf_010_250; static int hf_010_250_MBDATA; static const FieldPart I010_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_010_250_MBDATA, NULL }; static int hf_010_250_BDS1; static const FieldPart I010_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_010_250_BDS1, NULL }; static int hf_010_250_BDS2; static const FieldPart I010_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_010_250_BDS2, NULL }; static const FieldPart *I010_250_PARTS[] = { &I010_250_MBDATA, &I010_250_BDS1, &I010_250_BDS2, NULL }; static const AsterixField I010_250 = { REPETITIVE, 8, 1, 0, &hf_010_250, I010_250_PARTS, { NULL } }; static int hf_010_270; static int hf_010_270_LENGTH; static const FieldPart I010_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_010_270_LENGTH, NULL }; static int hf_010_270_ORIENTATION; static const FieldPart I010_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_010_270_ORIENTATION, NULL }; static int hf_010_270_WIDTH; static const FieldPart I010_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_010_270_WIDTH, NULL }; static const FieldPart *I010_270_PARTS[] = { &I010_270_LENGTH, &IXXX_FX, &I010_270_ORIENTATION, &IXXX_FX, &I010_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I010_270 = { FX, 1, 0, 0, &hf_010_270, I010_270_PARTS, { NULL } }; static int hf_010_280; static int hf_010_280_DRHO; static const FieldPart I010_280_DRHO = { 8, 1.0, FIELD_PART_FLOAT, &hf_010_280_DRHO, NULL }; static int hf_010_280_DTHETA; static const FieldPart I010_280_DTHETA = { 8, 0.15, FIELD_PART_FLOAT, &hf_010_280_DTHETA, NULL }; static const FieldPart *I010_280_PARTS[] = { &I010_280_DRHO, &I010_280_DTHETA, NULL }; static const AsterixField I010_280 = { REPETITIVE, 2, 1, 0, &hf_010_280, I010_280_PARTS, { NULL } }; static int hf_010_300; static int hf_010_300_VALUE; static const value_string valstr_010_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I010_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_010_300_VALUE, NULL }; static const FieldPart *I010_300_PARTS[] = { &I010_300_VALUE, NULL }; static const AsterixField I010_300 = { FIXED, 1, 0, 0, &hf_010_300, I010_300_PARTS, { NULL } }; static int hf_010_310; static int hf_010_310_TRB; static const value_string valstr_010_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I010_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_010_310_TRB, NULL }; static int hf_010_310_MSG; static const value_string valstr_010_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "“Follow me” operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I010_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_010_310_MSG, NULL }; static const FieldPart *I010_310_PARTS[] = { &I010_310_TRB, &I010_310_MSG, NULL }; static const AsterixField I010_310 = { FIXED, 1, 0, 0, &hf_010_310, I010_310_PARTS, { NULL } }; static int hf_010_500; static int hf_010_500_DEVX; static const FieldPart I010_500_DEVX = { 8, 0.25, FIELD_PART_UFLOAT, &hf_010_500_DEVX, NULL }; static int hf_010_500_DEVY; static const FieldPart I010_500_DEVY = { 8, 0.25, FIELD_PART_UFLOAT, &hf_010_500_DEVY, NULL }; static int hf_010_500_COVXY; static const FieldPart I010_500_COVXY = { 16, 0.25, FIELD_PART_FLOAT, &hf_010_500_COVXY, NULL }; static const FieldPart *I010_500_PARTS[] = { &I010_500_DEVX, &I010_500_DEVY, &I010_500_COVXY, NULL }; static const AsterixField I010_500 = { FIXED, 4, 0, 0, &hf_010_500, I010_500_PARTS, { NULL } }; static int hf_010_550; static int hf_010_550_NOGO; static const value_string valstr_010_550_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "NOGO" }, { 0, NULL } }; static const FieldPart I010_550_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_010_550_NOGO, NULL }; static int hf_010_550_OVL; static const value_string valstr_010_550_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I010_550_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_010_550_OVL, NULL }; static int hf_010_550_TSV; static const value_string valstr_010_550_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I010_550_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_010_550_TSV, NULL }; static int hf_010_550_DIV; static const value_string valstr_010_550_DIV[] = { { 0, "Normal Operation" }, { 1, "Diversity degraded" }, { 0, NULL } }; static const FieldPart I010_550_DIV = { 1, 1.0, FIELD_PART_UINT, &hf_010_550_DIV, NULL }; static int hf_010_550_TTF; static const value_string valstr_010_550_TTF[] = { { 0, "Test Target Operative" }, { 1, "Test Target Failure" }, { 0, NULL } }; static const FieldPart I010_550_TTF = { 1, 1.0, FIELD_PART_UINT, &hf_010_550_TTF, NULL }; static const FieldPart *I010_550_PARTS[] = { &I010_550_NOGO, &I010_550_OVL, &I010_550_TSV, &I010_550_DIV, &I010_550_TTF, &IXXX_2bit_spare, NULL }; static const AsterixField I010_550 = { FIXED, 1, 0, 0, &hf_010_550, I010_550_PARTS, { NULL } }; static int hf_010_RE; static const AsterixField I010_RE = { EXP, 0, 0, 1, &hf_010_RE, NULL, { NULL } }; static int hf_010_SP; static const AsterixField I010_SP = { EXP, 0, 0, 1, &hf_010_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I010_V1_1_uap[] = { &I010_V1_1_010, &I010_V1_1_000, &I010_V1_1_020, &I010_V1_1_140, &I010_V1_1_041, &I010_V1_1_040, &I010_V1_1_042, &I010_V1_1_200, &I010_V1_1_202, &I010_V1_1_161, &I010_V1_1_170, &I010_V1_1_060, &I010_V1_1_220, &I010_V1_1_245, &I010_V1_1_250, &I010_V1_1_300, &I010_V1_1_090, &I010_V1_1_091, &I010_V1_1_270, &I010_V1_1_550, &I010_V1_1_310, &I010_V1_1_500, &I010_V1_1_280, &I010_V1_1_131, &I010_V1_1_210, &IX_SPARE, &I010_V1_1_SP, &I010_V1_1_RE, NULL }; static const AsterixField **I010_V1_1[] = { I010_V1_1_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I010_uap[] = { &I010_010, &I010_000, &I010_020, &I010_140, &I010_041, &I010_040, &I010_042, &I010_200, &I010_202, &I010_161, &I010_170, &I010_060, &I010_220, &I010_245, &I010_250, &I010_300, &I010_090, &I010_091, &I010_270, &I010_550, &I010_310, &I010_500, &I010_280, &I010_131, &I010_210, &IX_SPARE, &I010_SP, &I010_RE, NULL }; static const AsterixField **I010[] = { I010_uap, NULL }; DIAG_ON_PEDANTIC /* Category 011, edition 1.2 */ static int hf_011_V1_2_000; static int hf_011_V1_2_000_VALUE; static const value_string valstr_011_V1_2_000_VALUE[] = { { 1, "Target reports, flight plan data and basic alerts" }, { 2, "Manual attachment of flight plan to track" }, { 3, "Manual detachment of flight plan to track" }, { 4, "Insertion of flight plan data" }, { 5, "Suppression of flight plan data" }, { 6, "Modification of flight plan data" }, { 7, "Holdbar status" }, { 0, NULL } }; static const FieldPart I011_V1_2_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_2_000_VALUE, NULL }; static const FieldPart *I011_V1_2_000_PARTS[] = { &I011_V1_2_000_VALUE, NULL }; static const AsterixField I011_V1_2_000 = { FIXED, 1, 0, 0, &hf_011_V1_2_000, I011_V1_2_000_PARTS, { NULL } }; static int hf_011_V1_2_010; static int hf_011_V1_2_010_SAC; static const FieldPart I011_V1_2_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_010_SAC, NULL }; static int hf_011_V1_2_010_SIC; static const FieldPart I011_V1_2_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_010_SIC, NULL }; static const FieldPart *I011_V1_2_010_PARTS[] = { &I011_V1_2_010_SAC, &I011_V1_2_010_SIC, NULL }; static const AsterixField I011_V1_2_010 = { FIXED, 2, 0, 0, &hf_011_V1_2_010, I011_V1_2_010_PARTS, { NULL } }; static int hf_011_V1_2_015; static int hf_011_V1_2_015_VALUE; static const FieldPart I011_V1_2_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_015_VALUE, NULL }; static const FieldPart *I011_V1_2_015_PARTS[] = { &I011_V1_2_015_VALUE, NULL }; static const AsterixField I011_V1_2_015 = { FIXED, 1, 0, 0, &hf_011_V1_2_015, I011_V1_2_015_PARTS, { NULL } }; static int hf_011_V1_2_041; static int hf_011_V1_2_041_LAT; static const FieldPart I011_V1_2_041_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_2_041_LAT, NULL }; static int hf_011_V1_2_041_LON; static const FieldPart I011_V1_2_041_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_2_041_LON, NULL }; static const FieldPart *I011_V1_2_041_PARTS[] = { &I011_V1_2_041_LAT, &I011_V1_2_041_LON, NULL }; static const AsterixField I011_V1_2_041 = { FIXED, 8, 0, 0, &hf_011_V1_2_041, I011_V1_2_041_PARTS, { NULL } }; static int hf_011_V1_2_042; static int hf_011_V1_2_042_X; static const FieldPart I011_V1_2_042_X = { 16, 1.0, FIELD_PART_FLOAT, &hf_011_V1_2_042_X, NULL }; static int hf_011_V1_2_042_Y; static const FieldPart I011_V1_2_042_Y = { 16, 1.0, FIELD_PART_FLOAT, &hf_011_V1_2_042_Y, NULL }; static const FieldPart *I011_V1_2_042_PARTS[] = { &I011_V1_2_042_X, &I011_V1_2_042_Y, NULL }; static const AsterixField I011_V1_2_042 = { FIXED, 4, 0, 0, &hf_011_V1_2_042, I011_V1_2_042_PARTS, { NULL } }; static int hf_011_V1_2_060; static int hf_011_V1_2_060_MOD3A; static const FieldPart I011_V1_2_060_MOD3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_011_V1_2_060_MOD3A, NULL }; static const FieldPart *I011_V1_2_060_PARTS[] = { &IXXX_4bit_spare, &I011_V1_2_060_MOD3A, NULL }; static const AsterixField I011_V1_2_060 = { FIXED, 2, 0, 0, &hf_011_V1_2_060, I011_V1_2_060_PARTS, { NULL } }; static int hf_011_V1_2_090; static int hf_011_V1_2_090_VALUE; static const FieldPart I011_V1_2_090_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_V1_2_090_VALUE, NULL }; static const FieldPart *I011_V1_2_090_PARTS[] = { &I011_V1_2_090_VALUE, NULL }; static const AsterixField I011_V1_2_090 = { FIXED, 2, 0, 0, &hf_011_V1_2_090, I011_V1_2_090_PARTS, { NULL } }; static int hf_011_V1_2_092; static int hf_011_V1_2_092_VALUE; static const FieldPart I011_V1_2_092_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_V1_2_092_VALUE, NULL }; static const FieldPart *I011_V1_2_092_PARTS[] = { &I011_V1_2_092_VALUE, NULL }; static const AsterixField I011_V1_2_092 = { FIXED, 2, 0, 0, &hf_011_V1_2_092, I011_V1_2_092_PARTS, { NULL } }; static int hf_011_V1_2_093; static int hf_011_V1_2_093_QNH; static const value_string valstr_011_V1_2_093_QNH[] = { { 0, "No QNH correction applied" }, { 1, "QNH correction applied" }, { 0, NULL } }; static const FieldPart I011_V1_2_093_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_093_QNH, NULL }; static int hf_011_V1_2_093_CTBA; static const FieldPart I011_V1_2_093_CTBA = { 15, 0.25, FIELD_PART_FLOAT, &hf_011_V1_2_093_CTBA, NULL }; static const FieldPart *I011_V1_2_093_PARTS[] = { &I011_V1_2_093_QNH, &I011_V1_2_093_CTBA, NULL }; static const AsterixField I011_V1_2_093 = { FIXED, 2, 0, 0, &hf_011_V1_2_093, I011_V1_2_093_PARTS, { NULL } }; static int hf_011_V1_2_140; static int hf_011_V1_2_140_VALUE; static const FieldPart I011_V1_2_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_011_V1_2_140_VALUE, NULL }; static const FieldPart *I011_V1_2_140_PARTS[] = { &I011_V1_2_140_VALUE, NULL }; static const AsterixField I011_V1_2_140 = { FIXED, 3, 0, 0, &hf_011_V1_2_140, I011_V1_2_140_PARTS, { NULL } }; static int hf_011_V1_2_161; static int hf_011_V1_2_161_FTN; static const FieldPart I011_V1_2_161_FTN = { 15, 1.0, FIELD_PART_HEX, &hf_011_V1_2_161_FTN, NULL }; static const FieldPart *I011_V1_2_161_PARTS[] = { &IXXX_1bit_spare, &I011_V1_2_161_FTN, NULL }; static const AsterixField I011_V1_2_161 = { FIXED, 2, 0, 0, &hf_011_V1_2_161, I011_V1_2_161_PARTS, { NULL } }; static int hf_011_V1_2_170; static int hf_011_V1_2_170_MON; static const value_string valstr_011_V1_2_170_MON[] = { { 0, "Multisensor Track" }, { 1, "Monosensor Track" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_MON = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_MON, NULL }; static int hf_011_V1_2_170_GBS; static const value_string valstr_011_V1_2_170_GBS[] = { { 0, "Transponder Ground bit not set or unknown" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_GBS, NULL }; static int hf_011_V1_2_170_MRH; static const value_string valstr_011_V1_2_170_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_MRH, NULL }; static int hf_011_V1_2_170_SRC; static const value_string valstr_011_V1_2_170_SRC[] = { { 0, "No source" }, { 1, "GPS" }, { 2, "3d radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_SRC, NULL }; static int hf_011_V1_2_170_CNF; static const value_string valstr_011_V1_2_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_CNF, NULL }; static int hf_011_V1_2_170_SIM; static const value_string valstr_011_V1_2_170_SIM[] = { { 0, "Actual Track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_SIM, NULL }; static int hf_011_V1_2_170_TSE; static const value_string valstr_011_V1_2_170_TSE[] = { { 0, "Default value" }, { 1, "Track service end (i.e. last message transmitted to the user for the track)" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_TSE, NULL }; static int hf_011_V1_2_170_TSB; static const value_string valstr_011_V1_2_170_TSB[] = { { 0, "Default value" }, { 1, "Track service begin (i.e. first message transmitted to the user for the track)" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_TSB, NULL }; static int hf_011_V1_2_170_FRIFOE; static const value_string valstr_011_V1_2_170_FRIFOE[] = { { 0, "No Mode 4 interrogationt" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_FRIFOE = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_FRIFOE, NULL }; static int hf_011_V1_2_170_ME; static const value_string valstr_011_V1_2_170_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_ME = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_ME, NULL }; static int hf_011_V1_2_170_MI; static const value_string valstr_011_V1_2_170_MI[] = { { 0, "End of Data Item" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_MI = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_MI, NULL }; static int hf_011_V1_2_170_AMA; static const value_string valstr_011_V1_2_170_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_AMA, NULL }; static int hf_011_V1_2_170_SPI; static const value_string valstr_011_V1_2_170_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_SPI, NULL }; static int hf_011_V1_2_170_CST; static const value_string valstr_011_V1_2_170_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_CST, NULL }; static int hf_011_V1_2_170_FPC; static const value_string valstr_011_V1_2_170_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_FPC, NULL }; static int hf_011_V1_2_170_AFF; static const value_string valstr_011_V1_2_170_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I011_V1_2_170_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_170_AFF, NULL }; static const FieldPart *I011_V1_2_170_PARTS[] = { &I011_V1_2_170_MON, &I011_V1_2_170_GBS, &I011_V1_2_170_MRH, &I011_V1_2_170_SRC, &I011_V1_2_170_CNF, &IXXX_FX, &I011_V1_2_170_SIM, &I011_V1_2_170_TSE, &I011_V1_2_170_TSB, &I011_V1_2_170_FRIFOE, &I011_V1_2_170_ME, &I011_V1_2_170_MI, &IXXX_FX, &I011_V1_2_170_AMA, &I011_V1_2_170_SPI, &I011_V1_2_170_CST, &I011_V1_2_170_FPC, &I011_V1_2_170_AFF, &IXXX_2bit_spare, &IXXX_FX, NULL }; static const AsterixField I011_V1_2_170 = { FX, 1, 0, 0, &hf_011_V1_2_170, I011_V1_2_170_PARTS, { NULL } }; static int hf_011_V1_2_202; static int hf_011_V1_2_202_VX; static const FieldPart I011_V1_2_202_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_V1_2_202_VX, NULL }; static int hf_011_V1_2_202_VY; static const FieldPart I011_V1_2_202_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_V1_2_202_VY, NULL }; static const FieldPart *I011_V1_2_202_PARTS[] = { &I011_V1_2_202_VX, &I011_V1_2_202_VY, NULL }; static const AsterixField I011_V1_2_202 = { FIXED, 4, 0, 0, &hf_011_V1_2_202, I011_V1_2_202_PARTS, { NULL } }; static int hf_011_V1_2_210; static int hf_011_V1_2_210_AX; static const FieldPart I011_V1_2_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_011_V1_2_210_AX, NULL }; static int hf_011_V1_2_210_AY; static const FieldPart I011_V1_2_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_011_V1_2_210_AY, NULL }; static const FieldPart *I011_V1_2_210_PARTS[] = { &I011_V1_2_210_AX, &I011_V1_2_210_AY, NULL }; static const AsterixField I011_V1_2_210 = { FIXED, 2, 0, 0, &hf_011_V1_2_210, I011_V1_2_210_PARTS, { NULL } }; static int hf_011_V1_2_215; static int hf_011_V1_2_215_VALUE; static const FieldPart I011_V1_2_215_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_V1_2_215_VALUE, NULL }; static const FieldPart *I011_V1_2_215_PARTS[] = { &I011_V1_2_215_VALUE, NULL }; static const AsterixField I011_V1_2_215 = { FIXED, 2, 0, 0, &hf_011_V1_2_215, I011_V1_2_215_PARTS, { NULL } }; static int hf_011_V1_2_245; static int hf_011_V1_2_245_STI; static const value_string valstr_011_V1_2_245_STI[] = { { 0, "Callsign or registration downlinked from transponder" }, { 1, "Callsign not downlinked from transponder" }, { 2, "Registration not downlinked from transponder" }, { 0, NULL } }; static const FieldPart I011_V1_2_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_245_STI, NULL }; static int hf_011_V1_2_245_TID; static const FieldPart I011_V1_2_245_TID = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_011_V1_2_245_TID, NULL }; static const FieldPart *I011_V1_2_245_PARTS[] = { &I011_V1_2_245_STI, &IXXX_6bit_spare, &I011_V1_2_245_TID, NULL }; static const AsterixField I011_V1_2_245 = { FIXED, 7, 0, 0, &hf_011_V1_2_245, I011_V1_2_245_PARTS, { NULL } }; static int hf_011_V1_2_270; static int hf_011_V1_2_270_LENGTH; static const FieldPart I011_V1_2_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_011_V1_2_270_LENGTH, NULL }; static int hf_011_V1_2_270_ORIENTATION; static const FieldPart I011_V1_2_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_011_V1_2_270_ORIENTATION, NULL }; static int hf_011_V1_2_270_WIDTH; static const FieldPart I011_V1_2_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_011_V1_2_270_WIDTH, NULL }; static const FieldPart *I011_V1_2_270_PARTS[] = { &I011_V1_2_270_LENGTH, &IXXX_FX, &I011_V1_2_270_ORIENTATION, &IXXX_FX, &I011_V1_2_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I011_V1_2_270 = { FX, 1, 0, 0, &hf_011_V1_2_270, I011_V1_2_270_PARTS, { NULL } }; static int hf_011_V1_2_290; static int hf_011_V1_2_290_PSR; static int hf_011_V1_2_290_PSR_VALUE; static const FieldPart I011_V1_2_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_PSR_VALUE, NULL }; static const FieldPart *I011_V1_2_290_PSR_PARTS[] = { &I011_V1_2_290_PSR_VALUE, NULL }; static const AsterixField I011_V1_2_290_PSR = { FIXED, 1, 0, 0, &hf_011_V1_2_290_PSR, I011_V1_2_290_PSR_PARTS, { NULL } }; static int hf_011_V1_2_290_SSR; static int hf_011_V1_2_290_SSR_VALUE; static const FieldPart I011_V1_2_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_SSR_VALUE, NULL }; static const FieldPart *I011_V1_2_290_SSR_PARTS[] = { &I011_V1_2_290_SSR_VALUE, NULL }; static const AsterixField I011_V1_2_290_SSR = { FIXED, 1, 0, 0, &hf_011_V1_2_290_SSR, I011_V1_2_290_SSR_PARTS, { NULL } }; static int hf_011_V1_2_290_MDA; static int hf_011_V1_2_290_MDA_VALUE; static const FieldPart I011_V1_2_290_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_MDA_VALUE, NULL }; static const FieldPart *I011_V1_2_290_MDA_PARTS[] = { &I011_V1_2_290_MDA_VALUE, NULL }; static const AsterixField I011_V1_2_290_MDA = { FIXED, 1, 0, 0, &hf_011_V1_2_290_MDA, I011_V1_2_290_MDA_PARTS, { NULL } }; static int hf_011_V1_2_290_MFL; static int hf_011_V1_2_290_MFL_VALUE; static const FieldPart I011_V1_2_290_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_MFL_VALUE, NULL }; static const FieldPart *I011_V1_2_290_MFL_PARTS[] = { &I011_V1_2_290_MFL_VALUE, NULL }; static const AsterixField I011_V1_2_290_MFL = { FIXED, 1, 0, 0, &hf_011_V1_2_290_MFL, I011_V1_2_290_MFL_PARTS, { NULL } }; static int hf_011_V1_2_290_MDS; static int hf_011_V1_2_290_MDS_VALUE; static const FieldPart I011_V1_2_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_MDS_VALUE, NULL }; static const FieldPart *I011_V1_2_290_MDS_PARTS[] = { &I011_V1_2_290_MDS_VALUE, NULL }; static const AsterixField I011_V1_2_290_MDS = { FIXED, 1, 0, 0, &hf_011_V1_2_290_MDS, I011_V1_2_290_MDS_PARTS, { NULL } }; static int hf_011_V1_2_290_ADS; static int hf_011_V1_2_290_ADS_VALUE; static const FieldPart I011_V1_2_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_ADS_VALUE, NULL }; static const FieldPart *I011_V1_2_290_ADS_PARTS[] = { &I011_V1_2_290_ADS_VALUE, NULL }; static const AsterixField I011_V1_2_290_ADS = { FIXED, 2, 0, 0, &hf_011_V1_2_290_ADS, I011_V1_2_290_ADS_PARTS, { NULL } }; static int hf_011_V1_2_290_ADB; static int hf_011_V1_2_290_ADB_VALUE; static const FieldPart I011_V1_2_290_ADB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_ADB_VALUE, NULL }; static const FieldPart *I011_V1_2_290_ADB_PARTS[] = { &I011_V1_2_290_ADB_VALUE, NULL }; static const AsterixField I011_V1_2_290_ADB = { FIXED, 1, 0, 0, &hf_011_V1_2_290_ADB, I011_V1_2_290_ADB_PARTS, { NULL } }; static int hf_011_V1_2_290_MD1; static int hf_011_V1_2_290_MD1_VALUE; static const FieldPart I011_V1_2_290_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_MD1_VALUE, NULL }; static const FieldPart *I011_V1_2_290_MD1_PARTS[] = { &I011_V1_2_290_MD1_VALUE, NULL }; static const AsterixField I011_V1_2_290_MD1 = { FIXED, 1, 0, 0, &hf_011_V1_2_290_MD1, I011_V1_2_290_MD1_PARTS, { NULL } }; static int hf_011_V1_2_290_MD2; static int hf_011_V1_2_290_MD2_VALUE; static const FieldPart I011_V1_2_290_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_MD2_VALUE, NULL }; static const FieldPart *I011_V1_2_290_MD2_PARTS[] = { &I011_V1_2_290_MD2_VALUE, NULL }; static const AsterixField I011_V1_2_290_MD2 = { FIXED, 1, 0, 0, &hf_011_V1_2_290_MD2, I011_V1_2_290_MD2_PARTS, { NULL } }; static int hf_011_V1_2_290_LOP; static int hf_011_V1_2_290_LOP_VALUE; static const FieldPart I011_V1_2_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_LOP_VALUE, NULL }; static const FieldPart *I011_V1_2_290_LOP_PARTS[] = { &I011_V1_2_290_LOP_VALUE, NULL }; static const AsterixField I011_V1_2_290_LOP = { FIXED, 1, 0, 0, &hf_011_V1_2_290_LOP, I011_V1_2_290_LOP_PARTS, { NULL } }; static int hf_011_V1_2_290_TRK; static int hf_011_V1_2_290_TRK_VALUE; static const FieldPart I011_V1_2_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_TRK_VALUE, NULL }; static const FieldPart *I011_V1_2_290_TRK_PARTS[] = { &I011_V1_2_290_TRK_VALUE, NULL }; static const AsterixField I011_V1_2_290_TRK = { FIXED, 1, 0, 0, &hf_011_V1_2_290_TRK, I011_V1_2_290_TRK_PARTS, { NULL } }; static int hf_011_V1_2_290_MUL; static int hf_011_V1_2_290_MUL_VALUE; static const FieldPart I011_V1_2_290_MUL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_290_MUL_VALUE, NULL }; static const FieldPart *I011_V1_2_290_MUL_PARTS[] = { &I011_V1_2_290_MUL_VALUE, NULL }; static const AsterixField I011_V1_2_290_MUL = { FIXED, 1, 0, 0, &hf_011_V1_2_290_MUL, I011_V1_2_290_MUL_PARTS, { NULL } }; static const AsterixField I011_V1_2_290 = { COMPOUND, 0, 0, 0, &hf_011_V1_2_290, NULL, { &I011_V1_2_290_PSR, &I011_V1_2_290_SSR, &I011_V1_2_290_MDA, &I011_V1_2_290_MFL, &I011_V1_2_290_MDS, &I011_V1_2_290_ADS, &I011_V1_2_290_ADB, &I011_V1_2_290_MD1, &I011_V1_2_290_MD2, &I011_V1_2_290_LOP, &I011_V1_2_290_TRK, &I011_V1_2_290_MUL, NULL } }; static int hf_011_V1_2_300; static int hf_011_V1_2_300_VALUE; static const value_string valstr_011_V1_2_300_VALUE[] = { { 0, "Flyco (follow me)" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Unknown" }, { 0, NULL } }; static const FieldPart I011_V1_2_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_2_300_VALUE, NULL }; static const FieldPart *I011_V1_2_300_PARTS[] = { &I011_V1_2_300_VALUE, NULL }; static const AsterixField I011_V1_2_300 = { FIXED, 1, 0, 0, &hf_011_V1_2_300, I011_V1_2_300_PARTS, { NULL } }; static int hf_011_V1_2_310; static int hf_011_V1_2_310_TRB; static const value_string valstr_011_V1_2_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I011_V1_2_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_310_TRB, NULL }; static int hf_011_V1_2_310_MSG; static const value_string valstr_011_V1_2_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "FOLLOW-ME operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I011_V1_2_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_011_V1_2_310_MSG, NULL }; static const FieldPart *I011_V1_2_310_PARTS[] = { &I011_V1_2_310_TRB, &I011_V1_2_310_MSG, NULL }; static const AsterixField I011_V1_2_310 = { FIXED, 1, 0, 0, &hf_011_V1_2_310, I011_V1_2_310_PARTS, { NULL } }; static int hf_011_V1_2_380; static int hf_011_V1_2_380_MB; static int hf_011_V1_2_380_MB_VALUE; static const FieldPart I011_V1_2_380_MB_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_011_V1_2_380_MB_VALUE, NULL }; static const FieldPart *I011_V1_2_380_MB_PARTS[] = { &I011_V1_2_380_MB_VALUE, NULL }; static const AsterixField I011_V1_2_380_MB = { REPETITIVE, 8, 1, 0, &hf_011_V1_2_380_MB, I011_V1_2_380_MB_PARTS, { NULL } }; static int hf_011_V1_2_380_ADR; static int hf_011_V1_2_380_ADR_VALUE; static const FieldPart I011_V1_2_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_011_V1_2_380_ADR_VALUE, NULL }; static const FieldPart *I011_V1_2_380_ADR_PARTS[] = { &I011_V1_2_380_ADR_VALUE, NULL }; static const AsterixField I011_V1_2_380_ADR = { FIXED, 3, 0, 0, &hf_011_V1_2_380_ADR, I011_V1_2_380_ADR_PARTS, { NULL } }; static int hf_011_V1_2_380_COMACAS; static int hf_011_V1_2_380_COMACAS_COM; static const value_string valstr_011_V1_2_380_COMACAS_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_COM = { 3, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_COM, NULL }; static int hf_011_V1_2_380_COMACAS_STAT; static const value_string valstr_011_V1_2_380_COMACAS_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "General Emergency" }, { 7, "Lifeguard / medical" }, { 8, "Minimum fuel" }, { 9, "No communications" }, { 10, "Unlawful" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_STAT = { 4, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_STAT, NULL }; static int hf_011_V1_2_380_COMACAS_SSC; static const value_string valstr_011_V1_2_380_COMACAS_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_SSC, NULL }; static int hf_011_V1_2_380_COMACAS_ARC; static const value_string valstr_011_V1_2_380_COMACAS_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_ARC, NULL }; static int hf_011_V1_2_380_COMACAS_AIC; static const value_string valstr_011_V1_2_380_COMACAS_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_AIC, NULL }; static int hf_011_V1_2_380_COMACAS_B1A; static const FieldPart I011_V1_2_380_COMACAS_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_011_V1_2_380_COMACAS_B1A, NULL }; static int hf_011_V1_2_380_COMACAS_B1B; static const FieldPart I011_V1_2_380_COMACAS_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_011_V1_2_380_COMACAS_B1B, NULL }; static int hf_011_V1_2_380_COMACAS_AC; static const value_string valstr_011_V1_2_380_COMACAS_AC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_AC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_AC, NULL }; static int hf_011_V1_2_380_COMACAS_MN; static const value_string valstr_011_V1_2_380_COMACAS_MN[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_MN = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_MN, NULL }; static int hf_011_V1_2_380_COMACAS_DC; static const value_string valstr_011_V1_2_380_COMACAS_DC[] = { { 0, "Yes" }, { 1, "No" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_COMACAS_DC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_COMACAS_DC, NULL }; static const FieldPart *I011_V1_2_380_COMACAS_PARTS[] = { &I011_V1_2_380_COMACAS_COM, &I011_V1_2_380_COMACAS_STAT, &IXXX_1bit_spare, &I011_V1_2_380_COMACAS_SSC, &I011_V1_2_380_COMACAS_ARC, &I011_V1_2_380_COMACAS_AIC, &I011_V1_2_380_COMACAS_B1A, &I011_V1_2_380_COMACAS_B1B, &I011_V1_2_380_COMACAS_AC, &I011_V1_2_380_COMACAS_MN, &I011_V1_2_380_COMACAS_DC, &IXXX_5bit_spare, NULL }; static const AsterixField I011_V1_2_380_COMACAS = { FIXED, 3, 0, 0, &hf_011_V1_2_380_COMACAS, I011_V1_2_380_COMACAS_PARTS, { NULL } }; static int hf_011_V1_2_380_ACT; static int hf_011_V1_2_380_ACT_VALUE; static const FieldPart I011_V1_2_380_ACT_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_2_380_ACT_VALUE, NULL }; static const FieldPart *I011_V1_2_380_ACT_PARTS[] = { &I011_V1_2_380_ACT_VALUE, NULL }; static const AsterixField I011_V1_2_380_ACT = { FIXED, 4, 0, 0, &hf_011_V1_2_380_ACT, I011_V1_2_380_ACT_PARTS, { NULL } }; static int hf_011_V1_2_380_ECAT; static int hf_011_V1_2_380_ECAT_VALUE; static const value_string valstr_011_V1_2_380_ECAT_VALUE[] = { { 1, "Light aircraft <= 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_ECAT_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_ECAT_VALUE, NULL }; static const FieldPart *I011_V1_2_380_ECAT_PARTS[] = { &I011_V1_2_380_ECAT_VALUE, NULL }; static const AsterixField I011_V1_2_380_ECAT = { FIXED, 1, 0, 0, &hf_011_V1_2_380_ECAT, I011_V1_2_380_ECAT_PARTS, { NULL } }; static int hf_011_V1_2_380_AVTECH; static int hf_011_V1_2_380_AVTECH_VDL; static const value_string valstr_011_V1_2_380_AVTECH_VDL[] = { { 0, "VDL Mode 4 available" }, { 1, "VDL Mode 4 not available" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_AVTECH_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_AVTECH_VDL, NULL }; static int hf_011_V1_2_380_AVTECH_MDS; static const value_string valstr_011_V1_2_380_AVTECH_MDS[] = { { 0, "Mode S available" }, { 1, "Mode S not available" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_AVTECH_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_AVTECH_MDS, NULL }; static int hf_011_V1_2_380_AVTECH_UAT; static const value_string valstr_011_V1_2_380_AVTECH_UAT[] = { { 0, "UAT available" }, { 1, "UAT not available" }, { 0, NULL } }; static const FieldPart I011_V1_2_380_AVTECH_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_380_AVTECH_UAT, NULL }; static const FieldPart *I011_V1_2_380_AVTECH_PARTS[] = { &I011_V1_2_380_AVTECH_VDL, &I011_V1_2_380_AVTECH_MDS, &I011_V1_2_380_AVTECH_UAT, &IXXX_5bit_spare, NULL }; static const AsterixField I011_V1_2_380_AVTECH = { FIXED, 1, 0, 0, &hf_011_V1_2_380_AVTECH, I011_V1_2_380_AVTECH_PARTS, { NULL } }; static const AsterixField I011_V1_2_380 = { COMPOUND, 0, 0, 0, &hf_011_V1_2_380, NULL, { &I011_V1_2_380_MB, &I011_V1_2_380_ADR, &IX_SPARE, &I011_V1_2_380_COMACAS, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I011_V1_2_380_ACT, &I011_V1_2_380_ECAT, &IX_SPARE, &I011_V1_2_380_AVTECH, NULL } }; static int hf_011_V1_2_390; static int hf_011_V1_2_390_FPPSID; static int hf_011_V1_2_390_FPPSID_SAC; static const FieldPart I011_V1_2_390_FPPSID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_390_FPPSID_SAC, NULL }; static int hf_011_V1_2_390_FPPSID_SIC; static const FieldPart I011_V1_2_390_FPPSID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_390_FPPSID_SIC, NULL }; static const FieldPart *I011_V1_2_390_FPPSID_PARTS[] = { &I011_V1_2_390_FPPSID_SAC, &I011_V1_2_390_FPPSID_SIC, NULL }; static const AsterixField I011_V1_2_390_FPPSID = { FIXED, 2, 0, 0, &hf_011_V1_2_390_FPPSID, I011_V1_2_390_FPPSID_PARTS, { NULL } }; static int hf_011_V1_2_390_CSN; static int hf_011_V1_2_390_CSN_VALUE; static const FieldPart I011_V1_2_390_CSN_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_011_V1_2_390_CSN_VALUE, NULL }; static const FieldPart *I011_V1_2_390_CSN_PARTS[] = { &I011_V1_2_390_CSN_VALUE, NULL }; static const AsterixField I011_V1_2_390_CSN = { FIXED, 7, 0, 0, &hf_011_V1_2_390_CSN, I011_V1_2_390_CSN_PARTS, { NULL } }; static int hf_011_V1_2_390_IFPSFLIGHTID; static int hf_011_V1_2_390_IFPSFLIGHTID_TYP; static const value_string valstr_011_V1_2_390_IFPSFLIGHTID_TYP[] = { { 0, "Plan number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_IFPSFLIGHTID_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_IFPSFLIGHTID_TYP, NULL }; static int hf_011_V1_2_390_IFPSFLIGHTID_NBR; static const FieldPart I011_V1_2_390_IFPSFLIGHTID_NBR = { 27, 1.0, FIELD_PART_HEX, &hf_011_V1_2_390_IFPSFLIGHTID_NBR, NULL }; static const FieldPart *I011_V1_2_390_IFPSFLIGHTID_PARTS[] = { &I011_V1_2_390_IFPSFLIGHTID_TYP, &IXXX_3bit_spare, &I011_V1_2_390_IFPSFLIGHTID_NBR, NULL }; static const AsterixField I011_V1_2_390_IFPSFLIGHTID = { FIXED, 4, 0, 0, &hf_011_V1_2_390_IFPSFLIGHTID, I011_V1_2_390_IFPSFLIGHTID_PARTS, { NULL } }; static int hf_011_V1_2_390_FLIGHTCAT; static int hf_011_V1_2_390_FLIGHTCAT_GATOAT; static const value_string valstr_011_V1_2_390_FLIGHTCAT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_FLIGHTCAT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_FLIGHTCAT_GATOAT, NULL }; static int hf_011_V1_2_390_FLIGHTCAT_FR1FR2; static const value_string valstr_011_V1_2_390_FLIGHTCAT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_FLIGHTCAT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_FLIGHTCAT_FR1FR2, NULL }; static int hf_011_V1_2_390_FLIGHTCAT_RVSM; static const value_string valstr_011_V1_2_390_FLIGHTCAT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_FLIGHTCAT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_FLIGHTCAT_RVSM, NULL }; static int hf_011_V1_2_390_FLIGHTCAT_HPR; static const value_string valstr_011_V1_2_390_FLIGHTCAT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_FLIGHTCAT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_FLIGHTCAT_HPR, NULL }; static const FieldPart *I011_V1_2_390_FLIGHTCAT_PARTS[] = { &I011_V1_2_390_FLIGHTCAT_GATOAT, &I011_V1_2_390_FLIGHTCAT_FR1FR2, &I011_V1_2_390_FLIGHTCAT_RVSM, &I011_V1_2_390_FLIGHTCAT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I011_V1_2_390_FLIGHTCAT = { FIXED, 1, 0, 0, &hf_011_V1_2_390_FLIGHTCAT, I011_V1_2_390_FLIGHTCAT_PARTS, { NULL } }; static int hf_011_V1_2_390_TOA; static int hf_011_V1_2_390_TOA_VALUE; static const FieldPart I011_V1_2_390_TOA_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_2_390_TOA_VALUE, NULL }; static const FieldPart *I011_V1_2_390_TOA_PARTS[] = { &I011_V1_2_390_TOA_VALUE, NULL }; static const AsterixField I011_V1_2_390_TOA = { FIXED, 4, 0, 0, &hf_011_V1_2_390_TOA, I011_V1_2_390_TOA_PARTS, { NULL } }; static int hf_011_V1_2_390_WTC; static int hf_011_V1_2_390_WTC_VALUE; static const value_string valstr_011_V1_2_390_WTC_VALUE[] = { { 76, "Light" }, { 77, "Medium" }, { 72, "Heavy" }, { 74, "Super" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_WTC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_WTC_VALUE, NULL }; static const FieldPart *I011_V1_2_390_WTC_PARTS[] = { &I011_V1_2_390_WTC_VALUE, NULL }; static const AsterixField I011_V1_2_390_WTC = { FIXED, 1, 0, 0, &hf_011_V1_2_390_WTC, I011_V1_2_390_WTC_PARTS, { NULL } }; static int hf_011_V1_2_390_ADEP; static int hf_011_V1_2_390_ADEP_VALUE; static const FieldPart I011_V1_2_390_ADEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_2_390_ADEP_VALUE, NULL }; static const FieldPart *I011_V1_2_390_ADEP_PARTS[] = { &I011_V1_2_390_ADEP_VALUE, NULL }; static const AsterixField I011_V1_2_390_ADEP = { FIXED, 4, 0, 0, &hf_011_V1_2_390_ADEP, I011_V1_2_390_ADEP_PARTS, { NULL } }; static int hf_011_V1_2_390_ADES; static int hf_011_V1_2_390_ADES_VALUE; static const FieldPart I011_V1_2_390_ADES_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_2_390_ADES_VALUE, NULL }; static const FieldPart *I011_V1_2_390_ADES_PARTS[] = { &I011_V1_2_390_ADES_VALUE, NULL }; static const AsterixField I011_V1_2_390_ADES = { FIXED, 4, 0, 0, &hf_011_V1_2_390_ADES, I011_V1_2_390_ADES_PARTS, { NULL } }; static int hf_011_V1_2_390_RWY; static int hf_011_V1_2_390_RWY_VALUE; static const FieldPart I011_V1_2_390_RWY_VALUE = { 24, 1.0, FIELD_PART_ASCII, &hf_011_V1_2_390_RWY_VALUE, NULL }; static const FieldPart *I011_V1_2_390_RWY_PARTS[] = { &I011_V1_2_390_RWY_VALUE, NULL }; static const AsterixField I011_V1_2_390_RWY = { FIXED, 3, 0, 0, &hf_011_V1_2_390_RWY, I011_V1_2_390_RWY_PARTS, { NULL } }; static int hf_011_V1_2_390_CFL; static int hf_011_V1_2_390_CFL_VALUE; static const FieldPart I011_V1_2_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_390_CFL_VALUE, NULL }; static const FieldPart *I011_V1_2_390_CFL_PARTS[] = { &I011_V1_2_390_CFL_VALUE, NULL }; static const AsterixField I011_V1_2_390_CFL = { FIXED, 2, 0, 0, &hf_011_V1_2_390_CFL, I011_V1_2_390_CFL_PARTS, { NULL } }; static int hf_011_V1_2_390_CCP; static int hf_011_V1_2_390_CCP_CENTRE; static const FieldPart I011_V1_2_390_CCP_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_390_CCP_CENTRE, NULL }; static int hf_011_V1_2_390_CCP_POSITION; static const FieldPart I011_V1_2_390_CCP_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_390_CCP_POSITION, NULL }; static const FieldPart *I011_V1_2_390_CCP_PARTS[] = { &I011_V1_2_390_CCP_CENTRE, &I011_V1_2_390_CCP_POSITION, NULL }; static const AsterixField I011_V1_2_390_CCP = { FIXED, 2, 0, 0, &hf_011_V1_2_390_CCP, I011_V1_2_390_CCP_PARTS, { NULL } }; static int hf_011_V1_2_390_TOD; static int hf_011_V1_2_390_TOD_TYP; static const value_string valstr_011_V1_2_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_TOD_TYP, NULL }; static int hf_011_V1_2_390_TOD_DAY; static const value_string valstr_011_V1_2_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_TOD_DAY, NULL }; static int hf_011_V1_2_390_TOD_HOR; static const FieldPart I011_V1_2_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_TOD_HOR, NULL }; static int hf_011_V1_2_390_TOD_MIN; static const FieldPart I011_V1_2_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_TOD_MIN, NULL }; static int hf_011_V1_2_390_TOD_AVS; static const value_string valstr_011_V1_2_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_TOD_AVS, NULL }; static int hf_011_V1_2_390_TOD_SEC; static const FieldPart I011_V1_2_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_TOD_SEC, NULL }; static const FieldPart *I011_V1_2_390_TOD_PARTS[] = { &I011_V1_2_390_TOD_TYP, &I011_V1_2_390_TOD_DAY, &IXXX_4bit_spare, &I011_V1_2_390_TOD_HOR, &IXXX_2bit_spare, &I011_V1_2_390_TOD_MIN, &I011_V1_2_390_TOD_AVS, &IXXX_1bit_spare, &I011_V1_2_390_TOD_SEC, NULL }; static const AsterixField I011_V1_2_390_TOD = { REPETITIVE, 4, 1, 0, &hf_011_V1_2_390_TOD, I011_V1_2_390_TOD_PARTS, { NULL } }; static int hf_011_V1_2_390_AST; static int hf_011_V1_2_390_AST_VALUE; static const FieldPart I011_V1_2_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_011_V1_2_390_AST_VALUE, NULL }; static const FieldPart *I011_V1_2_390_AST_PARTS[] = { &I011_V1_2_390_AST_VALUE, NULL }; static const AsterixField I011_V1_2_390_AST = { FIXED, 6, 0, 0, &hf_011_V1_2_390_AST, I011_V1_2_390_AST_PARTS, { NULL } }; static int hf_011_V1_2_390_STS; static int hf_011_V1_2_390_STS_EMP; static const value_string valstr_011_V1_2_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_STS_EMP, NULL }; static int hf_011_V1_2_390_STS_AVL; static const value_string valstr_011_V1_2_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 0, NULL } }; static const FieldPart I011_V1_2_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_390_STS_AVL, NULL }; static const FieldPart *I011_V1_2_390_STS_PARTS[] = { &I011_V1_2_390_STS_EMP, &I011_V1_2_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I011_V1_2_390_STS = { FIXED, 1, 0, 0, &hf_011_V1_2_390_STS, I011_V1_2_390_STS_PARTS, { NULL } }; static const AsterixField I011_V1_2_390 = { COMPOUND, 0, 0, 0, &hf_011_V1_2_390, NULL, { &I011_V1_2_390_FPPSID, &I011_V1_2_390_CSN, &I011_V1_2_390_IFPSFLIGHTID, &I011_V1_2_390_FLIGHTCAT, &I011_V1_2_390_TOA, &I011_V1_2_390_WTC, &I011_V1_2_390_ADEP, &I011_V1_2_390_ADES, &I011_V1_2_390_RWY, &I011_V1_2_390_CFL, &I011_V1_2_390_CCP, &I011_V1_2_390_TOD, &I011_V1_2_390_AST, &I011_V1_2_390_STS, NULL } }; static int hf_011_V1_2_430; static int hf_011_V1_2_430_VALUE; static const value_string valstr_011_V1_2_430_VALUE[] = { { 0, "Unknown" }, { 1, "On stand" }, { 2, "Taxiing for departure" }, { 3, "Taxiing for arrival" }, { 4, "Runway for departure" }, { 5, "Runway for arrival" }, { 6, "Hold for departure" }, { 7, "Hold for arrival" }, { 8, "Push back" }, { 9, "On finals" }, { 0, NULL } }; static const FieldPart I011_V1_2_430_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_2_430_VALUE, NULL }; static const FieldPart *I011_V1_2_430_PARTS[] = { &I011_V1_2_430_VALUE, NULL }; static const AsterixField I011_V1_2_430 = { FIXED, 1, 0, 0, &hf_011_V1_2_430, I011_V1_2_430_PARTS, { NULL } }; static int hf_011_V1_2_500; static int hf_011_V1_2_500_APC; static int hf_011_V1_2_500_APC_X; static const FieldPart I011_V1_2_500_APC_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_500_APC_X, NULL }; static int hf_011_V1_2_500_APC_Y; static const FieldPart I011_V1_2_500_APC_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_2_500_APC_Y, NULL }; static const FieldPart *I011_V1_2_500_APC_PARTS[] = { &I011_V1_2_500_APC_X, &I011_V1_2_500_APC_Y, NULL }; static const AsterixField I011_V1_2_500_APC = { FIXED, 2, 0, 0, &hf_011_V1_2_500_APC, I011_V1_2_500_APC_PARTS, { NULL } }; static int hf_011_V1_2_500_APW; static int hf_011_V1_2_500_APW_LAT; static const FieldPart I011_V1_2_500_APW_LAT = { 16, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_2_500_APW_LAT, NULL }; static int hf_011_V1_2_500_APW_LON; static const FieldPart I011_V1_2_500_APW_LON = { 16, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_2_500_APW_LON, NULL }; static const FieldPart *I011_V1_2_500_APW_PARTS[] = { &I011_V1_2_500_APW_LAT, &I011_V1_2_500_APW_LON, NULL }; static const AsterixField I011_V1_2_500_APW = { FIXED, 4, 0, 0, &hf_011_V1_2_500_APW, I011_V1_2_500_APW_PARTS, { NULL } }; static int hf_011_V1_2_500_ATH; static int hf_011_V1_2_500_ATH_VALUE; static const FieldPart I011_V1_2_500_ATH_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_011_V1_2_500_ATH_VALUE, NULL }; static const FieldPart *I011_V1_2_500_ATH_PARTS[] = { &I011_V1_2_500_ATH_VALUE, NULL }; static const AsterixField I011_V1_2_500_ATH = { FIXED, 2, 0, 0, &hf_011_V1_2_500_ATH, I011_V1_2_500_ATH_PARTS, { NULL } }; static int hf_011_V1_2_500_AVC; static int hf_011_V1_2_500_AVC_X; static const FieldPart I011_V1_2_500_AVC_X = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_V1_2_500_AVC_X, NULL }; static int hf_011_V1_2_500_AVC_Y; static const FieldPart I011_V1_2_500_AVC_Y = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_V1_2_500_AVC_Y, NULL }; static const FieldPart *I011_V1_2_500_AVC_PARTS[] = { &I011_V1_2_500_AVC_X, &I011_V1_2_500_AVC_Y, NULL }; static const AsterixField I011_V1_2_500_AVC = { FIXED, 2, 0, 0, &hf_011_V1_2_500_AVC, I011_V1_2_500_AVC_PARTS, { NULL } }; static int hf_011_V1_2_500_ARC; static int hf_011_V1_2_500_ARC_VALUE; static const FieldPart I011_V1_2_500_ARC_VALUE = { 16, 0.1, FIELD_PART_FLOAT, &hf_011_V1_2_500_ARC_VALUE, NULL }; static const FieldPart *I011_V1_2_500_ARC_PARTS[] = { &I011_V1_2_500_ARC_VALUE, NULL }; static const AsterixField I011_V1_2_500_ARC = { FIXED, 2, 0, 0, &hf_011_V1_2_500_ARC, I011_V1_2_500_ARC_PARTS, { NULL } }; static int hf_011_V1_2_500_AAC; static int hf_011_V1_2_500_AAC_X; static const FieldPart I011_V1_2_500_AAC_X = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_V1_2_500_AAC_X, NULL }; static int hf_011_V1_2_500_AAC_Y; static const FieldPart I011_V1_2_500_AAC_Y = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_V1_2_500_AAC_Y, NULL }; static const FieldPart *I011_V1_2_500_AAC_PARTS[] = { &I011_V1_2_500_AAC_X, &I011_V1_2_500_AAC_Y, NULL }; static const AsterixField I011_V1_2_500_AAC = { FIXED, 2, 0, 0, &hf_011_V1_2_500_AAC, I011_V1_2_500_AAC_PARTS, { NULL } }; static const AsterixField I011_V1_2_500 = { COMPOUND, 0, 0, 0, &hf_011_V1_2_500, NULL, { &I011_V1_2_500_APC, &I011_V1_2_500_APW, &I011_V1_2_500_ATH, &I011_V1_2_500_AVC, &I011_V1_2_500_ARC, &I011_V1_2_500_AAC, NULL } }; static int hf_011_V1_2_600; static int hf_011_V1_2_600_ACK; static const value_string valstr_011_V1_2_600_ACK[] = { { 0, "Alert acknowledged" }, { 1, "Alert not acknowledged" }, { 0, NULL } }; static const FieldPart I011_V1_2_600_ACK = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_600_ACK, NULL }; static int hf_011_V1_2_600_SVR; static const value_string valstr_011_V1_2_600_SVR[] = { { 0, "End fo alert" }, { 1, "Pre-alarm" }, { 2, "Severe alert" }, { 0, NULL } }; static const FieldPart I011_V1_2_600_SVR = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_2_600_SVR, NULL }; static int hf_011_V1_2_600_AT; static const FieldPart I011_V1_2_600_AT = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_600_AT, NULL }; static int hf_011_V1_2_600_AN; static const FieldPart I011_V1_2_600_AN = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_2_600_AN, NULL }; static const FieldPart *I011_V1_2_600_PARTS[] = { &I011_V1_2_600_ACK, &I011_V1_2_600_SVR, &IXXX_5bit_spare, &I011_V1_2_600_AT, &I011_V1_2_600_AN, NULL }; static const AsterixField I011_V1_2_600 = { FIXED, 3, 0, 0, &hf_011_V1_2_600, I011_V1_2_600_PARTS, { NULL } }; static int hf_011_V1_2_605; static int hf_011_V1_2_605_FTN; static const FieldPart I011_V1_2_605_FTN = { 12, 1.0, FIELD_PART_HEX, &hf_011_V1_2_605_FTN, NULL }; static const FieldPart *I011_V1_2_605_PARTS[] = { &IXXX_4bit_spare, &I011_V1_2_605_FTN, NULL }; static const AsterixField I011_V1_2_605 = { REPETITIVE, 2, 1, 0, &hf_011_V1_2_605, I011_V1_2_605_PARTS, { NULL } }; static int hf_011_V1_2_610; static int hf_011_V1_2_610_BKN; static const FieldPart I011_V1_2_610_BKN = { 4, 1.0, FIELD_PART_HEX, &hf_011_V1_2_610_BKN, NULL }; static int hf_011_V1_2_610_I1; static const value_string valstr_011_V1_2_610_I1[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I1 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I1, NULL }; static int hf_011_V1_2_610_I2; static const value_string valstr_011_V1_2_610_I2[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I2 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I2, NULL }; static int hf_011_V1_2_610_I3; static const value_string valstr_011_V1_2_610_I3[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I3 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I3, NULL }; static int hf_011_V1_2_610_I4; static const value_string valstr_011_V1_2_610_I4[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I4 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I4, NULL }; static int hf_011_V1_2_610_I5; static const value_string valstr_011_V1_2_610_I5[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I5 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I5, NULL }; static int hf_011_V1_2_610_I6; static const value_string valstr_011_V1_2_610_I6[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I6 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I6, NULL }; static int hf_011_V1_2_610_I7; static const value_string valstr_011_V1_2_610_I7[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I7 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I7, NULL }; static int hf_011_V1_2_610_I8; static const value_string valstr_011_V1_2_610_I8[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I8 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I8, NULL }; static int hf_011_V1_2_610_I9; static const value_string valstr_011_V1_2_610_I9[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I9 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I9, NULL }; static int hf_011_V1_2_610_I10; static const value_string valstr_011_V1_2_610_I10[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I10 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I10, NULL }; static int hf_011_V1_2_610_I11; static const value_string valstr_011_V1_2_610_I11[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I11 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I11, NULL }; static int hf_011_V1_2_610_I12; static const value_string valstr_011_V1_2_610_I12[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_2_610_I12 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_2_610_I12, NULL }; static const FieldPart *I011_V1_2_610_PARTS[] = { &I011_V1_2_610_BKN, &I011_V1_2_610_I1, &I011_V1_2_610_I2, &I011_V1_2_610_I3, &I011_V1_2_610_I4, &I011_V1_2_610_I5, &I011_V1_2_610_I6, &I011_V1_2_610_I7, &I011_V1_2_610_I8, &I011_V1_2_610_I9, &I011_V1_2_610_I10, &I011_V1_2_610_I11, &I011_V1_2_610_I12, NULL }; static const AsterixField I011_V1_2_610 = { REPETITIVE, 2, 1, 0, &hf_011_V1_2_610, I011_V1_2_610_PARTS, { NULL } }; static int hf_011_V1_2_SP; static const AsterixField I011_V1_2_SP = { EXP, 0, 0, 1, &hf_011_V1_2_SP, NULL, { NULL } }; static int hf_011_V1_2_RE; static const AsterixField I011_V1_2_RE = { EXP, 0, 0, 1, &hf_011_V1_2_RE, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I011_V1_2_uap[] = { &I011_V1_2_010, &I011_V1_2_000, &I011_V1_2_015, &I011_V1_2_140, &I011_V1_2_041, &I011_V1_2_042, &I011_V1_2_202, &I011_V1_2_210, &I011_V1_2_060, &I011_V1_2_245, &I011_V1_2_380, &I011_V1_2_161, &I011_V1_2_170, &I011_V1_2_290, &I011_V1_2_430, &I011_V1_2_090, &I011_V1_2_093, &I011_V1_2_092, &I011_V1_2_215, &I011_V1_2_270, &I011_V1_2_390, &I011_V1_2_300, &I011_V1_2_310, &I011_V1_2_500, &I011_V1_2_600, &I011_V1_2_605, &I011_V1_2_610, &I011_V1_2_SP, &I011_V1_2_RE, NULL }; static const AsterixField **I011_V1_2[] = { I011_V1_2_uap, NULL }; DIAG_ON_PEDANTIC /* Category 011, edition 1.3 */ static int hf_011_V1_3_000; static int hf_011_V1_3_000_VALUE; static const value_string valstr_011_V1_3_000_VALUE[] = { { 1, "Target reports, flight plan data and basic alerts" }, { 2, "Manual attachment of flight plan to track" }, { 3, "Manual detachment of flight plan to track" }, { 4, "Insertion of flight plan data" }, { 5, "Suppression of flight plan data" }, { 6, "Modification of flight plan data" }, { 7, "Holdbar status" }, { 0, NULL } }; static const FieldPart I011_V1_3_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_3_000_VALUE, NULL }; static const FieldPart *I011_V1_3_000_PARTS[] = { &I011_V1_3_000_VALUE, NULL }; static const AsterixField I011_V1_3_000 = { FIXED, 1, 0, 0, &hf_011_V1_3_000, I011_V1_3_000_PARTS, { NULL } }; static int hf_011_V1_3_010; static int hf_011_V1_3_010_SAC; static const FieldPart I011_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_010_SAC, NULL }; static int hf_011_V1_3_010_SIC; static const FieldPart I011_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_010_SIC, NULL }; static const FieldPart *I011_V1_3_010_PARTS[] = { &I011_V1_3_010_SAC, &I011_V1_3_010_SIC, NULL }; static const AsterixField I011_V1_3_010 = { FIXED, 2, 0, 0, &hf_011_V1_3_010, I011_V1_3_010_PARTS, { NULL } }; static int hf_011_V1_3_015; static int hf_011_V1_3_015_VALUE; static const FieldPart I011_V1_3_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_015_VALUE, NULL }; static const FieldPart *I011_V1_3_015_PARTS[] = { &I011_V1_3_015_VALUE, NULL }; static const AsterixField I011_V1_3_015 = { FIXED, 1, 0, 0, &hf_011_V1_3_015, I011_V1_3_015_PARTS, { NULL } }; static int hf_011_V1_3_041; static int hf_011_V1_3_041_LAT; static const FieldPart I011_V1_3_041_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_3_041_LAT, NULL }; static int hf_011_V1_3_041_LON; static const FieldPart I011_V1_3_041_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_3_041_LON, NULL }; static const FieldPart *I011_V1_3_041_PARTS[] = { &I011_V1_3_041_LAT, &I011_V1_3_041_LON, NULL }; static const AsterixField I011_V1_3_041 = { FIXED, 8, 0, 0, &hf_011_V1_3_041, I011_V1_3_041_PARTS, { NULL } }; static int hf_011_V1_3_042; static int hf_011_V1_3_042_X; static const FieldPart I011_V1_3_042_X = { 16, 1.0, FIELD_PART_FLOAT, &hf_011_V1_3_042_X, NULL }; static int hf_011_V1_3_042_Y; static const FieldPart I011_V1_3_042_Y = { 16, 1.0, FIELD_PART_FLOAT, &hf_011_V1_3_042_Y, NULL }; static const FieldPart *I011_V1_3_042_PARTS[] = { &I011_V1_3_042_X, &I011_V1_3_042_Y, NULL }; static const AsterixField I011_V1_3_042 = { FIXED, 4, 0, 0, &hf_011_V1_3_042, I011_V1_3_042_PARTS, { NULL } }; static int hf_011_V1_3_060; static int hf_011_V1_3_060_MOD3A; static const FieldPart I011_V1_3_060_MOD3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_011_V1_3_060_MOD3A, NULL }; static const FieldPart *I011_V1_3_060_PARTS[] = { &IXXX_4bit_spare, &I011_V1_3_060_MOD3A, NULL }; static const AsterixField I011_V1_3_060 = { FIXED, 2, 0, 0, &hf_011_V1_3_060, I011_V1_3_060_PARTS, { NULL } }; static int hf_011_V1_3_090; static int hf_011_V1_3_090_VALUE; static const FieldPart I011_V1_3_090_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_V1_3_090_VALUE, NULL }; static const FieldPart *I011_V1_3_090_PARTS[] = { &I011_V1_3_090_VALUE, NULL }; static const AsterixField I011_V1_3_090 = { FIXED, 2, 0, 0, &hf_011_V1_3_090, I011_V1_3_090_PARTS, { NULL } }; static int hf_011_V1_3_092; static int hf_011_V1_3_092_VALUE; static const FieldPart I011_V1_3_092_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_V1_3_092_VALUE, NULL }; static const FieldPart *I011_V1_3_092_PARTS[] = { &I011_V1_3_092_VALUE, NULL }; static const AsterixField I011_V1_3_092 = { FIXED, 2, 0, 0, &hf_011_V1_3_092, I011_V1_3_092_PARTS, { NULL } }; static int hf_011_V1_3_093; static int hf_011_V1_3_093_QNH; static const value_string valstr_011_V1_3_093_QNH[] = { { 0, "No QNH Correction Applied" }, { 1, "QNH Correction Applied" }, { 0, NULL } }; static const FieldPart I011_V1_3_093_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_093_QNH, NULL }; static int hf_011_V1_3_093_CTBA; static const FieldPart I011_V1_3_093_CTBA = { 15, 0.25, FIELD_PART_FLOAT, &hf_011_V1_3_093_CTBA, NULL }; static const FieldPart *I011_V1_3_093_PARTS[] = { &I011_V1_3_093_QNH, &I011_V1_3_093_CTBA, NULL }; static const AsterixField I011_V1_3_093 = { FIXED, 2, 0, 0, &hf_011_V1_3_093, I011_V1_3_093_PARTS, { NULL } }; static int hf_011_V1_3_140; static int hf_011_V1_3_140_VALUE; static const FieldPart I011_V1_3_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_011_V1_3_140_VALUE, NULL }; static const FieldPart *I011_V1_3_140_PARTS[] = { &I011_V1_3_140_VALUE, NULL }; static const AsterixField I011_V1_3_140 = { FIXED, 3, 0, 0, &hf_011_V1_3_140, I011_V1_3_140_PARTS, { NULL } }; static int hf_011_V1_3_161; static int hf_011_V1_3_161_FTN; static const FieldPart I011_V1_3_161_FTN = { 15, 1.0, FIELD_PART_HEX, &hf_011_V1_3_161_FTN, NULL }; static const FieldPart *I011_V1_3_161_PARTS[] = { &IXXX_1bit_spare, &I011_V1_3_161_FTN, NULL }; static const AsterixField I011_V1_3_161 = { FIXED, 2, 0, 0, &hf_011_V1_3_161, I011_V1_3_161_PARTS, { NULL } }; static int hf_011_V1_3_170; static int hf_011_V1_3_170_MON; static const value_string valstr_011_V1_3_170_MON[] = { { 0, "Multisensor Track" }, { 1, "Monosensor Track" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_MON = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_MON, NULL }; static int hf_011_V1_3_170_GBS; static const value_string valstr_011_V1_3_170_GBS[] = { { 0, "Transponder Ground bit not set or unknown" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_GBS, NULL }; static int hf_011_V1_3_170_MRH; static const value_string valstr_011_V1_3_170_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_MRH, NULL }; static int hf_011_V1_3_170_SRC; static const value_string valstr_011_V1_3_170_SRC[] = { { 0, "No source" }, { 1, "GPS" }, { 2, "3d radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_SRC, NULL }; static int hf_011_V1_3_170_CNF; static const value_string valstr_011_V1_3_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_CNF, NULL }; static int hf_011_V1_3_170_SIM; static const value_string valstr_011_V1_3_170_SIM[] = { { 0, "Actual Track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_SIM, NULL }; static int hf_011_V1_3_170_TSE; static const value_string valstr_011_V1_3_170_TSE[] = { { 0, "Default value" }, { 1, "Track service end (i.e. last message transmitted to the user for the track)" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_TSE, NULL }; static int hf_011_V1_3_170_TSB; static const value_string valstr_011_V1_3_170_TSB[] = { { 0, "Default value" }, { 1, "Track service begin (i.e. first message transmitted to the user for the track)" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_TSB, NULL }; static int hf_011_V1_3_170_FRIFOE; static const value_string valstr_011_V1_3_170_FRIFOE[] = { { 0, "No Mode 4 interrogationt" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_FRIFOE = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_FRIFOE, NULL }; static int hf_011_V1_3_170_ME; static const value_string valstr_011_V1_3_170_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_ME = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_ME, NULL }; static int hf_011_V1_3_170_MI; static const value_string valstr_011_V1_3_170_MI[] = { { 0, "End of Data Item" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_MI = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_MI, NULL }; static int hf_011_V1_3_170_AMA; static const value_string valstr_011_V1_3_170_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_AMA, NULL }; static int hf_011_V1_3_170_SPI; static const value_string valstr_011_V1_3_170_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_SPI, NULL }; static int hf_011_V1_3_170_CST; static const value_string valstr_011_V1_3_170_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_CST, NULL }; static int hf_011_V1_3_170_FPC; static const value_string valstr_011_V1_3_170_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_FPC, NULL }; static int hf_011_V1_3_170_AFF; static const value_string valstr_011_V1_3_170_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_AFF, NULL }; static int hf_011_V1_3_170_PSR; static const value_string valstr_011_V1_3_170_PSR[] = { { 0, "Default value" }, { 1, "Age of the last received PSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_PSR, NULL }; static int hf_011_V1_3_170_SSR; static const value_string valstr_011_V1_3_170_SSR[] = { { 0, "Default value" }, { 1, "Age of the last received SSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_SSR, NULL }; static int hf_011_V1_3_170_MDS; static const value_string valstr_011_V1_3_170_MDS[] = { { 0, "Default value" }, { 1, "Age of the last received Mode S track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_MDS, NULL }; static int hf_011_V1_3_170_ADS; static const value_string valstr_011_V1_3_170_ADS[] = { { 0, "Default value" }, { 1, "Age of the last received ADS track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_ADS, NULL }; static int hf_011_V1_3_170_SUC; static const value_string valstr_011_V1_3_170_SUC[] = { { 0, "Default value" }, { 1, "Special Used Code (Mode A codes to be defined in the system to mark a track with special interest)" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_SUC, NULL }; static int hf_011_V1_3_170_AAC; static const value_string valstr_011_V1_3_170_AAC[] = { { 0, "Default value" }, { 1, "Assigned Mode A Code Conflict (same individual Mode A Code assigned to another track)" }, { 0, NULL } }; static const FieldPart I011_V1_3_170_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_170_AAC, NULL }; static const FieldPart *I011_V1_3_170_PARTS[] = { &I011_V1_3_170_MON, &I011_V1_3_170_GBS, &I011_V1_3_170_MRH, &I011_V1_3_170_SRC, &I011_V1_3_170_CNF, &IXXX_FX, &I011_V1_3_170_SIM, &I011_V1_3_170_TSE, &I011_V1_3_170_TSB, &I011_V1_3_170_FRIFOE, &I011_V1_3_170_ME, &I011_V1_3_170_MI, &IXXX_FX, &I011_V1_3_170_AMA, &I011_V1_3_170_SPI, &I011_V1_3_170_CST, &I011_V1_3_170_FPC, &I011_V1_3_170_AFF, &IXXX_2bit_spare, &IXXX_FX, &IXXX_1bit_spare, &I011_V1_3_170_PSR, &I011_V1_3_170_SSR, &I011_V1_3_170_MDS, &I011_V1_3_170_ADS, &I011_V1_3_170_SUC, &I011_V1_3_170_AAC, &IXXX_FX, NULL }; static const AsterixField I011_V1_3_170 = { FX, 1, 0, 0, &hf_011_V1_3_170, I011_V1_3_170_PARTS, { NULL } }; static int hf_011_V1_3_202; static int hf_011_V1_3_202_VX; static const FieldPart I011_V1_3_202_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_V1_3_202_VX, NULL }; static int hf_011_V1_3_202_VY; static const FieldPart I011_V1_3_202_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_V1_3_202_VY, NULL }; static const FieldPart *I011_V1_3_202_PARTS[] = { &I011_V1_3_202_VX, &I011_V1_3_202_VY, NULL }; static const AsterixField I011_V1_3_202 = { FIXED, 4, 0, 0, &hf_011_V1_3_202, I011_V1_3_202_PARTS, { NULL } }; static int hf_011_V1_3_210; static int hf_011_V1_3_210_AX; static const FieldPart I011_V1_3_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_011_V1_3_210_AX, NULL }; static int hf_011_V1_3_210_AY; static const FieldPart I011_V1_3_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_011_V1_3_210_AY, NULL }; static const FieldPart *I011_V1_3_210_PARTS[] = { &I011_V1_3_210_AX, &I011_V1_3_210_AY, NULL }; static const AsterixField I011_V1_3_210 = { FIXED, 2, 0, 0, &hf_011_V1_3_210, I011_V1_3_210_PARTS, { NULL } }; static int hf_011_V1_3_215; static int hf_011_V1_3_215_VALUE; static const FieldPart I011_V1_3_215_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_V1_3_215_VALUE, NULL }; static const FieldPart *I011_V1_3_215_PARTS[] = { &I011_V1_3_215_VALUE, NULL }; static const AsterixField I011_V1_3_215 = { FIXED, 2, 0, 0, &hf_011_V1_3_215, I011_V1_3_215_PARTS, { NULL } }; static int hf_011_V1_3_245; static int hf_011_V1_3_245_STI; static const value_string valstr_011_V1_3_245_STI[] = { { 0, "Callsign or registration downlinked from transponder" }, { 1, "Callsign not downlinked from transponder" }, { 2, "Registration not downlinked from transponder" }, { 0, NULL } }; static const FieldPart I011_V1_3_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_245_STI, NULL }; static int hf_011_V1_3_245_TID; static const FieldPart I011_V1_3_245_TID = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_011_V1_3_245_TID, NULL }; static const FieldPart *I011_V1_3_245_PARTS[] = { &I011_V1_3_245_STI, &IXXX_6bit_spare, &I011_V1_3_245_TID, NULL }; static const AsterixField I011_V1_3_245 = { FIXED, 7, 0, 0, &hf_011_V1_3_245, I011_V1_3_245_PARTS, { NULL } }; static int hf_011_V1_3_270; static int hf_011_V1_3_270_LENGTH; static const FieldPart I011_V1_3_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_011_V1_3_270_LENGTH, NULL }; static int hf_011_V1_3_270_ORIENTATION; static const FieldPart I011_V1_3_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_011_V1_3_270_ORIENTATION, NULL }; static int hf_011_V1_3_270_WIDTH; static const FieldPart I011_V1_3_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_011_V1_3_270_WIDTH, NULL }; static const FieldPart *I011_V1_3_270_PARTS[] = { &I011_V1_3_270_LENGTH, &IXXX_FX, &I011_V1_3_270_ORIENTATION, &IXXX_FX, &I011_V1_3_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I011_V1_3_270 = { FX, 1, 0, 0, &hf_011_V1_3_270, I011_V1_3_270_PARTS, { NULL } }; static int hf_011_V1_3_290; static int hf_011_V1_3_290_PSR; static int hf_011_V1_3_290_PSR_VALUE; static const FieldPart I011_V1_3_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_PSR_VALUE, NULL }; static const FieldPart *I011_V1_3_290_PSR_PARTS[] = { &I011_V1_3_290_PSR_VALUE, NULL }; static const AsterixField I011_V1_3_290_PSR = { FIXED, 1, 0, 0, &hf_011_V1_3_290_PSR, I011_V1_3_290_PSR_PARTS, { NULL } }; static int hf_011_V1_3_290_SSR; static int hf_011_V1_3_290_SSR_VALUE; static const FieldPart I011_V1_3_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_SSR_VALUE, NULL }; static const FieldPart *I011_V1_3_290_SSR_PARTS[] = { &I011_V1_3_290_SSR_VALUE, NULL }; static const AsterixField I011_V1_3_290_SSR = { FIXED, 1, 0, 0, &hf_011_V1_3_290_SSR, I011_V1_3_290_SSR_PARTS, { NULL } }; static int hf_011_V1_3_290_MDA; static int hf_011_V1_3_290_MDA_VALUE; static const FieldPart I011_V1_3_290_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_MDA_VALUE, NULL }; static const FieldPart *I011_V1_3_290_MDA_PARTS[] = { &I011_V1_3_290_MDA_VALUE, NULL }; static const AsterixField I011_V1_3_290_MDA = { FIXED, 1, 0, 0, &hf_011_V1_3_290_MDA, I011_V1_3_290_MDA_PARTS, { NULL } }; static int hf_011_V1_3_290_MFL; static int hf_011_V1_3_290_MFL_VALUE; static const FieldPart I011_V1_3_290_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_MFL_VALUE, NULL }; static const FieldPart *I011_V1_3_290_MFL_PARTS[] = { &I011_V1_3_290_MFL_VALUE, NULL }; static const AsterixField I011_V1_3_290_MFL = { FIXED, 1, 0, 0, &hf_011_V1_3_290_MFL, I011_V1_3_290_MFL_PARTS, { NULL } }; static int hf_011_V1_3_290_MDS; static int hf_011_V1_3_290_MDS_VALUE; static const FieldPart I011_V1_3_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_MDS_VALUE, NULL }; static const FieldPart *I011_V1_3_290_MDS_PARTS[] = { &I011_V1_3_290_MDS_VALUE, NULL }; static const AsterixField I011_V1_3_290_MDS = { FIXED, 1, 0, 0, &hf_011_V1_3_290_MDS, I011_V1_3_290_MDS_PARTS, { NULL } }; static int hf_011_V1_3_290_ADS; static int hf_011_V1_3_290_ADS_VALUE; static const FieldPart I011_V1_3_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_ADS_VALUE, NULL }; static const FieldPart *I011_V1_3_290_ADS_PARTS[] = { &I011_V1_3_290_ADS_VALUE, NULL }; static const AsterixField I011_V1_3_290_ADS = { FIXED, 2, 0, 0, &hf_011_V1_3_290_ADS, I011_V1_3_290_ADS_PARTS, { NULL } }; static int hf_011_V1_3_290_ADB; static int hf_011_V1_3_290_ADB_VALUE; static const FieldPart I011_V1_3_290_ADB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_ADB_VALUE, NULL }; static const FieldPart *I011_V1_3_290_ADB_PARTS[] = { &I011_V1_3_290_ADB_VALUE, NULL }; static const AsterixField I011_V1_3_290_ADB = { FIXED, 1, 0, 0, &hf_011_V1_3_290_ADB, I011_V1_3_290_ADB_PARTS, { NULL } }; static int hf_011_V1_3_290_MD1; static int hf_011_V1_3_290_MD1_VALUE; static const FieldPart I011_V1_3_290_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_MD1_VALUE, NULL }; static const FieldPart *I011_V1_3_290_MD1_PARTS[] = { &I011_V1_3_290_MD1_VALUE, NULL }; static const AsterixField I011_V1_3_290_MD1 = { FIXED, 1, 0, 0, &hf_011_V1_3_290_MD1, I011_V1_3_290_MD1_PARTS, { NULL } }; static int hf_011_V1_3_290_MD2; static int hf_011_V1_3_290_MD2_VALUE; static const FieldPart I011_V1_3_290_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_MD2_VALUE, NULL }; static const FieldPart *I011_V1_3_290_MD2_PARTS[] = { &I011_V1_3_290_MD2_VALUE, NULL }; static const AsterixField I011_V1_3_290_MD2 = { FIXED, 1, 0, 0, &hf_011_V1_3_290_MD2, I011_V1_3_290_MD2_PARTS, { NULL } }; static int hf_011_V1_3_290_LOP; static int hf_011_V1_3_290_LOP_VALUE; static const FieldPart I011_V1_3_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_LOP_VALUE, NULL }; static const FieldPart *I011_V1_3_290_LOP_PARTS[] = { &I011_V1_3_290_LOP_VALUE, NULL }; static const AsterixField I011_V1_3_290_LOP = { FIXED, 1, 0, 0, &hf_011_V1_3_290_LOP, I011_V1_3_290_LOP_PARTS, { NULL } }; static int hf_011_V1_3_290_TRK; static int hf_011_V1_3_290_TRK_VALUE; static const FieldPart I011_V1_3_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_TRK_VALUE, NULL }; static const FieldPart *I011_V1_3_290_TRK_PARTS[] = { &I011_V1_3_290_TRK_VALUE, NULL }; static const AsterixField I011_V1_3_290_TRK = { FIXED, 1, 0, 0, &hf_011_V1_3_290_TRK, I011_V1_3_290_TRK_PARTS, { NULL } }; static int hf_011_V1_3_290_MUL; static int hf_011_V1_3_290_MUL_VALUE; static const FieldPart I011_V1_3_290_MUL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_290_MUL_VALUE, NULL }; static const FieldPart *I011_V1_3_290_MUL_PARTS[] = { &I011_V1_3_290_MUL_VALUE, NULL }; static const AsterixField I011_V1_3_290_MUL = { FIXED, 1, 0, 0, &hf_011_V1_3_290_MUL, I011_V1_3_290_MUL_PARTS, { NULL } }; static const AsterixField I011_V1_3_290 = { COMPOUND, 0, 0, 0, &hf_011_V1_3_290, NULL, { &I011_V1_3_290_PSR, &I011_V1_3_290_SSR, &I011_V1_3_290_MDA, &I011_V1_3_290_MFL, &I011_V1_3_290_MDS, &I011_V1_3_290_ADS, &I011_V1_3_290_ADB, &I011_V1_3_290_MD1, &I011_V1_3_290_MD2, &I011_V1_3_290_LOP, &I011_V1_3_290_TRK, &I011_V1_3_290_MUL, NULL } }; static int hf_011_V1_3_300; static int hf_011_V1_3_300_VALUE; static const value_string valstr_011_V1_3_300_VALUE[] = { { 0, "Flyco (follow me)" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Unknown" }, { 0, NULL } }; static const FieldPart I011_V1_3_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_3_300_VALUE, NULL }; static const FieldPart *I011_V1_3_300_PARTS[] = { &I011_V1_3_300_VALUE, NULL }; static const AsterixField I011_V1_3_300 = { FIXED, 1, 0, 0, &hf_011_V1_3_300, I011_V1_3_300_PARTS, { NULL } }; static int hf_011_V1_3_310; static int hf_011_V1_3_310_TRB; static const value_string valstr_011_V1_3_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I011_V1_3_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_310_TRB, NULL }; static int hf_011_V1_3_310_MSG; static const value_string valstr_011_V1_3_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "FOLLOW-ME operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I011_V1_3_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_011_V1_3_310_MSG, NULL }; static const FieldPart *I011_V1_3_310_PARTS[] = { &I011_V1_3_310_TRB, &I011_V1_3_310_MSG, NULL }; static const AsterixField I011_V1_3_310 = { FIXED, 1, 0, 0, &hf_011_V1_3_310, I011_V1_3_310_PARTS, { NULL } }; static int hf_011_V1_3_380; static int hf_011_V1_3_380_MB; static int hf_011_V1_3_380_MB_VALUE; static const FieldPart I011_V1_3_380_MB_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_011_V1_3_380_MB_VALUE, NULL }; static const FieldPart *I011_V1_3_380_MB_PARTS[] = { &I011_V1_3_380_MB_VALUE, NULL }; static const AsterixField I011_V1_3_380_MB = { REPETITIVE, 8, 1, 0, &hf_011_V1_3_380_MB, I011_V1_3_380_MB_PARTS, { NULL } }; static int hf_011_V1_3_380_ADR; static int hf_011_V1_3_380_ADR_VALUE; static const FieldPart I011_V1_3_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_011_V1_3_380_ADR_VALUE, NULL }; static const FieldPart *I011_V1_3_380_ADR_PARTS[] = { &I011_V1_3_380_ADR_VALUE, NULL }; static const AsterixField I011_V1_3_380_ADR = { FIXED, 3, 0, 0, &hf_011_V1_3_380_ADR, I011_V1_3_380_ADR_PARTS, { NULL } }; static int hf_011_V1_3_380_COMACAS; static int hf_011_V1_3_380_COMACAS_COM; static const value_string valstr_011_V1_3_380_COMACAS_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_COM = { 3, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_COM, NULL }; static int hf_011_V1_3_380_COMACAS_STAT; static const value_string valstr_011_V1_3_380_COMACAS_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "General Emergency" }, { 7, "Lifeguard / medical" }, { 8, "Minimum fuel" }, { 9, "No communications" }, { 10, "Unlawful interference" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_STAT = { 4, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_STAT, NULL }; static int hf_011_V1_3_380_COMACAS_SSC; static const value_string valstr_011_V1_3_380_COMACAS_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_SSC, NULL }; static int hf_011_V1_3_380_COMACAS_ARC; static const value_string valstr_011_V1_3_380_COMACAS_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_ARC, NULL }; static int hf_011_V1_3_380_COMACAS_AIC; static const value_string valstr_011_V1_3_380_COMACAS_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_AIC, NULL }; static int hf_011_V1_3_380_COMACAS_B1A; static const FieldPart I011_V1_3_380_COMACAS_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_011_V1_3_380_COMACAS_B1A, NULL }; static int hf_011_V1_3_380_COMACAS_B1B; static const FieldPart I011_V1_3_380_COMACAS_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_011_V1_3_380_COMACAS_B1B, NULL }; static int hf_011_V1_3_380_COMACAS_AC; static const value_string valstr_011_V1_3_380_COMACAS_AC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_AC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_AC, NULL }; static int hf_011_V1_3_380_COMACAS_MN; static const value_string valstr_011_V1_3_380_COMACAS_MN[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_MN = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_MN, NULL }; static int hf_011_V1_3_380_COMACAS_DC; static const value_string valstr_011_V1_3_380_COMACAS_DC[] = { { 0, "Yes" }, { 1, "No" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_COMACAS_DC = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_COMACAS_DC, NULL }; static const FieldPart *I011_V1_3_380_COMACAS_PARTS[] = { &I011_V1_3_380_COMACAS_COM, &I011_V1_3_380_COMACAS_STAT, &IXXX_1bit_spare, &I011_V1_3_380_COMACAS_SSC, &I011_V1_3_380_COMACAS_ARC, &I011_V1_3_380_COMACAS_AIC, &I011_V1_3_380_COMACAS_B1A, &I011_V1_3_380_COMACAS_B1B, &I011_V1_3_380_COMACAS_AC, &I011_V1_3_380_COMACAS_MN, &I011_V1_3_380_COMACAS_DC, &IXXX_5bit_spare, NULL }; static const AsterixField I011_V1_3_380_COMACAS = { FIXED, 3, 0, 0, &hf_011_V1_3_380_COMACAS, I011_V1_3_380_COMACAS_PARTS, { NULL } }; static int hf_011_V1_3_380_ACT; static int hf_011_V1_3_380_ACT_VALUE; static const FieldPart I011_V1_3_380_ACT_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_3_380_ACT_VALUE, NULL }; static const FieldPart *I011_V1_3_380_ACT_PARTS[] = { &I011_V1_3_380_ACT_VALUE, NULL }; static const AsterixField I011_V1_3_380_ACT = { FIXED, 4, 0, 0, &hf_011_V1_3_380_ACT, I011_V1_3_380_ACT_PARTS, { NULL } }; static int hf_011_V1_3_380_ECAT; static int hf_011_V1_3_380_ECAT_VALUE; static const value_string valstr_011_V1_3_380_ECAT_VALUE[] = { { 1, "Light aircraft <= 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_ECAT_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_ECAT_VALUE, NULL }; static const FieldPart *I011_V1_3_380_ECAT_PARTS[] = { &I011_V1_3_380_ECAT_VALUE, NULL }; static const AsterixField I011_V1_3_380_ECAT = { FIXED, 1, 0, 0, &hf_011_V1_3_380_ECAT, I011_V1_3_380_ECAT_PARTS, { NULL } }; static int hf_011_V1_3_380_AVTECH; static int hf_011_V1_3_380_AVTECH_VDL; static const value_string valstr_011_V1_3_380_AVTECH_VDL[] = { { 0, "VDL Mode 4 available" }, { 1, "VDL Mode 4 not available" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_AVTECH_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_AVTECH_VDL, NULL }; static int hf_011_V1_3_380_AVTECH_MDS; static const value_string valstr_011_V1_3_380_AVTECH_MDS[] = { { 0, "Mode S available" }, { 1, "Mode S not available" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_AVTECH_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_AVTECH_MDS, NULL }; static int hf_011_V1_3_380_AVTECH_UAT; static const value_string valstr_011_V1_3_380_AVTECH_UAT[] = { { 0, "UAT available" }, { 1, "UAT not available" }, { 0, NULL } }; static const FieldPart I011_V1_3_380_AVTECH_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_380_AVTECH_UAT, NULL }; static const FieldPart *I011_V1_3_380_AVTECH_PARTS[] = { &I011_V1_3_380_AVTECH_VDL, &I011_V1_3_380_AVTECH_MDS, &I011_V1_3_380_AVTECH_UAT, &IXXX_5bit_spare, NULL }; static const AsterixField I011_V1_3_380_AVTECH = { FIXED, 1, 0, 0, &hf_011_V1_3_380_AVTECH, I011_V1_3_380_AVTECH_PARTS, { NULL } }; static const AsterixField I011_V1_3_380 = { COMPOUND, 0, 0, 0, &hf_011_V1_3_380, NULL, { &I011_V1_3_380_MB, &I011_V1_3_380_ADR, &IX_SPARE, &I011_V1_3_380_COMACAS, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I011_V1_3_380_ACT, &I011_V1_3_380_ECAT, &IX_SPARE, &I011_V1_3_380_AVTECH, NULL } }; static int hf_011_V1_3_390; static int hf_011_V1_3_390_FPPSID; static int hf_011_V1_3_390_FPPSID_SAC; static const FieldPart I011_V1_3_390_FPPSID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_390_FPPSID_SAC, NULL }; static int hf_011_V1_3_390_FPPSID_SIC; static const FieldPart I011_V1_3_390_FPPSID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_390_FPPSID_SIC, NULL }; static const FieldPart *I011_V1_3_390_FPPSID_PARTS[] = { &I011_V1_3_390_FPPSID_SAC, &I011_V1_3_390_FPPSID_SIC, NULL }; static const AsterixField I011_V1_3_390_FPPSID = { FIXED, 2, 0, 0, &hf_011_V1_3_390_FPPSID, I011_V1_3_390_FPPSID_PARTS, { NULL } }; static int hf_011_V1_3_390_CSN; static int hf_011_V1_3_390_CSN_VALUE; static const FieldPart I011_V1_3_390_CSN_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_011_V1_3_390_CSN_VALUE, NULL }; static const FieldPart *I011_V1_3_390_CSN_PARTS[] = { &I011_V1_3_390_CSN_VALUE, NULL }; static const AsterixField I011_V1_3_390_CSN = { FIXED, 7, 0, 0, &hf_011_V1_3_390_CSN, I011_V1_3_390_CSN_PARTS, { NULL } }; static int hf_011_V1_3_390_IFPSFLIGHTID; static int hf_011_V1_3_390_IFPSFLIGHTID_TYP; static const value_string valstr_011_V1_3_390_IFPSFLIGHTID_TYP[] = { { 0, "Plan number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_IFPSFLIGHTID_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_IFPSFLIGHTID_TYP, NULL }; static int hf_011_V1_3_390_IFPSFLIGHTID_NBR; static const FieldPart I011_V1_3_390_IFPSFLIGHTID_NBR = { 27, 1.0, FIELD_PART_HEX, &hf_011_V1_3_390_IFPSFLIGHTID_NBR, NULL }; static const FieldPart *I011_V1_3_390_IFPSFLIGHTID_PARTS[] = { &I011_V1_3_390_IFPSFLIGHTID_TYP, &IXXX_3bit_spare, &I011_V1_3_390_IFPSFLIGHTID_NBR, NULL }; static const AsterixField I011_V1_3_390_IFPSFLIGHTID = { FIXED, 4, 0, 0, &hf_011_V1_3_390_IFPSFLIGHTID, I011_V1_3_390_IFPSFLIGHTID_PARTS, { NULL } }; static int hf_011_V1_3_390_FLIGHTCAT; static int hf_011_V1_3_390_FLIGHTCAT_GATOAT; static const value_string valstr_011_V1_3_390_FLIGHTCAT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_FLIGHTCAT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_FLIGHTCAT_GATOAT, NULL }; static int hf_011_V1_3_390_FLIGHTCAT_FR1FR2; static const value_string valstr_011_V1_3_390_FLIGHTCAT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight Rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_FLIGHTCAT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_FLIGHTCAT_FR1FR2, NULL }; static int hf_011_V1_3_390_FLIGHTCAT_RVSM; static const value_string valstr_011_V1_3_390_FLIGHTCAT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_FLIGHTCAT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_FLIGHTCAT_RVSM, NULL }; static int hf_011_V1_3_390_FLIGHTCAT_HPR; static const value_string valstr_011_V1_3_390_FLIGHTCAT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_FLIGHTCAT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_FLIGHTCAT_HPR, NULL }; static const FieldPart *I011_V1_3_390_FLIGHTCAT_PARTS[] = { &I011_V1_3_390_FLIGHTCAT_GATOAT, &I011_V1_3_390_FLIGHTCAT_FR1FR2, &I011_V1_3_390_FLIGHTCAT_RVSM, &I011_V1_3_390_FLIGHTCAT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I011_V1_3_390_FLIGHTCAT = { FIXED, 1, 0, 0, &hf_011_V1_3_390_FLIGHTCAT, I011_V1_3_390_FLIGHTCAT_PARTS, { NULL } }; static int hf_011_V1_3_390_TOA; static int hf_011_V1_3_390_TOA_VALUE; static const FieldPart I011_V1_3_390_TOA_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_3_390_TOA_VALUE, NULL }; static const FieldPart *I011_V1_3_390_TOA_PARTS[] = { &I011_V1_3_390_TOA_VALUE, NULL }; static const AsterixField I011_V1_3_390_TOA = { FIXED, 4, 0, 0, &hf_011_V1_3_390_TOA, I011_V1_3_390_TOA_PARTS, { NULL } }; static int hf_011_V1_3_390_WTC; static int hf_011_V1_3_390_WTC_VALUE; static const value_string valstr_011_V1_3_390_WTC_VALUE[] = { { 76, "Light" }, { 77, "Medium" }, { 72, "Heavy" }, { 74, "Super" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_WTC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_WTC_VALUE, NULL }; static const FieldPart *I011_V1_3_390_WTC_PARTS[] = { &I011_V1_3_390_WTC_VALUE, NULL }; static const AsterixField I011_V1_3_390_WTC = { FIXED, 1, 0, 0, &hf_011_V1_3_390_WTC, I011_V1_3_390_WTC_PARTS, { NULL } }; static int hf_011_V1_3_390_ADEP; static int hf_011_V1_3_390_ADEP_VALUE; static const FieldPart I011_V1_3_390_ADEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_3_390_ADEP_VALUE, NULL }; static const FieldPart *I011_V1_3_390_ADEP_PARTS[] = { &I011_V1_3_390_ADEP_VALUE, NULL }; static const AsterixField I011_V1_3_390_ADEP = { FIXED, 4, 0, 0, &hf_011_V1_3_390_ADEP, I011_V1_3_390_ADEP_PARTS, { NULL } }; static int hf_011_V1_3_390_ADES; static int hf_011_V1_3_390_ADES_VALUE; static const FieldPart I011_V1_3_390_ADES_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_V1_3_390_ADES_VALUE, NULL }; static const FieldPart *I011_V1_3_390_ADES_PARTS[] = { &I011_V1_3_390_ADES_VALUE, NULL }; static const AsterixField I011_V1_3_390_ADES = { FIXED, 4, 0, 0, &hf_011_V1_3_390_ADES, I011_V1_3_390_ADES_PARTS, { NULL } }; static int hf_011_V1_3_390_RWY; static int hf_011_V1_3_390_RWY_VALUE; static const FieldPart I011_V1_3_390_RWY_VALUE = { 24, 1.0, FIELD_PART_ASCII, &hf_011_V1_3_390_RWY_VALUE, NULL }; static const FieldPart *I011_V1_3_390_RWY_PARTS[] = { &I011_V1_3_390_RWY_VALUE, NULL }; static const AsterixField I011_V1_3_390_RWY = { FIXED, 3, 0, 0, &hf_011_V1_3_390_RWY, I011_V1_3_390_RWY_PARTS, { NULL } }; static int hf_011_V1_3_390_CFL; static int hf_011_V1_3_390_CFL_VALUE; static const FieldPart I011_V1_3_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_390_CFL_VALUE, NULL }; static const FieldPart *I011_V1_3_390_CFL_PARTS[] = { &I011_V1_3_390_CFL_VALUE, NULL }; static const AsterixField I011_V1_3_390_CFL = { FIXED, 2, 0, 0, &hf_011_V1_3_390_CFL, I011_V1_3_390_CFL_PARTS, { NULL } }; static int hf_011_V1_3_390_CCP; static int hf_011_V1_3_390_CCP_CENTRE; static const FieldPart I011_V1_3_390_CCP_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_390_CCP_CENTRE, NULL }; static int hf_011_V1_3_390_CCP_POSITION; static const FieldPart I011_V1_3_390_CCP_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_390_CCP_POSITION, NULL }; static const FieldPart *I011_V1_3_390_CCP_PARTS[] = { &I011_V1_3_390_CCP_CENTRE, &I011_V1_3_390_CCP_POSITION, NULL }; static const AsterixField I011_V1_3_390_CCP = { FIXED, 2, 0, 0, &hf_011_V1_3_390_CCP, I011_V1_3_390_CCP_PARTS, { NULL } }; static int hf_011_V1_3_390_TOD; static int hf_011_V1_3_390_TOD_TYP; static const value_string valstr_011_V1_3_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_TOD_TYP, NULL }; static int hf_011_V1_3_390_TOD_DAY; static const value_string valstr_011_V1_3_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_TOD_DAY, NULL }; static int hf_011_V1_3_390_TOD_HOR; static const FieldPart I011_V1_3_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_TOD_HOR, NULL }; static int hf_011_V1_3_390_TOD_MIN; static const FieldPart I011_V1_3_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_TOD_MIN, NULL }; static int hf_011_V1_3_390_TOD_AVS; static const value_string valstr_011_V1_3_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_TOD_AVS, NULL }; static int hf_011_V1_3_390_TOD_SEC; static const FieldPart I011_V1_3_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_TOD_SEC, NULL }; static const FieldPart *I011_V1_3_390_TOD_PARTS[] = { &I011_V1_3_390_TOD_TYP, &I011_V1_3_390_TOD_DAY, &IXXX_4bit_spare, &I011_V1_3_390_TOD_HOR, &IXXX_2bit_spare, &I011_V1_3_390_TOD_MIN, &I011_V1_3_390_TOD_AVS, &IXXX_1bit_spare, &I011_V1_3_390_TOD_SEC, NULL }; static const AsterixField I011_V1_3_390_TOD = { REPETITIVE, 4, 1, 0, &hf_011_V1_3_390_TOD, I011_V1_3_390_TOD_PARTS, { NULL } }; static int hf_011_V1_3_390_AST; static int hf_011_V1_3_390_AST_VALUE; static const FieldPart I011_V1_3_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_011_V1_3_390_AST_VALUE, NULL }; static const FieldPart *I011_V1_3_390_AST_PARTS[] = { &I011_V1_3_390_AST_VALUE, NULL }; static const AsterixField I011_V1_3_390_AST = { FIXED, 6, 0, 0, &hf_011_V1_3_390_AST, I011_V1_3_390_AST_PARTS, { NULL } }; static int hf_011_V1_3_390_STS; static int hf_011_V1_3_390_STS_EMP; static const value_string valstr_011_V1_3_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_STS_EMP, NULL }; static int hf_011_V1_3_390_STS_AVL; static const value_string valstr_011_V1_3_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 0, NULL } }; static const FieldPart I011_V1_3_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_390_STS_AVL, NULL }; static const FieldPart *I011_V1_3_390_STS_PARTS[] = { &I011_V1_3_390_STS_EMP, &I011_V1_3_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I011_V1_3_390_STS = { FIXED, 1, 0, 0, &hf_011_V1_3_390_STS, I011_V1_3_390_STS_PARTS, { NULL } }; static const AsterixField I011_V1_3_390 = { COMPOUND, 0, 0, 0, &hf_011_V1_3_390, NULL, { &I011_V1_3_390_FPPSID, &I011_V1_3_390_CSN, &I011_V1_3_390_IFPSFLIGHTID, &I011_V1_3_390_FLIGHTCAT, &I011_V1_3_390_TOA, &I011_V1_3_390_WTC, &I011_V1_3_390_ADEP, &I011_V1_3_390_ADES, &I011_V1_3_390_RWY, &I011_V1_3_390_CFL, &I011_V1_3_390_CCP, &I011_V1_3_390_TOD, &I011_V1_3_390_AST, &I011_V1_3_390_STS, NULL } }; static int hf_011_V1_3_430; static int hf_011_V1_3_430_VALUE; static const value_string valstr_011_V1_3_430_VALUE[] = { { 0, "Unknown" }, { 1, "On stand" }, { 2, "Taxiing for departure" }, { 3, "Taxiing for arrival" }, { 4, "Runway for departure" }, { 5, "Runway for arrival" }, { 6, "Hold for departure" }, { 7, "Hold for arrival" }, { 8, "Push back" }, { 9, "On finals" }, { 0, NULL } }; static const FieldPart I011_V1_3_430_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_V1_3_430_VALUE, NULL }; static const FieldPart *I011_V1_3_430_PARTS[] = { &I011_V1_3_430_VALUE, NULL }; static const AsterixField I011_V1_3_430 = { FIXED, 1, 0, 0, &hf_011_V1_3_430, I011_V1_3_430_PARTS, { NULL } }; static int hf_011_V1_3_500; static int hf_011_V1_3_500_APC; static int hf_011_V1_3_500_APC_X; static const FieldPart I011_V1_3_500_APC_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_500_APC_X, NULL }; static int hf_011_V1_3_500_APC_Y; static const FieldPart I011_V1_3_500_APC_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_V1_3_500_APC_Y, NULL }; static const FieldPart *I011_V1_3_500_APC_PARTS[] = { &I011_V1_3_500_APC_X, &I011_V1_3_500_APC_Y, NULL }; static const AsterixField I011_V1_3_500_APC = { FIXED, 2, 0, 0, &hf_011_V1_3_500_APC, I011_V1_3_500_APC_PARTS, { NULL } }; static int hf_011_V1_3_500_APW; static int hf_011_V1_3_500_APW_LAT; static const FieldPart I011_V1_3_500_APW_LAT = { 16, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_3_500_APW_LAT, NULL }; static int hf_011_V1_3_500_APW_LON; static const FieldPart I011_V1_3_500_APW_LON = { 16, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_V1_3_500_APW_LON, NULL }; static const FieldPart *I011_V1_3_500_APW_PARTS[] = { &I011_V1_3_500_APW_LAT, &I011_V1_3_500_APW_LON, NULL }; static const AsterixField I011_V1_3_500_APW = { FIXED, 4, 0, 0, &hf_011_V1_3_500_APW, I011_V1_3_500_APW_PARTS, { NULL } }; static int hf_011_V1_3_500_ATH; static int hf_011_V1_3_500_ATH_VALUE; static const FieldPart I011_V1_3_500_ATH_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_011_V1_3_500_ATH_VALUE, NULL }; static const FieldPart *I011_V1_3_500_ATH_PARTS[] = { &I011_V1_3_500_ATH_VALUE, NULL }; static const AsterixField I011_V1_3_500_ATH = { FIXED, 2, 0, 0, &hf_011_V1_3_500_ATH, I011_V1_3_500_ATH_PARTS, { NULL } }; static int hf_011_V1_3_500_AVC; static int hf_011_V1_3_500_AVC_X; static const FieldPart I011_V1_3_500_AVC_X = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_V1_3_500_AVC_X, NULL }; static int hf_011_V1_3_500_AVC_Y; static const FieldPart I011_V1_3_500_AVC_Y = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_V1_3_500_AVC_Y, NULL }; static const FieldPart *I011_V1_3_500_AVC_PARTS[] = { &I011_V1_3_500_AVC_X, &I011_V1_3_500_AVC_Y, NULL }; static const AsterixField I011_V1_3_500_AVC = { FIXED, 2, 0, 0, &hf_011_V1_3_500_AVC, I011_V1_3_500_AVC_PARTS, { NULL } }; static int hf_011_V1_3_500_ARC; static int hf_011_V1_3_500_ARC_VALUE; static const FieldPart I011_V1_3_500_ARC_VALUE = { 16, 0.1, FIELD_PART_FLOAT, &hf_011_V1_3_500_ARC_VALUE, NULL }; static const FieldPart *I011_V1_3_500_ARC_PARTS[] = { &I011_V1_3_500_ARC_VALUE, NULL }; static const AsterixField I011_V1_3_500_ARC = { FIXED, 2, 0, 0, &hf_011_V1_3_500_ARC, I011_V1_3_500_ARC_PARTS, { NULL } }; static int hf_011_V1_3_500_AAC; static int hf_011_V1_3_500_AAC_X; static const FieldPart I011_V1_3_500_AAC_X = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_V1_3_500_AAC_X, NULL }; static int hf_011_V1_3_500_AAC_Y; static const FieldPart I011_V1_3_500_AAC_Y = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_V1_3_500_AAC_Y, NULL }; static const FieldPart *I011_V1_3_500_AAC_PARTS[] = { &I011_V1_3_500_AAC_X, &I011_V1_3_500_AAC_Y, NULL }; static const AsterixField I011_V1_3_500_AAC = { FIXED, 2, 0, 0, &hf_011_V1_3_500_AAC, I011_V1_3_500_AAC_PARTS, { NULL } }; static const AsterixField I011_V1_3_500 = { COMPOUND, 0, 0, 0, &hf_011_V1_3_500, NULL, { &I011_V1_3_500_APC, &I011_V1_3_500_APW, &I011_V1_3_500_ATH, &I011_V1_3_500_AVC, &I011_V1_3_500_ARC, &I011_V1_3_500_AAC, NULL } }; static int hf_011_V1_3_600; static int hf_011_V1_3_600_ACK; static const value_string valstr_011_V1_3_600_ACK[] = { { 0, "Alert acknowledged" }, { 1, "Alert not acknowledged" }, { 0, NULL } }; static const FieldPart I011_V1_3_600_ACK = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_600_ACK, NULL }; static int hf_011_V1_3_600_SVR; static const value_string valstr_011_V1_3_600_SVR[] = { { 0, "End fo alert" }, { 1, "Pre-alarm" }, { 2, "Severe alert" }, { 0, NULL } }; static const FieldPart I011_V1_3_600_SVR = { 2, 1.0, FIELD_PART_UINT, &hf_011_V1_3_600_SVR, NULL }; static int hf_011_V1_3_600_AT; static const FieldPart I011_V1_3_600_AT = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_600_AT, NULL }; static int hf_011_V1_3_600_AN; static const FieldPart I011_V1_3_600_AN = { 8, 1.0, FIELD_PART_HEX, &hf_011_V1_3_600_AN, NULL }; static const FieldPart *I011_V1_3_600_PARTS[] = { &I011_V1_3_600_ACK, &I011_V1_3_600_SVR, &IXXX_5bit_spare, &I011_V1_3_600_AT, &I011_V1_3_600_AN, NULL }; static const AsterixField I011_V1_3_600 = { FIXED, 3, 0, 0, &hf_011_V1_3_600, I011_V1_3_600_PARTS, { NULL } }; static int hf_011_V1_3_605; static int hf_011_V1_3_605_FTN; static const FieldPart I011_V1_3_605_FTN = { 12, 1.0, FIELD_PART_HEX, &hf_011_V1_3_605_FTN, NULL }; static const FieldPart *I011_V1_3_605_PARTS[] = { &IXXX_4bit_spare, &I011_V1_3_605_FTN, NULL }; static const AsterixField I011_V1_3_605 = { REPETITIVE, 2, 1, 0, &hf_011_V1_3_605, I011_V1_3_605_PARTS, { NULL } }; static int hf_011_V1_3_610; static int hf_011_V1_3_610_BKN; static const FieldPart I011_V1_3_610_BKN = { 4, 1.0, FIELD_PART_HEX, &hf_011_V1_3_610_BKN, NULL }; static int hf_011_V1_3_610_I1; static const value_string valstr_011_V1_3_610_I1[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I1 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I1, NULL }; static int hf_011_V1_3_610_I2; static const value_string valstr_011_V1_3_610_I2[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I2 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I2, NULL }; static int hf_011_V1_3_610_I3; static const value_string valstr_011_V1_3_610_I3[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I3 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I3, NULL }; static int hf_011_V1_3_610_I4; static const value_string valstr_011_V1_3_610_I4[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I4 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I4, NULL }; static int hf_011_V1_3_610_I5; static const value_string valstr_011_V1_3_610_I5[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I5 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I5, NULL }; static int hf_011_V1_3_610_I6; static const value_string valstr_011_V1_3_610_I6[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I6 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I6, NULL }; static int hf_011_V1_3_610_I7; static const value_string valstr_011_V1_3_610_I7[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I7 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I7, NULL }; static int hf_011_V1_3_610_I8; static const value_string valstr_011_V1_3_610_I8[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I8 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I8, NULL }; static int hf_011_V1_3_610_I9; static const value_string valstr_011_V1_3_610_I9[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I9 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I9, NULL }; static int hf_011_V1_3_610_I10; static const value_string valstr_011_V1_3_610_I10[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I10 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I10, NULL }; static int hf_011_V1_3_610_I11; static const value_string valstr_011_V1_3_610_I11[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I11 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I11, NULL }; static int hf_011_V1_3_610_I12; static const value_string valstr_011_V1_3_610_I12[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_V1_3_610_I12 = { 1, 1.0, FIELD_PART_UINT, &hf_011_V1_3_610_I12, NULL }; static const FieldPart *I011_V1_3_610_PARTS[] = { &I011_V1_3_610_BKN, &I011_V1_3_610_I1, &I011_V1_3_610_I2, &I011_V1_3_610_I3, &I011_V1_3_610_I4, &I011_V1_3_610_I5, &I011_V1_3_610_I6, &I011_V1_3_610_I7, &I011_V1_3_610_I8, &I011_V1_3_610_I9, &I011_V1_3_610_I10, &I011_V1_3_610_I11, &I011_V1_3_610_I12, NULL }; static const AsterixField I011_V1_3_610 = { REPETITIVE, 2, 1, 0, &hf_011_V1_3_610, I011_V1_3_610_PARTS, { NULL } }; static int hf_011_V1_3_SP; static const AsterixField I011_V1_3_SP = { EXP, 0, 0, 1, &hf_011_V1_3_SP, NULL, { NULL } }; static int hf_011_V1_3_RE; static const AsterixField I011_V1_3_RE = { EXP, 0, 0, 1, &hf_011_V1_3_RE, NULL, { NULL } }; /* Category 011, edition 1.3 (latest) */ static int hf_011_000; static int hf_011_000_VALUE; static const value_string valstr_011_000_VALUE[] = { { 1, "Target reports, flight plan data and basic alerts" }, { 2, "Manual attachment of flight plan to track" }, { 3, "Manual detachment of flight plan to track" }, { 4, "Insertion of flight plan data" }, { 5, "Suppression of flight plan data" }, { 6, "Modification of flight plan data" }, { 7, "Holdbar status" }, { 0, NULL } }; static const FieldPart I011_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_000_VALUE, NULL }; static const FieldPart *I011_000_PARTS[] = { &I011_000_VALUE, NULL }; static const AsterixField I011_000 = { FIXED, 1, 0, 0, &hf_011_000, I011_000_PARTS, { NULL } }; static int hf_011_010; static int hf_011_010_SAC; static const FieldPart I011_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_011_010_SAC, NULL }; static int hf_011_010_SIC; static const FieldPart I011_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_011_010_SIC, NULL }; static const FieldPart *I011_010_PARTS[] = { &I011_010_SAC, &I011_010_SIC, NULL }; static const AsterixField I011_010 = { FIXED, 2, 0, 0, &hf_011_010, I011_010_PARTS, { NULL } }; static int hf_011_015; static int hf_011_015_VALUE; static const FieldPart I011_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_011_015_VALUE, NULL }; static const FieldPart *I011_015_PARTS[] = { &I011_015_VALUE, NULL }; static const AsterixField I011_015 = { FIXED, 1, 0, 0, &hf_011_015, I011_015_PARTS, { NULL } }; static int hf_011_041; static int hf_011_041_LAT; static const FieldPart I011_041_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_041_LAT, NULL }; static int hf_011_041_LON; static const FieldPart I011_041_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_041_LON, NULL }; static const FieldPart *I011_041_PARTS[] = { &I011_041_LAT, &I011_041_LON, NULL }; static const AsterixField I011_041 = { FIXED, 8, 0, 0, &hf_011_041, I011_041_PARTS, { NULL } }; static int hf_011_042; static int hf_011_042_X; static const FieldPart I011_042_X = { 16, 1.0, FIELD_PART_FLOAT, &hf_011_042_X, NULL }; static int hf_011_042_Y; static const FieldPart I011_042_Y = { 16, 1.0, FIELD_PART_FLOAT, &hf_011_042_Y, NULL }; static const FieldPart *I011_042_PARTS[] = { &I011_042_X, &I011_042_Y, NULL }; static const AsterixField I011_042 = { FIXED, 4, 0, 0, &hf_011_042, I011_042_PARTS, { NULL } }; static int hf_011_060; static int hf_011_060_MOD3A; static const FieldPart I011_060_MOD3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_011_060_MOD3A, NULL }; static const FieldPart *I011_060_PARTS[] = { &IXXX_4bit_spare, &I011_060_MOD3A, NULL }; static const AsterixField I011_060 = { FIXED, 2, 0, 0, &hf_011_060, I011_060_PARTS, { NULL } }; static int hf_011_090; static int hf_011_090_VALUE; static const FieldPart I011_090_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_090_VALUE, NULL }; static const FieldPart *I011_090_PARTS[] = { &I011_090_VALUE, NULL }; static const AsterixField I011_090 = { FIXED, 2, 0, 0, &hf_011_090, I011_090_PARTS, { NULL } }; static int hf_011_092; static int hf_011_092_VALUE; static const FieldPart I011_092_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_092_VALUE, NULL }; static const FieldPart *I011_092_PARTS[] = { &I011_092_VALUE, NULL }; static const AsterixField I011_092 = { FIXED, 2, 0, 0, &hf_011_092, I011_092_PARTS, { NULL } }; static int hf_011_093; static int hf_011_093_QNH; static const value_string valstr_011_093_QNH[] = { { 0, "No QNH Correction Applied" }, { 1, "QNH Correction Applied" }, { 0, NULL } }; static const FieldPart I011_093_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_011_093_QNH, NULL }; static int hf_011_093_CTBA; static const FieldPart I011_093_CTBA = { 15, 0.25, FIELD_PART_FLOAT, &hf_011_093_CTBA, NULL }; static const FieldPart *I011_093_PARTS[] = { &I011_093_QNH, &I011_093_CTBA, NULL }; static const AsterixField I011_093 = { FIXED, 2, 0, 0, &hf_011_093, I011_093_PARTS, { NULL } }; static int hf_011_140; static int hf_011_140_VALUE; static const FieldPart I011_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_011_140_VALUE, NULL }; static const FieldPart *I011_140_PARTS[] = { &I011_140_VALUE, NULL }; static const AsterixField I011_140 = { FIXED, 3, 0, 0, &hf_011_140, I011_140_PARTS, { NULL } }; static int hf_011_161; static int hf_011_161_FTN; static const FieldPart I011_161_FTN = { 15, 1.0, FIELD_PART_HEX, &hf_011_161_FTN, NULL }; static const FieldPart *I011_161_PARTS[] = { &IXXX_1bit_spare, &I011_161_FTN, NULL }; static const AsterixField I011_161 = { FIXED, 2, 0, 0, &hf_011_161, I011_161_PARTS, { NULL } }; static int hf_011_170; static int hf_011_170_MON; static const value_string valstr_011_170_MON[] = { { 0, "Multisensor Track" }, { 1, "Monosensor Track" }, { 0, NULL } }; static const FieldPart I011_170_MON = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MON, NULL }; static int hf_011_170_GBS; static const value_string valstr_011_170_GBS[] = { { 0, "Transponder Ground bit not set or unknown" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I011_170_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_GBS, NULL }; static int hf_011_170_MRH; static const value_string valstr_011_170_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I011_170_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MRH, NULL }; static int hf_011_170_SRC; static const value_string valstr_011_170_SRC[] = { { 0, "No source" }, { 1, "GPS" }, { 2, "3d radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I011_170_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_011_170_SRC, NULL }; static int hf_011_170_CNF; static const value_string valstr_011_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I011_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_CNF, NULL }; static int hf_011_170_SIM; static const value_string valstr_011_170_SIM[] = { { 0, "Actual Track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I011_170_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SIM, NULL }; static int hf_011_170_TSE; static const value_string valstr_011_170_TSE[] = { { 0, "Default value" }, { 1, "Track service end (i.e. last message transmitted to the user for the track)" }, { 0, NULL } }; static const FieldPart I011_170_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_TSE, NULL }; static int hf_011_170_TSB; static const value_string valstr_011_170_TSB[] = { { 0, "Default value" }, { 1, "Track service begin (i.e. first message transmitted to the user for the track)" }, { 0, NULL } }; static const FieldPart I011_170_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_TSB, NULL }; static int hf_011_170_FRIFOE; static const value_string valstr_011_170_FRIFOE[] = { { 0, "No Mode 4 interrogationt" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I011_170_FRIFOE = { 2, 1.0, FIELD_PART_UINT, &hf_011_170_FRIFOE, NULL }; static int hf_011_170_ME; static const value_string valstr_011_170_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_170_ME = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_ME, NULL }; static int hf_011_170_MI; static const value_string valstr_011_170_MI[] = { { 0, "End of Data Item" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_170_MI = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MI, NULL }; static int hf_011_170_AMA; static const value_string valstr_011_170_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I011_170_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_AMA, NULL }; static int hf_011_170_SPI; static const value_string valstr_011_170_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I011_170_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SPI, NULL }; static int hf_011_170_CST; static const value_string valstr_011_170_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I011_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_CST, NULL }; static int hf_011_170_FPC; static const value_string valstr_011_170_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I011_170_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_FPC, NULL }; static int hf_011_170_AFF; static const value_string valstr_011_170_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I011_170_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_AFF, NULL }; static int hf_011_170_PSR; static const value_string valstr_011_170_PSR[] = { { 0, "Default value" }, { 1, "Age of the last received PSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_170_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_PSR, NULL }; static int hf_011_170_SSR; static const value_string valstr_011_170_SSR[] = { { 0, "Default value" }, { 1, "Age of the last received SSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_170_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SSR, NULL }; static int hf_011_170_MDS; static const value_string valstr_011_170_MDS[] = { { 0, "Default value" }, { 1, "Age of the last received Mode S track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_170_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MDS, NULL }; static int hf_011_170_ADS; static const value_string valstr_011_170_ADS[] = { { 0, "Default value" }, { 1, "Age of the last received ADS track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I011_170_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_ADS, NULL }; static int hf_011_170_SUC; static const value_string valstr_011_170_SUC[] = { { 0, "Default value" }, { 1, "Special Used Code (Mode A codes to be defined in the system to mark a track with special interest)" }, { 0, NULL } }; static const FieldPart I011_170_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SUC, NULL }; static int hf_011_170_AAC; static const value_string valstr_011_170_AAC[] = { { 0, "Default value" }, { 1, "Assigned Mode A Code Conflict (same individual Mode A Code assigned to another track)" }, { 0, NULL } }; static const FieldPart I011_170_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_AAC, NULL }; static const FieldPart *I011_170_PARTS[] = { &I011_170_MON, &I011_170_GBS, &I011_170_MRH, &I011_170_SRC, &I011_170_CNF, &IXXX_FX, &I011_170_SIM, &I011_170_TSE, &I011_170_TSB, &I011_170_FRIFOE, &I011_170_ME, &I011_170_MI, &IXXX_FX, &I011_170_AMA, &I011_170_SPI, &I011_170_CST, &I011_170_FPC, &I011_170_AFF, &IXXX_2bit_spare, &IXXX_FX, &IXXX_1bit_spare, &I011_170_PSR, &I011_170_SSR, &I011_170_MDS, &I011_170_ADS, &I011_170_SUC, &I011_170_AAC, &IXXX_FX, NULL }; static const AsterixField I011_170 = { FX, 1, 0, 0, &hf_011_170, I011_170_PARTS, { NULL } }; static int hf_011_202; static int hf_011_202_VX; static const FieldPart I011_202_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_202_VX, NULL }; static int hf_011_202_VY; static const FieldPart I011_202_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_011_202_VY, NULL }; static const FieldPart *I011_202_PARTS[] = { &I011_202_VX, &I011_202_VY, NULL }; static const AsterixField I011_202 = { FIXED, 4, 0, 0, &hf_011_202, I011_202_PARTS, { NULL } }; static int hf_011_210; static int hf_011_210_AX; static const FieldPart I011_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_011_210_AX, NULL }; static int hf_011_210_AY; static const FieldPart I011_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_011_210_AY, NULL }; static const FieldPart *I011_210_PARTS[] = { &I011_210_AX, &I011_210_AY, NULL }; static const AsterixField I011_210 = { FIXED, 2, 0, 0, &hf_011_210, I011_210_PARTS, { NULL } }; static int hf_011_215; static int hf_011_215_VALUE; static const FieldPart I011_215_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_215_VALUE, NULL }; static const FieldPart *I011_215_PARTS[] = { &I011_215_VALUE, NULL }; static const AsterixField I011_215 = { FIXED, 2, 0, 0, &hf_011_215, I011_215_PARTS, { NULL } }; static int hf_011_245; static int hf_011_245_STI; static const value_string valstr_011_245_STI[] = { { 0, "Callsign or registration downlinked from transponder" }, { 1, "Callsign not downlinked from transponder" }, { 2, "Registration not downlinked from transponder" }, { 0, NULL } }; static const FieldPart I011_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_011_245_STI, NULL }; static int hf_011_245_TID; static const FieldPart I011_245_TID = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_011_245_TID, NULL }; static const FieldPart *I011_245_PARTS[] = { &I011_245_STI, &IXXX_6bit_spare, &I011_245_TID, NULL }; static const AsterixField I011_245 = { FIXED, 7, 0, 0, &hf_011_245, I011_245_PARTS, { NULL } }; static int hf_011_270; static int hf_011_270_LENGTH; static const FieldPart I011_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_011_270_LENGTH, NULL }; static int hf_011_270_ORIENTATION; static const FieldPart I011_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_011_270_ORIENTATION, NULL }; static int hf_011_270_WIDTH; static const FieldPart I011_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_011_270_WIDTH, NULL }; static const FieldPart *I011_270_PARTS[] = { &I011_270_LENGTH, &IXXX_FX, &I011_270_ORIENTATION, &IXXX_FX, &I011_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I011_270 = { FX, 1, 0, 0, &hf_011_270, I011_270_PARTS, { NULL } }; static int hf_011_290; static int hf_011_290_PSR; static int hf_011_290_PSR_VALUE; static const FieldPart I011_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_PSR_VALUE, NULL }; static const FieldPart *I011_290_PSR_PARTS[] = { &I011_290_PSR_VALUE, NULL }; static const AsterixField I011_290_PSR = { FIXED, 1, 0, 0, &hf_011_290_PSR, I011_290_PSR_PARTS, { NULL } }; static int hf_011_290_SSR; static int hf_011_290_SSR_VALUE; static const FieldPart I011_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_SSR_VALUE, NULL }; static const FieldPart *I011_290_SSR_PARTS[] = { &I011_290_SSR_VALUE, NULL }; static const AsterixField I011_290_SSR = { FIXED, 1, 0, 0, &hf_011_290_SSR, I011_290_SSR_PARTS, { NULL } }; static int hf_011_290_MDA; static int hf_011_290_MDA_VALUE; static const FieldPart I011_290_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_MDA_VALUE, NULL }; static const FieldPart *I011_290_MDA_PARTS[] = { &I011_290_MDA_VALUE, NULL }; static const AsterixField I011_290_MDA = { FIXED, 1, 0, 0, &hf_011_290_MDA, I011_290_MDA_PARTS, { NULL } }; static int hf_011_290_MFL; static int hf_011_290_MFL_VALUE; static const FieldPart I011_290_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_MFL_VALUE, NULL }; static const FieldPart *I011_290_MFL_PARTS[] = { &I011_290_MFL_VALUE, NULL }; static const AsterixField I011_290_MFL = { FIXED, 1, 0, 0, &hf_011_290_MFL, I011_290_MFL_PARTS, { NULL } }; static int hf_011_290_MDS; static int hf_011_290_MDS_VALUE; static const FieldPart I011_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_MDS_VALUE, NULL }; static const FieldPart *I011_290_MDS_PARTS[] = { &I011_290_MDS_VALUE, NULL }; static const AsterixField I011_290_MDS = { FIXED, 1, 0, 0, &hf_011_290_MDS, I011_290_MDS_PARTS, { NULL } }; static int hf_011_290_ADS; static int hf_011_290_ADS_VALUE; static const FieldPart I011_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_011_290_ADS_VALUE, NULL }; static const FieldPart *I011_290_ADS_PARTS[] = { &I011_290_ADS_VALUE, NULL }; static const AsterixField I011_290_ADS = { FIXED, 2, 0, 0, &hf_011_290_ADS, I011_290_ADS_PARTS, { NULL } }; static int hf_011_290_ADB; static int hf_011_290_ADB_VALUE; static const FieldPart I011_290_ADB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_ADB_VALUE, NULL }; static const FieldPart *I011_290_ADB_PARTS[] = { &I011_290_ADB_VALUE, NULL }; static const AsterixField I011_290_ADB = { FIXED, 1, 0, 0, &hf_011_290_ADB, I011_290_ADB_PARTS, { NULL } }; static int hf_011_290_MD1; static int hf_011_290_MD1_VALUE; static const FieldPart I011_290_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_MD1_VALUE, NULL }; static const FieldPart *I011_290_MD1_PARTS[] = { &I011_290_MD1_VALUE, NULL }; static const AsterixField I011_290_MD1 = { FIXED, 1, 0, 0, &hf_011_290_MD1, I011_290_MD1_PARTS, { NULL } }; static int hf_011_290_MD2; static int hf_011_290_MD2_VALUE; static const FieldPart I011_290_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_MD2_VALUE, NULL }; static const FieldPart *I011_290_MD2_PARTS[] = { &I011_290_MD2_VALUE, NULL }; static const AsterixField I011_290_MD2 = { FIXED, 1, 0, 0, &hf_011_290_MD2, I011_290_MD2_PARTS, { NULL } }; static int hf_011_290_LOP; static int hf_011_290_LOP_VALUE; static const FieldPart I011_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_LOP_VALUE, NULL }; static const FieldPart *I011_290_LOP_PARTS[] = { &I011_290_LOP_VALUE, NULL }; static const AsterixField I011_290_LOP = { FIXED, 1, 0, 0, &hf_011_290_LOP, I011_290_LOP_PARTS, { NULL } }; static int hf_011_290_TRK; static int hf_011_290_TRK_VALUE; static const FieldPart I011_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_TRK_VALUE, NULL }; static const FieldPart *I011_290_TRK_PARTS[] = { &I011_290_TRK_VALUE, NULL }; static const AsterixField I011_290_TRK = { FIXED, 1, 0, 0, &hf_011_290_TRK, I011_290_TRK_PARTS, { NULL } }; static int hf_011_290_MUL; static int hf_011_290_MUL_VALUE; static const FieldPart I011_290_MUL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_290_MUL_VALUE, NULL }; static const FieldPart *I011_290_MUL_PARTS[] = { &I011_290_MUL_VALUE, NULL }; static const AsterixField I011_290_MUL = { FIXED, 1, 0, 0, &hf_011_290_MUL, I011_290_MUL_PARTS, { NULL } }; static const AsterixField I011_290 = { COMPOUND, 0, 0, 0, &hf_011_290, NULL, { &I011_290_PSR, &I011_290_SSR, &I011_290_MDA, &I011_290_MFL, &I011_290_MDS, &I011_290_ADS, &I011_290_ADB, &I011_290_MD1, &I011_290_MD2, &I011_290_LOP, &I011_290_TRK, &I011_290_MUL, NULL } }; static int hf_011_300; static int hf_011_300_VALUE; static const value_string valstr_011_300_VALUE[] = { { 0, "Flyco (follow me)" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Unknown" }, { 0, NULL } }; static const FieldPart I011_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_300_VALUE, NULL }; static const FieldPart *I011_300_PARTS[] = { &I011_300_VALUE, NULL }; static const AsterixField I011_300 = { FIXED, 1, 0, 0, &hf_011_300, I011_300_PARTS, { NULL } }; static int hf_011_310; static int hf_011_310_TRB; static const value_string valstr_011_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I011_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_011_310_TRB, NULL }; static int hf_011_310_MSG; static const value_string valstr_011_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "FOLLOW-ME operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I011_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_011_310_MSG, NULL }; static const FieldPart *I011_310_PARTS[] = { &I011_310_TRB, &I011_310_MSG, NULL }; static const AsterixField I011_310 = { FIXED, 1, 0, 0, &hf_011_310, I011_310_PARTS, { NULL } }; static int hf_011_380; static int hf_011_380_MB; static int hf_011_380_MB_VALUE; static const FieldPart I011_380_MB_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_011_380_MB_VALUE, NULL }; static const FieldPart *I011_380_MB_PARTS[] = { &I011_380_MB_VALUE, NULL }; static const AsterixField I011_380_MB = { REPETITIVE, 8, 1, 0, &hf_011_380_MB, I011_380_MB_PARTS, { NULL } }; static int hf_011_380_ADR; static int hf_011_380_ADR_VALUE; static const FieldPart I011_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_011_380_ADR_VALUE, NULL }; static const FieldPart *I011_380_ADR_PARTS[] = { &I011_380_ADR_VALUE, NULL }; static const AsterixField I011_380_ADR = { FIXED, 3, 0, 0, &hf_011_380_ADR, I011_380_ADR_PARTS, { NULL } }; static int hf_011_380_COMACAS; static int hf_011_380_COMACAS_COM; static const value_string valstr_011_380_COMACAS_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_COM = { 3, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_COM, NULL }; static int hf_011_380_COMACAS_STAT; static const value_string valstr_011_380_COMACAS_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "General Emergency" }, { 7, "Lifeguard / medical" }, { 8, "Minimum fuel" }, { 9, "No communications" }, { 10, "Unlawful interference" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_STAT = { 4, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_STAT, NULL }; static int hf_011_380_COMACAS_SSC; static const value_string valstr_011_380_COMACAS_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_SSC, NULL }; static int hf_011_380_COMACAS_ARC; static const value_string valstr_011_380_COMACAS_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_ARC, NULL }; static int hf_011_380_COMACAS_AIC; static const value_string valstr_011_380_COMACAS_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_AIC, NULL }; static int hf_011_380_COMACAS_B1A; static const FieldPart I011_380_COMACAS_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_011_380_COMACAS_B1A, NULL }; static int hf_011_380_COMACAS_B1B; static const FieldPart I011_380_COMACAS_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_011_380_COMACAS_B1B, NULL }; static int hf_011_380_COMACAS_AC; static const value_string valstr_011_380_COMACAS_AC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_AC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_AC, NULL }; static int hf_011_380_COMACAS_MN; static const value_string valstr_011_380_COMACAS_MN[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_MN = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_MN, NULL }; static int hf_011_380_COMACAS_DC; static const value_string valstr_011_380_COMACAS_DC[] = { { 0, "Yes" }, { 1, "No" }, { 0, NULL } }; static const FieldPart I011_380_COMACAS_DC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_COMACAS_DC, NULL }; static const FieldPart *I011_380_COMACAS_PARTS[] = { &I011_380_COMACAS_COM, &I011_380_COMACAS_STAT, &IXXX_1bit_spare, &I011_380_COMACAS_SSC, &I011_380_COMACAS_ARC, &I011_380_COMACAS_AIC, &I011_380_COMACAS_B1A, &I011_380_COMACAS_B1B, &I011_380_COMACAS_AC, &I011_380_COMACAS_MN, &I011_380_COMACAS_DC, &IXXX_5bit_spare, NULL }; static const AsterixField I011_380_COMACAS = { FIXED, 3, 0, 0, &hf_011_380_COMACAS, I011_380_COMACAS_PARTS, { NULL } }; static int hf_011_380_ACT; static int hf_011_380_ACT_VALUE; static const FieldPart I011_380_ACT_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_380_ACT_VALUE, NULL }; static const FieldPart *I011_380_ACT_PARTS[] = { &I011_380_ACT_VALUE, NULL }; static const AsterixField I011_380_ACT = { FIXED, 4, 0, 0, &hf_011_380_ACT, I011_380_ACT_PARTS, { NULL } }; static int hf_011_380_ECAT; static int hf_011_380_ECAT_VALUE; static const value_string valstr_011_380_ECAT_VALUE[] = { { 1, "Light aircraft <= 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I011_380_ECAT_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_380_ECAT_VALUE, NULL }; static const FieldPart *I011_380_ECAT_PARTS[] = { &I011_380_ECAT_VALUE, NULL }; static const AsterixField I011_380_ECAT = { FIXED, 1, 0, 0, &hf_011_380_ECAT, I011_380_ECAT_PARTS, { NULL } }; static int hf_011_380_AVTECH; static int hf_011_380_AVTECH_VDL; static const value_string valstr_011_380_AVTECH_VDL[] = { { 0, "VDL Mode 4 available" }, { 1, "VDL Mode 4 not available" }, { 0, NULL } }; static const FieldPart I011_380_AVTECH_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_AVTECH_VDL, NULL }; static int hf_011_380_AVTECH_MDS; static const value_string valstr_011_380_AVTECH_MDS[] = { { 0, "Mode S available" }, { 1, "Mode S not available" }, { 0, NULL } }; static const FieldPart I011_380_AVTECH_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_AVTECH_MDS, NULL }; static int hf_011_380_AVTECH_UAT; static const value_string valstr_011_380_AVTECH_UAT[] = { { 0, "UAT available" }, { 1, "UAT not available" }, { 0, NULL } }; static const FieldPart I011_380_AVTECH_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_AVTECH_UAT, NULL }; static const FieldPart *I011_380_AVTECH_PARTS[] = { &I011_380_AVTECH_VDL, &I011_380_AVTECH_MDS, &I011_380_AVTECH_UAT, &IXXX_5bit_spare, NULL }; static const AsterixField I011_380_AVTECH = { FIXED, 1, 0, 0, &hf_011_380_AVTECH, I011_380_AVTECH_PARTS, { NULL } }; static const AsterixField I011_380 = { COMPOUND, 0, 0, 0, &hf_011_380, NULL, { &I011_380_MB, &I011_380_ADR, &IX_SPARE, &I011_380_COMACAS, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I011_380_ACT, &I011_380_ECAT, &IX_SPARE, &I011_380_AVTECH, NULL } }; static int hf_011_390; static int hf_011_390_FPPSID; static int hf_011_390_FPPSID_SAC; static const FieldPart I011_390_FPPSID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_011_390_FPPSID_SAC, NULL }; static int hf_011_390_FPPSID_SIC; static const FieldPart I011_390_FPPSID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_011_390_FPPSID_SIC, NULL }; static const FieldPart *I011_390_FPPSID_PARTS[] = { &I011_390_FPPSID_SAC, &I011_390_FPPSID_SIC, NULL }; static const AsterixField I011_390_FPPSID = { FIXED, 2, 0, 0, &hf_011_390_FPPSID, I011_390_FPPSID_PARTS, { NULL } }; static int hf_011_390_CSN; static int hf_011_390_CSN_VALUE; static const FieldPart I011_390_CSN_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_011_390_CSN_VALUE, NULL }; static const FieldPart *I011_390_CSN_PARTS[] = { &I011_390_CSN_VALUE, NULL }; static const AsterixField I011_390_CSN = { FIXED, 7, 0, 0, &hf_011_390_CSN, I011_390_CSN_PARTS, { NULL } }; static int hf_011_390_IFPSFLIGHTID; static int hf_011_390_IFPSFLIGHTID_TYP; static const value_string valstr_011_390_IFPSFLIGHTID_TYP[] = { { 0, "Plan number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I011_390_IFPSFLIGHTID_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_IFPSFLIGHTID_TYP, NULL }; static int hf_011_390_IFPSFLIGHTID_NBR; static const FieldPart I011_390_IFPSFLIGHTID_NBR = { 27, 1.0, FIELD_PART_HEX, &hf_011_390_IFPSFLIGHTID_NBR, NULL }; static const FieldPart *I011_390_IFPSFLIGHTID_PARTS[] = { &I011_390_IFPSFLIGHTID_TYP, &IXXX_3bit_spare, &I011_390_IFPSFLIGHTID_NBR, NULL }; static const AsterixField I011_390_IFPSFLIGHTID = { FIXED, 4, 0, 0, &hf_011_390_IFPSFLIGHTID, I011_390_IFPSFLIGHTID_PARTS, { NULL } }; static int hf_011_390_FLIGHTCAT; static int hf_011_390_FLIGHTCAT_GATOAT; static const value_string valstr_011_390_FLIGHTCAT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I011_390_FLIGHTCAT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_FLIGHTCAT_GATOAT, NULL }; static int hf_011_390_FLIGHTCAT_FR1FR2; static const value_string valstr_011_390_FLIGHTCAT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight Rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I011_390_FLIGHTCAT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_FLIGHTCAT_FR1FR2, NULL }; static int hf_011_390_FLIGHTCAT_RVSM; static const value_string valstr_011_390_FLIGHTCAT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I011_390_FLIGHTCAT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_FLIGHTCAT_RVSM, NULL }; static int hf_011_390_FLIGHTCAT_HPR; static const value_string valstr_011_390_FLIGHTCAT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I011_390_FLIGHTCAT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_011_390_FLIGHTCAT_HPR, NULL }; static const FieldPart *I011_390_FLIGHTCAT_PARTS[] = { &I011_390_FLIGHTCAT_GATOAT, &I011_390_FLIGHTCAT_FR1FR2, &I011_390_FLIGHTCAT_RVSM, &I011_390_FLIGHTCAT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I011_390_FLIGHTCAT = { FIXED, 1, 0, 0, &hf_011_390_FLIGHTCAT, I011_390_FLIGHTCAT_PARTS, { NULL } }; static int hf_011_390_TOA; static int hf_011_390_TOA_VALUE; static const FieldPart I011_390_TOA_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_390_TOA_VALUE, NULL }; static const FieldPart *I011_390_TOA_PARTS[] = { &I011_390_TOA_VALUE, NULL }; static const AsterixField I011_390_TOA = { FIXED, 4, 0, 0, &hf_011_390_TOA, I011_390_TOA_PARTS, { NULL } }; static int hf_011_390_WTC; static int hf_011_390_WTC_VALUE; static const value_string valstr_011_390_WTC_VALUE[] = { { 76, "Light" }, { 77, "Medium" }, { 72, "Heavy" }, { 74, "Super" }, { 0, NULL } }; static const FieldPart I011_390_WTC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_390_WTC_VALUE, NULL }; static const FieldPart *I011_390_WTC_PARTS[] = { &I011_390_WTC_VALUE, NULL }; static const AsterixField I011_390_WTC = { FIXED, 1, 0, 0, &hf_011_390_WTC, I011_390_WTC_PARTS, { NULL } }; static int hf_011_390_ADEP; static int hf_011_390_ADEP_VALUE; static const FieldPart I011_390_ADEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_390_ADEP_VALUE, NULL }; static const FieldPart *I011_390_ADEP_PARTS[] = { &I011_390_ADEP_VALUE, NULL }; static const AsterixField I011_390_ADEP = { FIXED, 4, 0, 0, &hf_011_390_ADEP, I011_390_ADEP_PARTS, { NULL } }; static int hf_011_390_ADES; static int hf_011_390_ADES_VALUE; static const FieldPart I011_390_ADES_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_011_390_ADES_VALUE, NULL }; static const FieldPart *I011_390_ADES_PARTS[] = { &I011_390_ADES_VALUE, NULL }; static const AsterixField I011_390_ADES = { FIXED, 4, 0, 0, &hf_011_390_ADES, I011_390_ADES_PARTS, { NULL } }; static int hf_011_390_RWY; static int hf_011_390_RWY_VALUE; static const FieldPart I011_390_RWY_VALUE = { 24, 1.0, FIELD_PART_ASCII, &hf_011_390_RWY_VALUE, NULL }; static const FieldPart *I011_390_RWY_PARTS[] = { &I011_390_RWY_VALUE, NULL }; static const AsterixField I011_390_RWY = { FIXED, 3, 0, 0, &hf_011_390_RWY, I011_390_RWY_PARTS, { NULL } }; static int hf_011_390_CFL; static int hf_011_390_CFL_VALUE; static const FieldPart I011_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_011_390_CFL_VALUE, NULL }; static const FieldPart *I011_390_CFL_PARTS[] = { &I011_390_CFL_VALUE, NULL }; static const AsterixField I011_390_CFL = { FIXED, 2, 0, 0, &hf_011_390_CFL, I011_390_CFL_PARTS, { NULL } }; static int hf_011_390_CCP; static int hf_011_390_CCP_CENTRE; static const FieldPart I011_390_CCP_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_011_390_CCP_CENTRE, NULL }; static int hf_011_390_CCP_POSITION; static const FieldPart I011_390_CCP_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_011_390_CCP_POSITION, NULL }; static const FieldPart *I011_390_CCP_PARTS[] = { &I011_390_CCP_CENTRE, &I011_390_CCP_POSITION, NULL }; static const AsterixField I011_390_CCP = { FIXED, 2, 0, 0, &hf_011_390_CCP, I011_390_CCP_PARTS, { NULL } }; static int hf_011_390_TOD; static int hf_011_390_TOD_TYP; static const value_string valstr_011_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I011_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_011_390_TOD_TYP, NULL }; static int hf_011_390_TOD_DAY; static const value_string valstr_011_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 0, NULL } }; static const FieldPart I011_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_TOD_DAY, NULL }; static int hf_011_390_TOD_HOR; static const FieldPart I011_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_011_390_TOD_HOR, NULL }; static int hf_011_390_TOD_MIN; static const FieldPart I011_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_011_390_TOD_MIN, NULL }; static int hf_011_390_TOD_AVS; static const value_string valstr_011_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I011_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_011_390_TOD_AVS, NULL }; static int hf_011_390_TOD_SEC; static const FieldPart I011_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_011_390_TOD_SEC, NULL }; static const FieldPart *I011_390_TOD_PARTS[] = { &I011_390_TOD_TYP, &I011_390_TOD_DAY, &IXXX_4bit_spare, &I011_390_TOD_HOR, &IXXX_2bit_spare, &I011_390_TOD_MIN, &I011_390_TOD_AVS, &IXXX_1bit_spare, &I011_390_TOD_SEC, NULL }; static const AsterixField I011_390_TOD = { REPETITIVE, 4, 1, 0, &hf_011_390_TOD, I011_390_TOD_PARTS, { NULL } }; static int hf_011_390_AST; static int hf_011_390_AST_VALUE; static const FieldPart I011_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_011_390_AST_VALUE, NULL }; static const FieldPart *I011_390_AST_PARTS[] = { &I011_390_AST_VALUE, NULL }; static const AsterixField I011_390_AST = { FIXED, 6, 0, 0, &hf_011_390_AST, I011_390_AST_PARTS, { NULL } }; static int hf_011_390_STS; static int hf_011_390_STS_EMP; static const value_string valstr_011_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 0, NULL } }; static const FieldPart I011_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_STS_EMP, NULL }; static int hf_011_390_STS_AVL; static const value_string valstr_011_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 0, NULL } }; static const FieldPart I011_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_STS_AVL, NULL }; static const FieldPart *I011_390_STS_PARTS[] = { &I011_390_STS_EMP, &I011_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I011_390_STS = { FIXED, 1, 0, 0, &hf_011_390_STS, I011_390_STS_PARTS, { NULL } }; static const AsterixField I011_390 = { COMPOUND, 0, 0, 0, &hf_011_390, NULL, { &I011_390_FPPSID, &I011_390_CSN, &I011_390_IFPSFLIGHTID, &I011_390_FLIGHTCAT, &I011_390_TOA, &I011_390_WTC, &I011_390_ADEP, &I011_390_ADES, &I011_390_RWY, &I011_390_CFL, &I011_390_CCP, &I011_390_TOD, &I011_390_AST, &I011_390_STS, NULL } }; static int hf_011_430; static int hf_011_430_VALUE; static const value_string valstr_011_430_VALUE[] = { { 0, "Unknown" }, { 1, "On stand" }, { 2, "Taxiing for departure" }, { 3, "Taxiing for arrival" }, { 4, "Runway for departure" }, { 5, "Runway for arrival" }, { 6, "Hold for departure" }, { 7, "Hold for arrival" }, { 8, "Push back" }, { 9, "On finals" }, { 0, NULL } }; static const FieldPart I011_430_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_011_430_VALUE, NULL }; static const FieldPart *I011_430_PARTS[] = { &I011_430_VALUE, NULL }; static const AsterixField I011_430 = { FIXED, 1, 0, 0, &hf_011_430, I011_430_PARTS, { NULL } }; static int hf_011_500; static int hf_011_500_APC; static int hf_011_500_APC_X; static const FieldPart I011_500_APC_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_500_APC_X, NULL }; static int hf_011_500_APC_Y; static const FieldPart I011_500_APC_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_500_APC_Y, NULL }; static const FieldPart *I011_500_APC_PARTS[] = { &I011_500_APC_X, &I011_500_APC_Y, NULL }; static const AsterixField I011_500_APC = { FIXED, 2, 0, 0, &hf_011_500_APC, I011_500_APC_PARTS, { NULL } }; static int hf_011_500_APW; static int hf_011_500_APW_LAT; static const FieldPart I011_500_APW_LAT = { 16, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_500_APW_LAT, NULL }; static int hf_011_500_APW_LON; static const FieldPart I011_500_APW_LON = { 16, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_011_500_APW_LON, NULL }; static const FieldPart *I011_500_APW_PARTS[] = { &I011_500_APW_LAT, &I011_500_APW_LON, NULL }; static const AsterixField I011_500_APW = { FIXED, 4, 0, 0, &hf_011_500_APW, I011_500_APW_PARTS, { NULL } }; static int hf_011_500_ATH; static int hf_011_500_ATH_VALUE; static const FieldPart I011_500_ATH_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_011_500_ATH_VALUE, NULL }; static const FieldPart *I011_500_ATH_PARTS[] = { &I011_500_ATH_VALUE, NULL }; static const AsterixField I011_500_ATH = { FIXED, 2, 0, 0, &hf_011_500_ATH, I011_500_ATH_PARTS, { NULL } }; static int hf_011_500_AVC; static int hf_011_500_AVC_X; static const FieldPart I011_500_AVC_X = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_500_AVC_X, NULL }; static int hf_011_500_AVC_Y; static const FieldPart I011_500_AVC_Y = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_500_AVC_Y, NULL }; static const FieldPart *I011_500_AVC_PARTS[] = { &I011_500_AVC_X, &I011_500_AVC_Y, NULL }; static const AsterixField I011_500_AVC = { FIXED, 2, 0, 0, &hf_011_500_AVC, I011_500_AVC_PARTS, { NULL } }; static int hf_011_500_ARC; static int hf_011_500_ARC_VALUE; static const FieldPart I011_500_ARC_VALUE = { 16, 0.1, FIELD_PART_FLOAT, &hf_011_500_ARC_VALUE, NULL }; static const FieldPart *I011_500_ARC_PARTS[] = { &I011_500_ARC_VALUE, NULL }; static const AsterixField I011_500_ARC = { FIXED, 2, 0, 0, &hf_011_500_ARC, I011_500_ARC_PARTS, { NULL } }; static int hf_011_500_AAC; static int hf_011_500_AAC_X; static const FieldPart I011_500_AAC_X = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_500_AAC_X, NULL }; static int hf_011_500_AAC_Y; static const FieldPart I011_500_AAC_Y = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_500_AAC_Y, NULL }; static const FieldPart *I011_500_AAC_PARTS[] = { &I011_500_AAC_X, &I011_500_AAC_Y, NULL }; static const AsterixField I011_500_AAC = { FIXED, 2, 0, 0, &hf_011_500_AAC, I011_500_AAC_PARTS, { NULL } }; static const AsterixField I011_500 = { COMPOUND, 0, 0, 0, &hf_011_500, NULL, { &I011_500_APC, &I011_500_APW, &I011_500_ATH, &I011_500_AVC, &I011_500_ARC, &I011_500_AAC, NULL } }; static int hf_011_600; static int hf_011_600_ACK; static const value_string valstr_011_600_ACK[] = { { 0, "Alert acknowledged" }, { 1, "Alert not acknowledged" }, { 0, NULL } }; static const FieldPart I011_600_ACK = { 1, 1.0, FIELD_PART_UINT, &hf_011_600_ACK, NULL }; static int hf_011_600_SVR; static const value_string valstr_011_600_SVR[] = { { 0, "End fo alert" }, { 1, "Pre-alarm" }, { 2, "Severe alert" }, { 0, NULL } }; static const FieldPart I011_600_SVR = { 2, 1.0, FIELD_PART_UINT, &hf_011_600_SVR, NULL }; static int hf_011_600_AT; static const FieldPart I011_600_AT = { 8, 1.0, FIELD_PART_HEX, &hf_011_600_AT, NULL }; static int hf_011_600_AN; static const FieldPart I011_600_AN = { 8, 1.0, FIELD_PART_HEX, &hf_011_600_AN, NULL }; static const FieldPart *I011_600_PARTS[] = { &I011_600_ACK, &I011_600_SVR, &IXXX_5bit_spare, &I011_600_AT, &I011_600_AN, NULL }; static const AsterixField I011_600 = { FIXED, 3, 0, 0, &hf_011_600, I011_600_PARTS, { NULL } }; static int hf_011_605; static int hf_011_605_FTN; static const FieldPart I011_605_FTN = { 12, 1.0, FIELD_PART_HEX, &hf_011_605_FTN, NULL }; static const FieldPart *I011_605_PARTS[] = { &IXXX_4bit_spare, &I011_605_FTN, NULL }; static const AsterixField I011_605 = { REPETITIVE, 2, 1, 0, &hf_011_605, I011_605_PARTS, { NULL } }; static int hf_011_610; static int hf_011_610_BKN; static const FieldPart I011_610_BKN = { 4, 1.0, FIELD_PART_HEX, &hf_011_610_BKN, NULL }; static int hf_011_610_I1; static const value_string valstr_011_610_I1[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I1 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I1, NULL }; static int hf_011_610_I2; static const value_string valstr_011_610_I2[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I2 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I2, NULL }; static int hf_011_610_I3; static const value_string valstr_011_610_I3[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I3 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I3, NULL }; static int hf_011_610_I4; static const value_string valstr_011_610_I4[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I4 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I4, NULL }; static int hf_011_610_I5; static const value_string valstr_011_610_I5[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I5 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I5, NULL }; static int hf_011_610_I6; static const value_string valstr_011_610_I6[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I6 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I6, NULL }; static int hf_011_610_I7; static const value_string valstr_011_610_I7[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I7 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I7, NULL }; static int hf_011_610_I8; static const value_string valstr_011_610_I8[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I8 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I8, NULL }; static int hf_011_610_I9; static const value_string valstr_011_610_I9[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I9 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I9, NULL }; static int hf_011_610_I10; static const value_string valstr_011_610_I10[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I10 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I10, NULL }; static int hf_011_610_I11; static const value_string valstr_011_610_I11[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I11 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I11, NULL }; static int hf_011_610_I12; static const value_string valstr_011_610_I12[] = { { 0, "Indicator on" }, { 1, "Indicator off" }, { 0, NULL } }; static const FieldPart I011_610_I12 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I12, NULL }; static const FieldPart *I011_610_PARTS[] = { &I011_610_BKN, &I011_610_I1, &I011_610_I2, &I011_610_I3, &I011_610_I4, &I011_610_I5, &I011_610_I6, &I011_610_I7, &I011_610_I8, &I011_610_I9, &I011_610_I10, &I011_610_I11, &I011_610_I12, NULL }; static const AsterixField I011_610 = { REPETITIVE, 2, 1, 0, &hf_011_610, I011_610_PARTS, { NULL } }; static int hf_011_SP; static const AsterixField I011_SP = { EXP, 0, 0, 1, &hf_011_SP, NULL, { NULL } }; static int hf_011_RE; static const AsterixField I011_RE = { EXP, 0, 0, 1, &hf_011_RE, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I011_V1_3_uap[] = { &I011_V1_3_010, &I011_V1_3_000, &I011_V1_3_015, &I011_V1_3_140, &I011_V1_3_041, &I011_V1_3_042, &I011_V1_3_202, &I011_V1_3_210, &I011_V1_3_060, &I011_V1_3_245, &I011_V1_3_380, &I011_V1_3_161, &I011_V1_3_170, &I011_V1_3_290, &I011_V1_3_430, &I011_V1_3_090, &I011_V1_3_093, &I011_V1_3_092, &I011_V1_3_215, &I011_V1_3_270, &I011_V1_3_390, &I011_V1_3_300, &I011_V1_3_310, &I011_V1_3_500, &I011_V1_3_600, &I011_V1_3_605, &I011_V1_3_610, &I011_V1_3_SP, &I011_V1_3_RE, NULL }; static const AsterixField **I011_V1_3[] = { I011_V1_3_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I011_uap[] = { &I011_010, &I011_000, &I011_015, &I011_140, &I011_041, &I011_042, &I011_202, &I011_210, &I011_060, &I011_245, &I011_380, &I011_161, &I011_170, &I011_290, &I011_430, &I011_090, &I011_093, &I011_092, &I011_215, &I011_270, &I011_390, &I011_300, &I011_310, &I011_500, &I011_600, &I011_605, &I011_610, &I011_SP, &I011_RE, NULL }; static const AsterixField **I011[] = { I011_uap, NULL }; DIAG_ON_PEDANTIC /* Category 015, edition 1.0 */ static int hf_015_V1_0_000; static int hf_015_V1_0_000_MT; static const value_string valstr_015_V1_0_000_MT[] = { { 1, "Measurement Plot" }, { 2, "Measurement Track" }, { 3, "Sensor Centric Plot" }, { 4, "Sensor Centric Track" }, { 5, "Track End Message" }, { 0, NULL } }; static const FieldPart I015_V1_0_000_MT = { 7, 1.0, FIELD_PART_UINT, &hf_015_V1_0_000_MT, NULL }; static int hf_015_V1_0_000_RG; static const value_string valstr_015_V1_0_000_RG[] = { { 0, "Periodic Report" }, { 1, "Event Driven Report" }, { 0, NULL } }; static const FieldPart I015_V1_0_000_RG = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_0_000_RG, NULL }; static const FieldPart *I015_V1_0_000_PARTS[] = { &I015_V1_0_000_MT, &I015_V1_0_000_RG, NULL }; static const AsterixField I015_V1_0_000 = { FIXED, 1, 0, 0, &hf_015_V1_0_000, I015_V1_0_000_PARTS, { NULL } }; static int hf_015_V1_0_010; static int hf_015_V1_0_010_SAC; static const FieldPart I015_V1_0_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_015_V1_0_010_SAC, NULL }; static int hf_015_V1_0_010_SIC; static const FieldPart I015_V1_0_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_015_V1_0_010_SIC, NULL }; static const FieldPart *I015_V1_0_010_PARTS[] = { &I015_V1_0_010_SAC, &I015_V1_0_010_SIC, NULL }; static const AsterixField I015_V1_0_010 = { FIXED, 2, 0, 0, &hf_015_V1_0_010, I015_V1_0_010_PARTS, { NULL } }; static int hf_015_V1_0_015; static int hf_015_V1_0_015_VALUE; static const FieldPart I015_V1_0_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_015_V1_0_015_VALUE, NULL }; static const FieldPart *I015_V1_0_015_PARTS[] = { &I015_V1_0_015_VALUE, NULL }; static const AsterixField I015_V1_0_015 = { FIXED, 1, 0, 0, &hf_015_V1_0_015, I015_V1_0_015_PARTS, { NULL } }; static int hf_015_V1_0_020; static int hf_015_V1_0_020_MOMU; static const value_string valstr_015_V1_0_020_MOMU[] = { { 0, "Mono-Static Sensor" }, { 1, "Multi-Static Sensor" }, { 2, "Other" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I015_V1_0_020_MOMU = { 2, 1.0, FIELD_PART_UINT, &hf_015_V1_0_020_MOMU, NULL }; static int hf_015_V1_0_020_TTAX; static const value_string valstr_015_V1_0_020_TTAX[] = { { 0, "Actual Target Report" }, { 1, "Reference Target" }, { 2, "Synthetic Target" }, { 3, "Simulated / Replayed Target" }, { 0, NULL } }; static const FieldPart I015_V1_0_020_TTAX = { 2, 1.0, FIELD_PART_UINT, &hf_015_V1_0_020_TTAX, NULL }; static int hf_015_V1_0_020_SCD; static const value_string valstr_015_V1_0_020_SCD[] = { { 0, "Unknown" }, { 1, "Forward" }, { 2, "Backward" }, { 3, "Static" }, { 0, NULL } }; static const FieldPart I015_V1_0_020_SCD = { 2, 1.0, FIELD_PART_UINT, &hf_015_V1_0_020_SCD, NULL }; static const FieldPart *I015_V1_0_020_PARTS[] = { &I015_V1_0_020_MOMU, &I015_V1_0_020_TTAX, &I015_V1_0_020_SCD, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I015_V1_0_020 = { FX, 1, 0, 0, &hf_015_V1_0_020, I015_V1_0_020_PARTS, { NULL } }; static int hf_015_V1_0_030; static int hf_015_V1_0_030_Subitem; static const FieldPart I015_V1_0_030_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_015_V1_0_030_Subitem, NULL }; static const FieldPart *I015_V1_0_030_PARTS[] = { &I015_V1_0_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I015_V1_0_030 = { FX, 1, 0, 0, &hf_015_V1_0_030, I015_V1_0_030_PARTS, { NULL } }; static int hf_015_V1_0_050; static int hf_015_V1_0_050_UPD; static const FieldPart I015_V1_0_050_UPD = { 14, 0.0078125, FIELD_PART_UFLOAT, &hf_015_V1_0_050_UPD, NULL }; static const FieldPart *I015_V1_0_050_PARTS[] = { &IXXX_2bit_spare, &I015_V1_0_050_UPD, NULL }; static const AsterixField I015_V1_0_050 = { FIXED, 2, 0, 0, &hf_015_V1_0_050, I015_V1_0_050_PARTS, { NULL } }; static int hf_015_V1_0_145; static int hf_015_V1_0_145_VALUE; static const FieldPart I015_V1_0_145_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_015_V1_0_145_VALUE, NULL }; static const FieldPart *I015_V1_0_145_PARTS[] = { &I015_V1_0_145_VALUE, NULL }; static const AsterixField I015_V1_0_145 = { FIXED, 3, 0, 0, &hf_015_V1_0_145, I015_V1_0_145_PARTS, { NULL } }; static int hf_015_V1_0_161; static int hf_015_V1_0_161_VALUE; static const FieldPart I015_V1_0_161_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_015_V1_0_161_VALUE, NULL }; static const FieldPart *I015_V1_0_161_PARTS[] = { &I015_V1_0_161_VALUE, NULL }; static const AsterixField I015_V1_0_161 = { FIXED, 2, 0, 0, &hf_015_V1_0_161, I015_V1_0_161_PARTS, { NULL } }; static int hf_015_V1_0_170; static int hf_015_V1_0_170_BIZ; static const value_string valstr_015_V1_0_170_BIZ[] = { { 0, "Target not in Blind Zone" }, { 1, "Target in Blind Zone" }, { 0, NULL } }; static const FieldPart I015_V1_0_170_BIZ = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_0_170_BIZ, NULL }; static int hf_015_V1_0_170_BAZ; static const value_string valstr_015_V1_0_170_BAZ[] = { { 0, "Target not in Blanked Zone" }, { 1, "Target in Blanked Zone" }, { 0, NULL } }; static const FieldPart I015_V1_0_170_BAZ = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_0_170_BAZ, NULL }; static int hf_015_V1_0_170_TUR; static const value_string valstr_015_V1_0_170_TUR[] = { { 0, "Track Alive" }, { 1, "Track Terminated by User Request" }, { 0, NULL } }; static const FieldPart I015_V1_0_170_TUR = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_0_170_TUR, NULL }; static int hf_015_V1_0_170_CSTP; static const value_string valstr_015_V1_0_170_CSTP[] = { { 0, "Not extrapolated" }, { 1, "Extrapolated" }, { 0, NULL } }; static const FieldPart I015_V1_0_170_CSTP = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_0_170_CSTP, NULL }; static int hf_015_V1_0_170_CSTH; static const value_string valstr_015_V1_0_170_CSTH[] = { { 0, "Not extrapolated" }, { 1, "Extrapolated" }, { 0, NULL } }; static const FieldPart I015_V1_0_170_CSTH = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_0_170_CSTH, NULL }; static int hf_015_V1_0_170_CNF; static const value_string valstr_015_V1_0_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I015_V1_0_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_0_170_CNF, NULL }; static const FieldPart *I015_V1_0_170_PARTS[] = { &I015_V1_0_170_BIZ, &I015_V1_0_170_BAZ, &I015_V1_0_170_TUR, &IXXX_1bit_spare, &I015_V1_0_170_CSTP, &I015_V1_0_170_CSTH, &I015_V1_0_170_CNF, &IXXX_FX, NULL }; static const AsterixField I015_V1_0_170 = { FX, 1, 0, 0, &hf_015_V1_0_170, I015_V1_0_170_PARTS, { NULL } }; static int hf_015_V1_0_270; static int hf_015_V1_0_270_LEN; static int hf_015_V1_0_270_LEN_VALUE; static const FieldPart I015_V1_0_270_LEN_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_270_LEN_VALUE, NULL }; static const FieldPart *I015_V1_0_270_LEN_PARTS[] = { &I015_V1_0_270_LEN_VALUE, NULL }; static const AsterixField I015_V1_0_270_LEN = { FIXED, 2, 0, 0, &hf_015_V1_0_270_LEN, I015_V1_0_270_LEN_PARTS, { NULL } }; static int hf_015_V1_0_270_WDT; static int hf_015_V1_0_270_WDT_VALUE; static const FieldPart I015_V1_0_270_WDT_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_270_WDT_VALUE, NULL }; static const FieldPart *I015_V1_0_270_WDT_PARTS[] = { &I015_V1_0_270_WDT_VALUE, NULL }; static const AsterixField I015_V1_0_270_WDT = { FIXED, 2, 0, 0, &hf_015_V1_0_270_WDT, I015_V1_0_270_WDT_PARTS, { NULL } }; static int hf_015_V1_0_270_HGT; static int hf_015_V1_0_270_HGT_VALUE; static const FieldPart I015_V1_0_270_HGT_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_270_HGT_VALUE, NULL }; static const FieldPart *I015_V1_0_270_HGT_PARTS[] = { &I015_V1_0_270_HGT_VALUE, NULL }; static const AsterixField I015_V1_0_270_HGT = { FIXED, 2, 0, 0, &hf_015_V1_0_270_HGT, I015_V1_0_270_HGT_PARTS, { NULL } }; static int hf_015_V1_0_270_ORT; static int hf_015_V1_0_270_ORT_VALUE; static const FieldPart I015_V1_0_270_ORT_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_0_270_ORT_VALUE, NULL }; static const FieldPart *I015_V1_0_270_ORT_PARTS[] = { &I015_V1_0_270_ORT_VALUE, NULL }; static const AsterixField I015_V1_0_270_ORT = { FIXED, 2, 0, 0, &hf_015_V1_0_270_ORT, I015_V1_0_270_ORT_PARTS, { NULL } }; static const AsterixField I015_V1_0_270 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_270, NULL, { &I015_V1_0_270_LEN, &I015_V1_0_270_WDT, &I015_V1_0_270_HGT, &I015_V1_0_270_ORT, NULL } }; static int hf_015_V1_0_300; static int hf_015_V1_0_300_CLS; static const FieldPart I015_V1_0_300_CLS = { 9, 1.0, FIELD_PART_UINT, &hf_015_V1_0_300_CLS, NULL }; static int hf_015_V1_0_300_PRB; static const FieldPart I015_V1_0_300_PRB = { 7, 1.0, FIELD_PART_UINT, &hf_015_V1_0_300_PRB, NULL }; static const FieldPart *I015_V1_0_300_PARTS[] = { &I015_V1_0_300_CLS, &I015_V1_0_300_PRB, NULL }; static const AsterixField I015_V1_0_300 = { REPETITIVE, 2, 1, 0, &hf_015_V1_0_300, I015_V1_0_300_PARTS, { NULL } }; static int hf_015_V1_0_400; static int hf_015_V1_0_400_PID; static const FieldPart I015_V1_0_400_PID = { 16, 1.0, FIELD_PART_UINT, &hf_015_V1_0_400_PID, NULL }; static int hf_015_V1_0_400_ON; static const FieldPart I015_V1_0_400_ON = { 24, 1.0, FIELD_PART_UINT, &hf_015_V1_0_400_ON, NULL }; static const FieldPart *I015_V1_0_400_PARTS[] = { &I015_V1_0_400_PID, &I015_V1_0_400_ON, NULL }; static const AsterixField I015_V1_0_400 = { FIXED, 5, 0, 0, &hf_015_V1_0_400, I015_V1_0_400_PARTS, { NULL } }; static int hf_015_V1_0_480; static int hf_015_V1_0_480_VALUE; static const FieldPart I015_V1_0_480_VALUE = { 40, 1.0, FIELD_PART_HEX, &hf_015_V1_0_480_VALUE, NULL }; static const FieldPart *I015_V1_0_480_PARTS[] = { &I015_V1_0_480_VALUE, NULL }; static const AsterixField I015_V1_0_480 = { REPETITIVE, 5, 1, 0, &hf_015_V1_0_480, I015_V1_0_480_PARTS, { NULL } }; static int hf_015_V1_0_600; static int hf_015_V1_0_600_P84; static int hf_015_V1_0_600_P84_LATITUDE; static const FieldPart I015_V1_0_600_P84_LATITUDE = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_015_V1_0_600_P84_LATITUDE, NULL }; static int hf_015_V1_0_600_P84_LONGITUDE; static const FieldPart I015_V1_0_600_P84_LONGITUDE = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_015_V1_0_600_P84_LONGITUDE, NULL }; static const FieldPart *I015_V1_0_600_P84_PARTS[] = { &I015_V1_0_600_P84_LATITUDE, &I015_V1_0_600_P84_LONGITUDE, NULL }; static const AsterixField I015_V1_0_600_P84 = { FIXED, 8, 0, 0, &hf_015_V1_0_600_P84, I015_V1_0_600_P84_PARTS, { NULL } }; static int hf_015_V1_0_600_HPR; static int hf_015_V1_0_600_HPR_RSHPX; static const FieldPart I015_V1_0_600_HPR_RSHPX = { 16, 0.5, FIELD_PART_UFLOAT, &hf_015_V1_0_600_HPR_RSHPX, NULL }; static int hf_015_V1_0_600_HPR_RSHPY; static const FieldPart I015_V1_0_600_HPR_RSHPY = { 16, 0.5, FIELD_PART_UFLOAT, &hf_015_V1_0_600_HPR_RSHPY, NULL }; static int hf_015_V1_0_600_HPR_CORSHPXY; static const FieldPart I015_V1_0_600_HPR_CORSHPXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_600_HPR_CORSHPXY, NULL }; static const FieldPart *I015_V1_0_600_HPR_PARTS[] = { &I015_V1_0_600_HPR_RSHPX, &I015_V1_0_600_HPR_RSHPY, &I015_V1_0_600_HPR_CORSHPXY, NULL }; static const AsterixField I015_V1_0_600_HPR = { FIXED, 5, 0, 0, &hf_015_V1_0_600_HPR, I015_V1_0_600_HPR_PARTS, { NULL } }; static int hf_015_V1_0_600_HPP; static int hf_015_V1_0_600_HPP_SDHPX; static const FieldPart I015_V1_0_600_HPP_SDHPX = { 16, 0.25, FIELD_PART_UFLOAT, &hf_015_V1_0_600_HPP_SDHPX, NULL }; static int hf_015_V1_0_600_HPP_SDHPY; static const FieldPart I015_V1_0_600_HPP_SDHPY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_015_V1_0_600_HPP_SDHPY, NULL }; static int hf_015_V1_0_600_HPP_COSDHPXY; static const FieldPart I015_V1_0_600_HPP_COSDHPXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_600_HPP_COSDHPXY, NULL }; static const FieldPart *I015_V1_0_600_HPP_PARTS[] = { &I015_V1_0_600_HPP_SDHPX, &I015_V1_0_600_HPP_SDHPY, &I015_V1_0_600_HPP_COSDHPXY, NULL }; static const AsterixField I015_V1_0_600_HPP = { FIXED, 5, 0, 0, &hf_015_V1_0_600_HPP, I015_V1_0_600_HPP_PARTS, { NULL } }; static const AsterixField I015_V1_0_600 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_600, NULL, { &I015_V1_0_600_P84, &I015_V1_0_600_HPR, &I015_V1_0_600_HPP, NULL } }; static int hf_015_V1_0_601; static int hf_015_V1_0_601_GH; static int hf_015_V1_0_601_GH_VALUE; static const FieldPart I015_V1_0_601_GH_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_V1_0_601_GH_VALUE, NULL }; static const FieldPart *I015_V1_0_601_GH_PARTS[] = { &I015_V1_0_601_GH_VALUE, NULL }; static const AsterixField I015_V1_0_601_GH = { FIXED, 3, 0, 0, &hf_015_V1_0_601_GH, I015_V1_0_601_GH_PARTS, { NULL } }; static int hf_015_V1_0_601_RSGH; static int hf_015_V1_0_601_RSGH_VALUE; static const FieldPart I015_V1_0_601_RSGH_VALUE = { 24, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_601_RSGH_VALUE, NULL }; static const FieldPart *I015_V1_0_601_RSGH_PARTS[] = { &I015_V1_0_601_RSGH_VALUE, NULL }; static const AsterixField I015_V1_0_601_RSGH = { FIXED, 3, 0, 0, &hf_015_V1_0_601_RSGH, I015_V1_0_601_RSGH_PARTS, { NULL } }; static int hf_015_V1_0_601_SDGH; static int hf_015_V1_0_601_SDGH_VALUE; static const FieldPart I015_V1_0_601_SDGH_VALUE = { 24, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_601_SDGH_VALUE, NULL }; static const FieldPart *I015_V1_0_601_SDGH_PARTS[] = { &I015_V1_0_601_SDGH_VALUE, NULL }; static const AsterixField I015_V1_0_601_SDGH = { FIXED, 3, 0, 0, &hf_015_V1_0_601_SDGH, I015_V1_0_601_SDGH_PARTS, { NULL } }; static int hf_015_V1_0_601_CI6; static int hf_015_V1_0_601_CI6_UCI6; static const FieldPart I015_V1_0_601_CI6_UCI6 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_0_601_CI6_UCI6, NULL }; static int hf_015_V1_0_601_CI6_LCI6; static const FieldPart I015_V1_0_601_CI6_LCI6 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_0_601_CI6_LCI6, NULL }; static const FieldPart *I015_V1_0_601_CI6_PARTS[] = { &I015_V1_0_601_CI6_UCI6, &I015_V1_0_601_CI6_LCI6, NULL }; static const AsterixField I015_V1_0_601_CI6 = { FIXED, 3, 0, 0, &hf_015_V1_0_601_CI6, I015_V1_0_601_CI6_PARTS, { NULL } }; static int hf_015_V1_0_601_CI9; static int hf_015_V1_0_601_CI9_UCI9; static const FieldPart I015_V1_0_601_CI9_UCI9 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_0_601_CI9_UCI9, NULL }; static int hf_015_V1_0_601_CI9_LCI9; static const FieldPart I015_V1_0_601_CI9_LCI9 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_0_601_CI9_LCI9, NULL }; static const FieldPart *I015_V1_0_601_CI9_PARTS[] = { &I015_V1_0_601_CI9_UCI9, &I015_V1_0_601_CI9_LCI9, NULL }; static const AsterixField I015_V1_0_601_CI9 = { FIXED, 3, 0, 0, &hf_015_V1_0_601_CI9, I015_V1_0_601_CI9_PARTS, { NULL } }; static int hf_015_V1_0_601_COGHHP; static int hf_015_V1_0_601_COGHHP_X; static const FieldPart I015_V1_0_601_COGHHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_601_COGHHP_X, NULL }; static int hf_015_V1_0_601_COGHHP_Y; static const FieldPart I015_V1_0_601_COGHHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_601_COGHHP_Y, NULL }; static const FieldPart *I015_V1_0_601_COGHHP_PARTS[] = { &I015_V1_0_601_COGHHP_X, &I015_V1_0_601_COGHHP_Y, NULL }; static const AsterixField I015_V1_0_601_COGHHP = { FIXED, 2, 0, 0, &hf_015_V1_0_601_COGHHP, I015_V1_0_601_COGHHP_PARTS, { NULL } }; static int hf_015_V1_0_601_COGHHV; static int hf_015_V1_0_601_COGHHV_X; static const FieldPart I015_V1_0_601_COGHHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_601_COGHHV_X, NULL }; static int hf_015_V1_0_601_COGHHV_Y; static const FieldPart I015_V1_0_601_COGHHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_601_COGHHV_Y, NULL }; static const FieldPart *I015_V1_0_601_COGHHV_PARTS[] = { &I015_V1_0_601_COGHHV_X, &I015_V1_0_601_COGHHV_Y, NULL }; static const AsterixField I015_V1_0_601_COGHHV = { FIXED, 2, 0, 0, &hf_015_V1_0_601_COGHHV, I015_V1_0_601_COGHHV_PARTS, { NULL } }; static int hf_015_V1_0_601_COGHHA; static int hf_015_V1_0_601_COGHHA_X; static const FieldPart I015_V1_0_601_COGHHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_601_COGHHA_X, NULL }; static int hf_015_V1_0_601_COGHHA_Y; static const FieldPart I015_V1_0_601_COGHHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_601_COGHHA_Y, NULL }; static const FieldPart *I015_V1_0_601_COGHHA_PARTS[] = { &I015_V1_0_601_COGHHA_X, &I015_V1_0_601_COGHHA_Y, NULL }; static const AsterixField I015_V1_0_601_COGHHA = { FIXED, 2, 0, 0, &hf_015_V1_0_601_COGHHA, I015_V1_0_601_COGHHA_PARTS, { NULL } }; static const AsterixField I015_V1_0_601 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_601, NULL, { &I015_V1_0_601_GH, &I015_V1_0_601_RSGH, &I015_V1_0_601_SDGH, &I015_V1_0_601_CI6, &I015_V1_0_601_CI9, &I015_V1_0_601_COGHHP, &I015_V1_0_601_COGHHV, &I015_V1_0_601_COGHHA, NULL } }; static int hf_015_V1_0_602; static int hf_015_V1_0_602_HV; static int hf_015_V1_0_602_HV_X; static const FieldPart I015_V1_0_602_HV_X = { 20, 0.01, FIELD_PART_FLOAT, &hf_015_V1_0_602_HV_X, NULL }; static int hf_015_V1_0_602_HV_Y; static const FieldPart I015_V1_0_602_HV_Y = { 20, 0.01, FIELD_PART_FLOAT, &hf_015_V1_0_602_HV_Y, NULL }; static const FieldPart *I015_V1_0_602_HV_PARTS[] = { &I015_V1_0_602_HV_X, &I015_V1_0_602_HV_Y, NULL }; static const AsterixField I015_V1_0_602_HV = { FIXED, 5, 0, 0, &hf_015_V1_0_602_HV, I015_V1_0_602_HV_PARTS, { NULL } }; static int hf_015_V1_0_602_RSHV; static int hf_015_V1_0_602_RSHV_X; static const FieldPart I015_V1_0_602_RSHV_X = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_602_RSHV_X, NULL }; static int hf_015_V1_0_602_RSHV_Y; static const FieldPart I015_V1_0_602_RSHV_Y = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_602_RSHV_Y, NULL }; static int hf_015_V1_0_602_RSHV_CORSHVXY; static const FieldPart I015_V1_0_602_RSHV_CORSHVXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_602_RSHV_CORSHVXY, NULL }; static const FieldPart *I015_V1_0_602_RSHV_PARTS[] = { &I015_V1_0_602_RSHV_X, &I015_V1_0_602_RSHV_Y, &I015_V1_0_602_RSHV_CORSHVXY, NULL }; static const AsterixField I015_V1_0_602_RSHV = { FIXED, 5, 0, 0, &hf_015_V1_0_602_RSHV, I015_V1_0_602_RSHV_PARTS, { NULL } }; static int hf_015_V1_0_602_SDHV; static int hf_015_V1_0_602_SDHV_X; static const FieldPart I015_V1_0_602_SDHV_X = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_602_SDHV_X, NULL }; static int hf_015_V1_0_602_SDHV_Y; static const FieldPart I015_V1_0_602_SDHV_Y = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_602_SDHV_Y, NULL }; static int hf_015_V1_0_602_SDHV_COHVXY; static const FieldPart I015_V1_0_602_SDHV_COHVXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_602_SDHV_COHVXY, NULL }; static const FieldPart *I015_V1_0_602_SDHV_PARTS[] = { &I015_V1_0_602_SDHV_X, &I015_V1_0_602_SDHV_Y, &I015_V1_0_602_SDHV_COHVXY, NULL }; static const AsterixField I015_V1_0_602_SDHV = { FIXED, 5, 0, 0, &hf_015_V1_0_602_SDHV, I015_V1_0_602_SDHV_PARTS, { NULL } }; static int hf_015_V1_0_602_COHVHP; static int hf_015_V1_0_602_COHVHP_COHVXHPX; static const FieldPart I015_V1_0_602_COHVHP_COHVXHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_602_COHVHP_COHVXHPX, NULL }; static int hf_015_V1_0_602_COHVHP_COHVXHPY; static const FieldPart I015_V1_0_602_COHVHP_COHVXHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_602_COHVHP_COHVXHPY, NULL }; static int hf_015_V1_0_602_COHVHP_COHVYHPX; static const FieldPart I015_V1_0_602_COHVHP_COHVYHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_602_COHVHP_COHVYHPX, NULL }; static int hf_015_V1_0_602_COHVHP_COHVYHPY; static const FieldPart I015_V1_0_602_COHVHP_COHVYHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_602_COHVHP_COHVYHPY, NULL }; static const FieldPart *I015_V1_0_602_COHVHP_PARTS[] = { &I015_V1_0_602_COHVHP_COHVXHPX, &I015_V1_0_602_COHVHP_COHVXHPY, &I015_V1_0_602_COHVHP_COHVYHPX, &I015_V1_0_602_COHVHP_COHVYHPY, NULL }; static const AsterixField I015_V1_0_602_COHVHP = { FIXED, 4, 0, 0, &hf_015_V1_0_602_COHVHP, I015_V1_0_602_COHVHP_PARTS, { NULL } }; static const AsterixField I015_V1_0_602 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_602, NULL, { &I015_V1_0_602_HV, &I015_V1_0_602_RSHV, &I015_V1_0_602_SDHV, &I015_V1_0_602_COHVHP, NULL } }; static int hf_015_V1_0_603; static int hf_015_V1_0_603_HA; static int hf_015_V1_0_603_HA_X; static const FieldPart I015_V1_0_603_HA_X = { 12, 0.0625, FIELD_PART_FLOAT, &hf_015_V1_0_603_HA_X, NULL }; static int hf_015_V1_0_603_HA_Y; static const FieldPart I015_V1_0_603_HA_Y = { 12, 0.0625, FIELD_PART_FLOAT, &hf_015_V1_0_603_HA_Y, NULL }; static const FieldPart *I015_V1_0_603_HA_PARTS[] = { &I015_V1_0_603_HA_X, &I015_V1_0_603_HA_Y, NULL }; static const AsterixField I015_V1_0_603_HA = { FIXED, 3, 0, 0, &hf_015_V1_0_603_HA, I015_V1_0_603_HA_PARTS, { NULL } }; static int hf_015_V1_0_603_SDHA; static int hf_015_V1_0_603_SDHA_X; static const FieldPart I015_V1_0_603_SDHA_X = { 12, 0.0625, FIELD_PART_UFLOAT, &hf_015_V1_0_603_SDHA_X, NULL }; static int hf_015_V1_0_603_SDHA_Y; static const FieldPart I015_V1_0_603_SDHA_Y = { 12, 0.0625, FIELD_PART_UFLOAT, &hf_015_V1_0_603_SDHA_Y, NULL }; static int hf_015_V1_0_603_SDHA_COHAXY; static const FieldPart I015_V1_0_603_SDHA_COHAXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_SDHA_COHAXY, NULL }; static const FieldPart *I015_V1_0_603_SDHA_PARTS[] = { &I015_V1_0_603_SDHA_X, &I015_V1_0_603_SDHA_Y, &I015_V1_0_603_SDHA_COHAXY, NULL }; static const AsterixField I015_V1_0_603_SDHA = { FIXED, 4, 0, 0, &hf_015_V1_0_603_SDHA, I015_V1_0_603_SDHA_PARTS, { NULL } }; static int hf_015_V1_0_603_COHAHP; static int hf_015_V1_0_603_COHAHP_COHAXHPX; static const FieldPart I015_V1_0_603_COHAHP_COHAXHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHP_COHAXHPX, NULL }; static int hf_015_V1_0_603_COHAHP_COHAXHPY; static const FieldPart I015_V1_0_603_COHAHP_COHAXHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHP_COHAXHPY, NULL }; static int hf_015_V1_0_603_COHAHP_COHAYHPX; static const FieldPart I015_V1_0_603_COHAHP_COHAYHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHP_COHAYHPX, NULL }; static int hf_015_V1_0_603_COHAHP_COAYHPY; static const FieldPart I015_V1_0_603_COHAHP_COAYHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHP_COAYHPY, NULL }; static const FieldPart *I015_V1_0_603_COHAHP_PARTS[] = { &I015_V1_0_603_COHAHP_COHAXHPX, &I015_V1_0_603_COHAHP_COHAXHPY, &I015_V1_0_603_COHAHP_COHAYHPX, &I015_V1_0_603_COHAHP_COAYHPY, NULL }; static const AsterixField I015_V1_0_603_COHAHP = { FIXED, 4, 0, 0, &hf_015_V1_0_603_COHAHP, I015_V1_0_603_COHAHP_PARTS, { NULL } }; static int hf_015_V1_0_603_COHAHV; static int hf_015_V1_0_603_COHAHV_COHAXHVX; static const FieldPart I015_V1_0_603_COHAHV_COHAXHVX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHV_COHAXHVX, NULL }; static int hf_015_V1_0_603_COHAHV_COHAXHVY; static const FieldPart I015_V1_0_603_COHAHV_COHAXHVY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHV_COHAXHVY, NULL }; static int hf_015_V1_0_603_COHAHV_COHAYHVX; static const FieldPart I015_V1_0_603_COHAHV_COHAYHVX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHV_COHAYHVX, NULL }; static int hf_015_V1_0_603_COHAHV_COHAYHVY; static const FieldPart I015_V1_0_603_COHAHV_COHAYHVY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_603_COHAHV_COHAYHVY, NULL }; static const FieldPart *I015_V1_0_603_COHAHV_PARTS[] = { &I015_V1_0_603_COHAHV_COHAXHVX, &I015_V1_0_603_COHAHV_COHAXHVY, &I015_V1_0_603_COHAHV_COHAYHVX, &I015_V1_0_603_COHAHV_COHAYHVY, NULL }; static const AsterixField I015_V1_0_603_COHAHV = { FIXED, 4, 0, 0, &hf_015_V1_0_603_COHAHV, I015_V1_0_603_COHAHV_PARTS, { NULL } }; static const AsterixField I015_V1_0_603 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_603, NULL, { &I015_V1_0_603_HA, &I015_V1_0_603_SDHA, &I015_V1_0_603_COHAHP, &I015_V1_0_603_COHAHV, NULL } }; static int hf_015_V1_0_604; static int hf_015_V1_0_604_VV; static int hf_015_V1_0_604_VV_VALUE; static const FieldPart I015_V1_0_604_VV_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_V1_0_604_VV_VALUE, NULL }; static const FieldPart *I015_V1_0_604_VV_PARTS[] = { &I015_V1_0_604_VV_VALUE, NULL }; static const AsterixField I015_V1_0_604_VV = { FIXED, 3, 0, 0, &hf_015_V1_0_604_VV, I015_V1_0_604_VV_PARTS, { NULL } }; static int hf_015_V1_0_604_RSVV; static int hf_015_V1_0_604_RSVV_VALUE; static const FieldPart I015_V1_0_604_RSVV_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_604_RSVV_VALUE, NULL }; static const FieldPart *I015_V1_0_604_RSVV_PARTS[] = { &I015_V1_0_604_RSVV_VALUE, NULL }; static const AsterixField I015_V1_0_604_RSVV = { FIXED, 2, 0, 0, &hf_015_V1_0_604_RSVV, I015_V1_0_604_RSVV_PARTS, { NULL } }; static int hf_015_V1_0_604_SDVV; static int hf_015_V1_0_604_SDVV_SDVV; static const FieldPart I015_V1_0_604_SDVV_SDVV = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_604_SDVV_SDVV, NULL }; static int hf_015_V1_0_604_SDVV_COVVGH; static const FieldPart I015_V1_0_604_SDVV_COVVGH = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_604_SDVV_COVVGH, NULL }; static const FieldPart *I015_V1_0_604_SDVV_PARTS[] = { &I015_V1_0_604_SDVV_SDVV, &I015_V1_0_604_SDVV_COVVGH, NULL }; static const AsterixField I015_V1_0_604_SDVV = { FIXED, 3, 0, 0, &hf_015_V1_0_604_SDVV, I015_V1_0_604_SDVV_PARTS, { NULL } }; static int hf_015_V1_0_604_COVVHP; static int hf_015_V1_0_604_COVVHP_X; static const FieldPart I015_V1_0_604_COVVHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_604_COVVHP_X, NULL }; static int hf_015_V1_0_604_COVVHP_Y; static const FieldPart I015_V1_0_604_COVVHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_604_COVVHP_Y, NULL }; static const FieldPart *I015_V1_0_604_COVVHP_PARTS[] = { &I015_V1_0_604_COVVHP_X, &I015_V1_0_604_COVVHP_Y, NULL }; static const AsterixField I015_V1_0_604_COVVHP = { FIXED, 2, 0, 0, &hf_015_V1_0_604_COVVHP, I015_V1_0_604_COVVHP_PARTS, { NULL } }; static int hf_015_V1_0_604_COVVHV; static int hf_015_V1_0_604_COVVHV_X; static const FieldPart I015_V1_0_604_COVVHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_604_COVVHV_X, NULL }; static int hf_015_V1_0_604_COVVHV_Y; static const FieldPart I015_V1_0_604_COVVHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_604_COVVHV_Y, NULL }; static const FieldPart *I015_V1_0_604_COVVHV_PARTS[] = { &I015_V1_0_604_COVVHV_X, &I015_V1_0_604_COVVHV_Y, NULL }; static const AsterixField I015_V1_0_604_COVVHV = { FIXED, 2, 0, 0, &hf_015_V1_0_604_COVVHV, I015_V1_0_604_COVVHV_PARTS, { NULL } }; static int hf_015_V1_0_604_COVVHA; static int hf_015_V1_0_604_COVVHA_X; static const FieldPart I015_V1_0_604_COVVHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_604_COVVHA_X, NULL }; static int hf_015_V1_0_604_COVVHA_Y; static const FieldPart I015_V1_0_604_COVVHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_604_COVVHA_Y, NULL }; static const FieldPart *I015_V1_0_604_COVVHA_PARTS[] = { &I015_V1_0_604_COVVHA_X, &I015_V1_0_604_COVVHA_Y, NULL }; static const AsterixField I015_V1_0_604_COVVHA = { FIXED, 2, 0, 0, &hf_015_V1_0_604_COVVHA, I015_V1_0_604_COVVHA_PARTS, { NULL } }; static const AsterixField I015_V1_0_604 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_604, NULL, { &I015_V1_0_604_VV, &I015_V1_0_604_RSVV, &I015_V1_0_604_SDVV, &I015_V1_0_604_COVVHP, &I015_V1_0_604_COVVHV, &I015_V1_0_604_COVVHA, NULL } }; static int hf_015_V1_0_605; static int hf_015_V1_0_605_VA; static int hf_015_V1_0_605_VA_VALUE; static const FieldPart I015_V1_0_605_VA_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_015_V1_0_605_VA_VALUE, NULL }; static const FieldPart *I015_V1_0_605_VA_PARTS[] = { &I015_V1_0_605_VA_VALUE, NULL }; static const AsterixField I015_V1_0_605_VA = { FIXED, 2, 0, 0, &hf_015_V1_0_605_VA, I015_V1_0_605_VA_PARTS, { NULL } }; static int hf_015_V1_0_605_RSVA; static int hf_015_V1_0_605_RSVA_SDVA; static const FieldPart I015_V1_0_605_RSVA_SDVA = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_0_605_RSVA_SDVA, NULL }; static int hf_015_V1_0_605_RSVA_COVAGH; static const FieldPart I015_V1_0_605_RSVA_COVAGH = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_RSVA_COVAGH, NULL }; static int hf_015_V1_0_605_RSVA_COVAVV; static const FieldPart I015_V1_0_605_RSVA_COVAVV = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_RSVA_COVAVV, NULL }; static const FieldPart *I015_V1_0_605_RSVA_PARTS[] = { &I015_V1_0_605_RSVA_SDVA, &I015_V1_0_605_RSVA_COVAGH, &I015_V1_0_605_RSVA_COVAVV, NULL }; static const AsterixField I015_V1_0_605_RSVA = { FIXED, 4, 0, 0, &hf_015_V1_0_605_RSVA, I015_V1_0_605_RSVA_PARTS, { NULL } }; static int hf_015_V1_0_605_COVAHP; static int hf_015_V1_0_605_COVAHP_X; static const FieldPart I015_V1_0_605_COVAHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_COVAHP_X, NULL }; static int hf_015_V1_0_605_COVAHP_Y; static const FieldPart I015_V1_0_605_COVAHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_COVAHP_Y, NULL }; static const FieldPart *I015_V1_0_605_COVAHP_PARTS[] = { &I015_V1_0_605_COVAHP_X, &I015_V1_0_605_COVAHP_Y, NULL }; static const AsterixField I015_V1_0_605_COVAHP = { FIXED, 2, 0, 0, &hf_015_V1_0_605_COVAHP, I015_V1_0_605_COVAHP_PARTS, { NULL } }; static int hf_015_V1_0_605_COVAHV; static int hf_015_V1_0_605_COVAHV_X; static const FieldPart I015_V1_0_605_COVAHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_COVAHV_X, NULL }; static int hf_015_V1_0_605_COVAHV_Y; static const FieldPart I015_V1_0_605_COVAHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_COVAHV_Y, NULL }; static const FieldPart *I015_V1_0_605_COVAHV_PARTS[] = { &I015_V1_0_605_COVAHV_X, &I015_V1_0_605_COVAHV_Y, NULL }; static const AsterixField I015_V1_0_605_COVAHV = { FIXED, 2, 0, 0, &hf_015_V1_0_605_COVAHV, I015_V1_0_605_COVAHV_PARTS, { NULL } }; static int hf_015_V1_0_605_COVAHA; static int hf_015_V1_0_605_COVAHA_X; static const FieldPart I015_V1_0_605_COVAHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_COVAHA_X, NULL }; static int hf_015_V1_0_605_COVAHA_Y; static const FieldPart I015_V1_0_605_COVAHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_605_COVAHA_Y, NULL }; static const FieldPart *I015_V1_0_605_COVAHA_PARTS[] = { &I015_V1_0_605_COVAHA_X, &I015_V1_0_605_COVAHA_Y, NULL }; static const AsterixField I015_V1_0_605_COVAHA = { FIXED, 2, 0, 0, &hf_015_V1_0_605_COVAHA, I015_V1_0_605_COVAHA_PARTS, { NULL } }; static const AsterixField I015_V1_0_605 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_605, NULL, { &I015_V1_0_605_VA, &I015_V1_0_605_RSVA, &I015_V1_0_605_COVAHP, &I015_V1_0_605_COVAHV, &I015_V1_0_605_COVAHA, NULL } }; static int hf_015_V1_0_625; static int hf_015_V1_0_625_R; static int hf_015_V1_0_625_R_VALUE; static const FieldPart I015_V1_0_625_R_VALUE = { 24, 0.1, FIELD_PART_FLOAT, &hf_015_V1_0_625_R_VALUE, NULL }; static const FieldPart *I015_V1_0_625_R_PARTS[] = { &I015_V1_0_625_R_VALUE, NULL }; static const AsterixField I015_V1_0_625_R = { FIXED, 3, 0, 0, &hf_015_V1_0_625_R, I015_V1_0_625_R_PARTS, { NULL } }; static int hf_015_V1_0_625_RSR; static int hf_015_V1_0_625_RSR_VALUE; static const FieldPart I015_V1_0_625_RSR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_0_625_RSR_VALUE, NULL }; static const FieldPart *I015_V1_0_625_RSR_PARTS[] = { &I015_V1_0_625_RSR_VALUE, NULL }; static const AsterixField I015_V1_0_625_RSR = { FIXED, 3, 0, 0, &hf_015_V1_0_625_RSR, I015_V1_0_625_RSR_PARTS, { NULL } }; static int hf_015_V1_0_625_SDR; static int hf_015_V1_0_625_SDR_VALUE; static const FieldPart I015_V1_0_625_SDR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_0_625_SDR_VALUE, NULL }; static const FieldPart *I015_V1_0_625_SDR_PARTS[] = { &I015_V1_0_625_SDR_VALUE, NULL }; static const AsterixField I015_V1_0_625_SDR = { FIXED, 3, 0, 0, &hf_015_V1_0_625_SDR, I015_V1_0_625_SDR_PARTS, { NULL } }; static int hf_015_V1_0_625_RR; static int hf_015_V1_0_625_RR_VALUE; static const FieldPart I015_V1_0_625_RR_VALUE = { 24, 0.1, FIELD_PART_FLOAT, &hf_015_V1_0_625_RR_VALUE, NULL }; static const FieldPart *I015_V1_0_625_RR_PARTS[] = { &I015_V1_0_625_RR_VALUE, NULL }; static const AsterixField I015_V1_0_625_RR = { FIXED, 3, 0, 0, &hf_015_V1_0_625_RR, I015_V1_0_625_RR_PARTS, { NULL } }; static int hf_015_V1_0_625_RSRR; static int hf_015_V1_0_625_RSRR_VALUE; static const FieldPart I015_V1_0_625_RSRR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_0_625_RSRR_VALUE, NULL }; static const FieldPart *I015_V1_0_625_RSRR_PARTS[] = { &I015_V1_0_625_RSRR_VALUE, NULL }; static const AsterixField I015_V1_0_625_RSRR = { FIXED, 3, 0, 0, &hf_015_V1_0_625_RSRR, I015_V1_0_625_RSRR_PARTS, { NULL } }; static int hf_015_V1_0_625_SDRR; static int hf_015_V1_0_625_SDRR_SDRR; static const FieldPart I015_V1_0_625_SDRR_SDRR = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_0_625_SDRR_SDRR, NULL }; static int hf_015_V1_0_625_SDRR_CORRR; static const FieldPart I015_V1_0_625_SDRR_CORRR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_625_SDRR_CORRR, NULL }; static const FieldPart *I015_V1_0_625_SDRR_PARTS[] = { &I015_V1_0_625_SDRR_SDRR, &I015_V1_0_625_SDRR_CORRR, NULL }; static const AsterixField I015_V1_0_625_SDRR = { FIXED, 4, 0, 0, &hf_015_V1_0_625_SDRR, I015_V1_0_625_SDRR_PARTS, { NULL } }; static int hf_015_V1_0_625_RA; static int hf_015_V1_0_625_RA_VALUE; static const FieldPart I015_V1_0_625_RA_VALUE = { 16, 0.015625, FIELD_PART_FLOAT, &hf_015_V1_0_625_RA_VALUE, NULL }; static const FieldPart *I015_V1_0_625_RA_PARTS[] = { &I015_V1_0_625_RA_VALUE, NULL }; static const AsterixField I015_V1_0_625_RA = { FIXED, 2, 0, 0, &hf_015_V1_0_625_RA, I015_V1_0_625_RA_PARTS, { NULL } }; static int hf_015_V1_0_625_SDRA; static int hf_015_V1_0_625_SDRA_SDRA; static const FieldPart I015_V1_0_625_SDRA_SDRA = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_015_V1_0_625_SDRA_SDRA, NULL }; static int hf_015_V1_0_625_SDRA_CORAR; static const FieldPart I015_V1_0_625_SDRA_CORAR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_625_SDRA_CORAR, NULL }; static int hf_015_V1_0_625_SDRA_CORARR; static const FieldPart I015_V1_0_625_SDRA_CORARR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_625_SDRA_CORARR, NULL }; static const FieldPart *I015_V1_0_625_SDRA_PARTS[] = { &I015_V1_0_625_SDRA_SDRA, &I015_V1_0_625_SDRA_CORAR, &I015_V1_0_625_SDRA_CORARR, NULL }; static const AsterixField I015_V1_0_625_SDRA = { FIXED, 4, 0, 0, &hf_015_V1_0_625_SDRA, I015_V1_0_625_SDRA_PARTS, { NULL } }; static const AsterixField I015_V1_0_625 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_625, NULL, { &I015_V1_0_625_R, &I015_V1_0_625_RSR, &I015_V1_0_625_SDR, &I015_V1_0_625_RR, &I015_V1_0_625_RSRR, &I015_V1_0_625_SDRR, &I015_V1_0_625_RA, &I015_V1_0_625_SDRA, NULL } }; static int hf_015_V1_0_626; static int hf_015_V1_0_626_DV; static int hf_015_V1_0_626_DV_VALUE; static const FieldPart I015_V1_0_626_DV_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_V1_0_626_DV_VALUE, NULL }; static const FieldPart *I015_V1_0_626_DV_PARTS[] = { &I015_V1_0_626_DV_VALUE, NULL }; static const AsterixField I015_V1_0_626_DV = { FIXED, 3, 0, 0, &hf_015_V1_0_626_DV, I015_V1_0_626_DV_PARTS, { NULL } }; static int hf_015_V1_0_626_SDDV; static int hf_015_V1_0_626_SDDV_VALUE; static const FieldPart I015_V1_0_626_SDDV_VALUE = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_015_V1_0_626_SDDV_VALUE, NULL }; static const FieldPart *I015_V1_0_626_SDDV_PARTS[] = { &I015_V1_0_626_SDDV_VALUE, NULL }; static const AsterixField I015_V1_0_626_SDDV = { FIXED, 2, 0, 0, &hf_015_V1_0_626_SDDV, I015_V1_0_626_SDDV_PARTS, { NULL } }; static int hf_015_V1_0_626_DA; static int hf_015_V1_0_626_DA_VALUE; static const FieldPart I015_V1_0_626_DA_VALUE = { 16, 0.015625, FIELD_PART_FLOAT, &hf_015_V1_0_626_DA_VALUE, NULL }; static const FieldPart *I015_V1_0_626_DA_PARTS[] = { &I015_V1_0_626_DA_VALUE, NULL }; static const AsterixField I015_V1_0_626_DA = { FIXED, 2, 0, 0, &hf_015_V1_0_626_DA, I015_V1_0_626_DA_PARTS, { NULL } }; static int hf_015_V1_0_626_SDDA; static int hf_015_V1_0_626_SDDA_SDDA; static const FieldPart I015_V1_0_626_SDDA_SDDA = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_015_V1_0_626_SDDA_SDDA, NULL }; static int hf_015_V1_0_626_SDDA_CODADV; static const FieldPart I015_V1_0_626_SDDA_CODADV = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_626_SDDA_CODADV, NULL }; static const FieldPart *I015_V1_0_626_SDDA_PARTS[] = { &I015_V1_0_626_SDDA_SDDA, &I015_V1_0_626_SDDA_CODADV, NULL }; static const AsterixField I015_V1_0_626_SDDA = { FIXED, 3, 0, 0, &hf_015_V1_0_626_SDDA, I015_V1_0_626_SDDA_PARTS, { NULL } }; static int hf_015_V1_0_626_CODVR; static int hf_015_V1_0_626_CODVR_VALUE; static const FieldPart I015_V1_0_626_CODVR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_626_CODVR_VALUE, NULL }; static const FieldPart *I015_V1_0_626_CODVR_PARTS[] = { &I015_V1_0_626_CODVR_VALUE, NULL }; static const AsterixField I015_V1_0_626_CODVR = { FIXED, 1, 0, 0, &hf_015_V1_0_626_CODVR, I015_V1_0_626_CODVR_PARTS, { NULL } }; static int hf_015_V1_0_626_CODVRR; static int hf_015_V1_0_626_CODVRR_VALUE; static const FieldPart I015_V1_0_626_CODVRR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_626_CODVRR_VALUE, NULL }; static const FieldPart *I015_V1_0_626_CODVRR_PARTS[] = { &I015_V1_0_626_CODVRR_VALUE, NULL }; static const AsterixField I015_V1_0_626_CODVRR = { FIXED, 1, 0, 0, &hf_015_V1_0_626_CODVRR, I015_V1_0_626_CODVRR_PARTS, { NULL } }; static int hf_015_V1_0_626_CODVRA; static int hf_015_V1_0_626_CODVRA_VALUE; static const FieldPart I015_V1_0_626_CODVRA_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_626_CODVRA_VALUE, NULL }; static const FieldPart *I015_V1_0_626_CODVRA_PARTS[] = { &I015_V1_0_626_CODVRA_VALUE, NULL }; static const AsterixField I015_V1_0_626_CODVRA = { FIXED, 1, 0, 0, &hf_015_V1_0_626_CODVRA, I015_V1_0_626_CODVRA_PARTS, { NULL } }; static int hf_015_V1_0_626_CODAR; static int hf_015_V1_0_626_CODAR_VALUE; static const FieldPart I015_V1_0_626_CODAR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_626_CODAR_VALUE, NULL }; static const FieldPart *I015_V1_0_626_CODAR_PARTS[] = { &I015_V1_0_626_CODAR_VALUE, NULL }; static const AsterixField I015_V1_0_626_CODAR = { FIXED, 1, 0, 0, &hf_015_V1_0_626_CODAR, I015_V1_0_626_CODAR_PARTS, { NULL } }; static int hf_015_V1_0_626_CODARR; static int hf_015_V1_0_626_CODARR_VALUE; static const FieldPart I015_V1_0_626_CODARR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_626_CODARR_VALUE, NULL }; static const FieldPart *I015_V1_0_626_CODARR_PARTS[] = { &I015_V1_0_626_CODARR_VALUE, NULL }; static const AsterixField I015_V1_0_626_CODARR = { FIXED, 1, 0, 0, &hf_015_V1_0_626_CODARR, I015_V1_0_626_CODARR_PARTS, { NULL } }; static int hf_015_V1_0_626_CODARA; static int hf_015_V1_0_626_CODARA_VALUE; static const FieldPart I015_V1_0_626_CODARA_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_626_CODARA_VALUE, NULL }; static const FieldPart *I015_V1_0_626_CODARA_PARTS[] = { &I015_V1_0_626_CODARA_VALUE, NULL }; static const AsterixField I015_V1_0_626_CODARA = { FIXED, 1, 0, 0, &hf_015_V1_0_626_CODARA, I015_V1_0_626_CODARA_PARTS, { NULL } }; static const AsterixField I015_V1_0_626 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_626, NULL, { &I015_V1_0_626_DV, &I015_V1_0_626_SDDV, &I015_V1_0_626_DA, &I015_V1_0_626_SDDA, &I015_V1_0_626_CODVR, &I015_V1_0_626_CODVRR, &I015_V1_0_626_CODVRA, &I015_V1_0_626_CODAR, &I015_V1_0_626_CODARR, &I015_V1_0_626_CODARA, NULL } }; static int hf_015_V1_0_627; static int hf_015_V1_0_627_AZ; static int hf_015_V1_0_627_AZ_VALUE; static const FieldPart I015_V1_0_627_AZ_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_0_627_AZ_VALUE, NULL }; static const FieldPart *I015_V1_0_627_AZ_PARTS[] = { &I015_V1_0_627_AZ_VALUE, NULL }; static const AsterixField I015_V1_0_627_AZ = { FIXED, 2, 0, 0, &hf_015_V1_0_627_AZ, I015_V1_0_627_AZ_PARTS, { NULL } }; static int hf_015_V1_0_627_RSAZ; static int hf_015_V1_0_627_RSAZ_VALUE; static const FieldPart I015_V1_0_627_RSAZ_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_0_627_RSAZ_VALUE, NULL }; static const FieldPart *I015_V1_0_627_RSAZ_PARTS[] = { &I015_V1_0_627_RSAZ_VALUE, NULL }; static const AsterixField I015_V1_0_627_RSAZ = { FIXED, 2, 0, 0, &hf_015_V1_0_627_RSAZ, I015_V1_0_627_RSAZ_PARTS, { NULL } }; static int hf_015_V1_0_627_SDASZ; static int hf_015_V1_0_627_SDASZ_VALUE; static const FieldPart I015_V1_0_627_SDASZ_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_0_627_SDASZ_VALUE, NULL }; static const FieldPart *I015_V1_0_627_SDASZ_PARTS[] = { &I015_V1_0_627_SDASZ_VALUE, NULL }; static const AsterixField I015_V1_0_627_SDASZ = { FIXED, 2, 0, 0, &hf_015_V1_0_627_SDASZ, I015_V1_0_627_SDASZ_PARTS, { NULL } }; static int hf_015_V1_0_627_AZR; static int hf_015_V1_0_627_AZR_VALUE; static const FieldPart I015_V1_0_627_AZR_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_0_627_AZR_VALUE, NULL }; static const FieldPart *I015_V1_0_627_AZR_PARTS[] = { &I015_V1_0_627_AZR_VALUE, NULL }; static const AsterixField I015_V1_0_627_AZR = { FIXED, 2, 0, 0, &hf_015_V1_0_627_AZR, I015_V1_0_627_AZR_PARTS, { NULL } }; static int hf_015_V1_0_627_SDAZR; static int hf_015_V1_0_627_SDAZR_SDAZR; static const FieldPart I015_V1_0_627_SDAZR_SDAZR = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_0_627_SDAZR_SDAZR, NULL }; static int hf_015_V1_0_627_SDAZR_COAZRAZ; static const FieldPart I015_V1_0_627_SDAZR_COAZRAZ = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_627_SDAZR_COAZRAZ, NULL }; static const FieldPart *I015_V1_0_627_SDAZR_PARTS[] = { &I015_V1_0_627_SDAZR_SDAZR, &I015_V1_0_627_SDAZR_COAZRAZ, NULL }; static const AsterixField I015_V1_0_627_SDAZR = { FIXED, 3, 0, 0, &hf_015_V1_0_627_SDAZR, I015_V1_0_627_SDAZR_PARTS, { NULL } }; static int hf_015_V1_0_627_AZEX; static int hf_015_V1_0_627_AZEX_S; static const FieldPart I015_V1_0_627_AZEX_S = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_0_627_AZEX_S, NULL }; static int hf_015_V1_0_627_AZEX_E; static const FieldPart I015_V1_0_627_AZEX_E = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_0_627_AZEX_E, NULL }; static const FieldPart *I015_V1_0_627_AZEX_PARTS[] = { &I015_V1_0_627_AZEX_S, &I015_V1_0_627_AZEX_E, NULL }; static const AsterixField I015_V1_0_627_AZEX = { FIXED, 4, 0, 0, &hf_015_V1_0_627_AZEX, I015_V1_0_627_AZEX_PARTS, { NULL } }; static const AsterixField I015_V1_0_627 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_627, NULL, { &I015_V1_0_627_AZ, &I015_V1_0_627_RSAZ, &I015_V1_0_627_SDASZ, &I015_V1_0_627_AZR, &I015_V1_0_627_SDAZR, &I015_V1_0_627_AZEX, NULL } }; static int hf_015_V1_0_628; static int hf_015_V1_0_628_EL; static int hf_015_V1_0_628_EL_VALUE; static const FieldPart I015_V1_0_628_EL_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_0_628_EL_VALUE, NULL }; static const FieldPart *I015_V1_0_628_EL_PARTS[] = { &I015_V1_0_628_EL_VALUE, NULL }; static const AsterixField I015_V1_0_628_EL = { FIXED, 2, 0, 0, &hf_015_V1_0_628_EL, I015_V1_0_628_EL_PARTS, { NULL } }; static int hf_015_V1_0_628_RSEL; static int hf_015_V1_0_628_RSEL_VALUE; static const FieldPart I015_V1_0_628_RSEL_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_0_628_RSEL_VALUE, NULL }; static const FieldPart *I015_V1_0_628_RSEL_PARTS[] = { &I015_V1_0_628_RSEL_VALUE, NULL }; static const AsterixField I015_V1_0_628_RSEL = { FIXED, 2, 0, 0, &hf_015_V1_0_628_RSEL, I015_V1_0_628_RSEL_PARTS, { NULL } }; static int hf_015_V1_0_628_SDEL; static int hf_015_V1_0_628_SDEL_VALUE; static const FieldPart I015_V1_0_628_SDEL_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_0_628_SDEL_VALUE, NULL }; static const FieldPart *I015_V1_0_628_SDEL_PARTS[] = { &I015_V1_0_628_SDEL_VALUE, NULL }; static const AsterixField I015_V1_0_628_SDEL = { FIXED, 2, 0, 0, &hf_015_V1_0_628_SDEL, I015_V1_0_628_SDEL_PARTS, { NULL } }; static int hf_015_V1_0_628_ER; static int hf_015_V1_0_628_ER_VALUE; static const FieldPart I015_V1_0_628_ER_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_0_628_ER_VALUE, NULL }; static const FieldPart *I015_V1_0_628_ER_PARTS[] = { &I015_V1_0_628_ER_VALUE, NULL }; static const AsterixField I015_V1_0_628_ER = { FIXED, 2, 0, 0, &hf_015_V1_0_628_ER, I015_V1_0_628_ER_PARTS, { NULL } }; static int hf_015_V1_0_628_SDER; static int hf_015_V1_0_628_SDER_SDELR; static const FieldPart I015_V1_0_628_SDER_SDELR = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_0_628_SDER_SDELR, NULL }; static int hf_015_V1_0_628_SDER_COELREL; static const FieldPart I015_V1_0_628_SDER_COELREL = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_0_628_SDER_COELREL, NULL }; static const FieldPart *I015_V1_0_628_SDER_PARTS[] = { &I015_V1_0_628_SDER_SDELR, &I015_V1_0_628_SDER_COELREL, NULL }; static const AsterixField I015_V1_0_628_SDER = { FIXED, 3, 0, 0, &hf_015_V1_0_628_SDER, I015_V1_0_628_SDER_PARTS, { NULL } }; static int hf_015_V1_0_628_ELEX; static int hf_015_V1_0_628_ELEX_S; static const FieldPart I015_V1_0_628_ELEX_S = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_0_628_ELEX_S, NULL }; static int hf_015_V1_0_628_ELEX_E; static const FieldPart I015_V1_0_628_ELEX_E = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_0_628_ELEX_E, NULL }; static const FieldPart *I015_V1_0_628_ELEX_PARTS[] = { &I015_V1_0_628_ELEX_S, &I015_V1_0_628_ELEX_E, NULL }; static const AsterixField I015_V1_0_628_ELEX = { FIXED, 4, 0, 0, &hf_015_V1_0_628_ELEX, I015_V1_0_628_ELEX_PARTS, { NULL } }; static const AsterixField I015_V1_0_628 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_628, NULL, { &I015_V1_0_628_EL, &I015_V1_0_628_RSEL, &I015_V1_0_628_SDEL, &I015_V1_0_628_ER, &I015_V1_0_628_SDER, &I015_V1_0_628_ELEX, NULL } }; static int hf_015_V1_0_630; static int hf_015_V1_0_630_DPP; static int hf_015_V1_0_630_DPP_VALUE; static const FieldPart I015_V1_0_630_DPP_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_V1_0_630_DPP_VALUE, NULL }; static const FieldPart *I015_V1_0_630_DPP_PARTS[] = { &I015_V1_0_630_DPP_VALUE, NULL }; static const AsterixField I015_V1_0_630_DPP = { FIXED, 1, 0, 0, &hf_015_V1_0_630_DPP, I015_V1_0_630_DPP_PARTS, { NULL } }; static int hf_015_V1_0_630_DPS; static int hf_015_V1_0_630_DPS_VALUE; static const FieldPart I015_V1_0_630_DPS_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_V1_0_630_DPS_VALUE, NULL }; static const FieldPart *I015_V1_0_630_DPS_PARTS[] = { &I015_V1_0_630_DPS_VALUE, NULL }; static const AsterixField I015_V1_0_630_DPS = { FIXED, 1, 0, 0, &hf_015_V1_0_630_DPS, I015_V1_0_630_DPS_PARTS, { NULL } }; static int hf_015_V1_0_630_RPP; static int hf_015_V1_0_630_RPP_RPP; static const FieldPart I015_V1_0_630_RPP_RPP = { 9, 1.0, FIELD_PART_FLOAT, &hf_015_V1_0_630_RPP_RPP, NULL }; static const FieldPart *I015_V1_0_630_RPP_PARTS[] = { &IXXX_7bit_spare, &I015_V1_0_630_RPP_RPP, NULL }; static const AsterixField I015_V1_0_630_RPP = { FIXED, 2, 0, 0, &hf_015_V1_0_630_RPP, I015_V1_0_630_RPP_PARTS, { NULL } }; static int hf_015_V1_0_630_RPS; static int hf_015_V1_0_630_RPS_VALUE; static const FieldPart I015_V1_0_630_RPS_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_V1_0_630_RPS_VALUE, NULL }; static const FieldPart *I015_V1_0_630_RPS_PARTS[] = { &I015_V1_0_630_RPS_VALUE, NULL }; static const AsterixField I015_V1_0_630_RPS = { FIXED, 1, 0, 0, &hf_015_V1_0_630_RPS, I015_V1_0_630_RPS_PARTS, { NULL } }; static const AsterixField I015_V1_0_630 = { COMPOUND, 0, 0, 0, &hf_015_V1_0_630, NULL, { &I015_V1_0_630_DPP, &I015_V1_0_630_DPS, &I015_V1_0_630_RPP, &I015_V1_0_630_RPS, NULL } }; static int hf_015_V1_0_631; static int hf_015_V1_0_631_AZCON; static const FieldPart I015_V1_0_631_AZCON = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_0_631_AZCON, NULL }; static int hf_015_V1_0_631_ELCON; static const FieldPart I015_V1_0_631_ELCON = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_0_631_ELCON, NULL }; static int hf_015_V1_0_631_RGCONSTOP; static const FieldPart I015_V1_0_631_RGCONSTOP = { 16, 0.152587890625, FIELD_PART_UFLOAT, &hf_015_V1_0_631_RGCONSTOP, NULL }; static int hf_015_V1_0_631_RGCONSTART; static const FieldPart I015_V1_0_631_RGCONSTART = { 16, 0.152587890625, FIELD_PART_UFLOAT, &hf_015_V1_0_631_RGCONSTART, NULL }; static const FieldPart *I015_V1_0_631_PARTS[] = { &I015_V1_0_631_AZCON, &I015_V1_0_631_ELCON, &I015_V1_0_631_RGCONSTOP, &I015_V1_0_631_RGCONSTART, NULL }; static const AsterixField I015_V1_0_631 = { REPETITIVE, 8, 1, 0, &hf_015_V1_0_631, I015_V1_0_631_PARTS, { NULL } }; static int hf_015_V1_0_SP; static const AsterixField I015_V1_0_SP = { EXP, 0, 0, 1, &hf_015_V1_0_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I015_V1_0_uap[] = { &I015_V1_0_010, &I015_V1_0_000, &I015_V1_0_015, &I015_V1_0_020, &I015_V1_0_030, &I015_V1_0_145, &I015_V1_0_161, &I015_V1_0_170, &I015_V1_0_050, &I015_V1_0_270, &I015_V1_0_300, &I015_V1_0_400, &I015_V1_0_600, &I015_V1_0_601, &I015_V1_0_602, &I015_V1_0_603, &I015_V1_0_604, &I015_V1_0_605, &I015_V1_0_480, &I015_V1_0_625, &I015_V1_0_626, &I015_V1_0_627, &I015_V1_0_628, &I015_V1_0_630, &I015_V1_0_631, &I015_V1_0_SP, NULL }; static const AsterixField **I015_V1_0[] = { I015_V1_0_uap, NULL }; DIAG_ON_PEDANTIC /* Category 015, edition 1.1 */ static int hf_015_V1_1_000; static int hf_015_V1_1_000_MT; static const value_string valstr_015_V1_1_000_MT[] = { { 1, "Measurement Plot" }, { 2, "Measurement Track" }, { 3, "Sensor Centric Plot" }, { 4, "Sensor Centric Track" }, { 5, "Track End Message" }, { 0, NULL } }; static const FieldPart I015_V1_1_000_MT = { 7, 1.0, FIELD_PART_UINT, &hf_015_V1_1_000_MT, NULL }; static int hf_015_V1_1_000_RG; static const value_string valstr_015_V1_1_000_RG[] = { { 0, "Periodic Report" }, { 1, "Event Driven Report" }, { 0, NULL } }; static const FieldPart I015_V1_1_000_RG = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_1_000_RG, NULL }; static const FieldPart *I015_V1_1_000_PARTS[] = { &I015_V1_1_000_MT, &I015_V1_1_000_RG, NULL }; static const AsterixField I015_V1_1_000 = { FIXED, 1, 0, 0, &hf_015_V1_1_000, I015_V1_1_000_PARTS, { NULL } }; static int hf_015_V1_1_010; static int hf_015_V1_1_010_SAC; static const FieldPart I015_V1_1_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_015_V1_1_010_SAC, NULL }; static int hf_015_V1_1_010_SIC; static const FieldPart I015_V1_1_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_015_V1_1_010_SIC, NULL }; static const FieldPart *I015_V1_1_010_PARTS[] = { &I015_V1_1_010_SAC, &I015_V1_1_010_SIC, NULL }; static const AsterixField I015_V1_1_010 = { FIXED, 2, 0, 0, &hf_015_V1_1_010, I015_V1_1_010_PARTS, { NULL } }; static int hf_015_V1_1_015; static int hf_015_V1_1_015_VALUE; static const FieldPart I015_V1_1_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_015_V1_1_015_VALUE, NULL }; static const FieldPart *I015_V1_1_015_PARTS[] = { &I015_V1_1_015_VALUE, NULL }; static const AsterixField I015_V1_1_015 = { FIXED, 1, 0, 0, &hf_015_V1_1_015, I015_V1_1_015_PARTS, { NULL } }; static int hf_015_V1_1_020; static int hf_015_V1_1_020_MOMU; static const value_string valstr_015_V1_1_020_MOMU[] = { { 0, "Mono-Static Sensor" }, { 1, "Multi-Static Sensor" }, { 2, "Other" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I015_V1_1_020_MOMU = { 2, 1.0, FIELD_PART_UINT, &hf_015_V1_1_020_MOMU, NULL }; static int hf_015_V1_1_020_TTAX; static const value_string valstr_015_V1_1_020_TTAX[] = { { 0, "Actual Target Report" }, { 1, "Reference Target" }, { 2, "Synthetic Target" }, { 3, "Simulated / Replayed Target" }, { 0, NULL } }; static const FieldPart I015_V1_1_020_TTAX = { 2, 1.0, FIELD_PART_UINT, &hf_015_V1_1_020_TTAX, NULL }; static int hf_015_V1_1_020_SCD; static const value_string valstr_015_V1_1_020_SCD[] = { { 0, "Unknown" }, { 1, "Forward" }, { 2, "Backward" }, { 3, "Static" }, { 0, NULL } }; static const FieldPart I015_V1_1_020_SCD = { 2, 1.0, FIELD_PART_UINT, &hf_015_V1_1_020_SCD, NULL }; static const FieldPart *I015_V1_1_020_PARTS[] = { &I015_V1_1_020_MOMU, &I015_V1_1_020_TTAX, &I015_V1_1_020_SCD, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I015_V1_1_020 = { FX, 1, 0, 0, &hf_015_V1_1_020, I015_V1_1_020_PARTS, { NULL } }; static int hf_015_V1_1_030; static int hf_015_V1_1_030_Subitem; static const FieldPart I015_V1_1_030_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_015_V1_1_030_Subitem, NULL }; static const FieldPart *I015_V1_1_030_PARTS[] = { &I015_V1_1_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I015_V1_1_030 = { FX, 1, 0, 0, &hf_015_V1_1_030, I015_V1_1_030_PARTS, { NULL } }; static int hf_015_V1_1_050; static int hf_015_V1_1_050_UPD; static const FieldPart I015_V1_1_050_UPD = { 14, 0.0078125, FIELD_PART_UFLOAT, &hf_015_V1_1_050_UPD, NULL }; static const FieldPart *I015_V1_1_050_PARTS[] = { &IXXX_2bit_spare, &I015_V1_1_050_UPD, NULL }; static const AsterixField I015_V1_1_050 = { FIXED, 2, 0, 0, &hf_015_V1_1_050, I015_V1_1_050_PARTS, { NULL } }; static int hf_015_V1_1_145; static int hf_015_V1_1_145_VALUE; static const FieldPart I015_V1_1_145_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_015_V1_1_145_VALUE, NULL }; static const FieldPart *I015_V1_1_145_PARTS[] = { &I015_V1_1_145_VALUE, NULL }; static const AsterixField I015_V1_1_145 = { FIXED, 3, 0, 0, &hf_015_V1_1_145, I015_V1_1_145_PARTS, { NULL } }; static int hf_015_V1_1_161; static int hf_015_V1_1_161_VALUE; static const FieldPart I015_V1_1_161_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_015_V1_1_161_VALUE, NULL }; static const FieldPart *I015_V1_1_161_PARTS[] = { &I015_V1_1_161_VALUE, NULL }; static const AsterixField I015_V1_1_161 = { FIXED, 2, 0, 0, &hf_015_V1_1_161, I015_V1_1_161_PARTS, { NULL } }; static int hf_015_V1_1_170; static int hf_015_V1_1_170_BIZ; static const value_string valstr_015_V1_1_170_BIZ[] = { { 0, "Target not in Blind Zone" }, { 1, "Target in Blind Zone" }, { 0, NULL } }; static const FieldPart I015_V1_1_170_BIZ = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_1_170_BIZ, NULL }; static int hf_015_V1_1_170_BAZ; static const value_string valstr_015_V1_1_170_BAZ[] = { { 0, "Target not in Blanked Zone" }, { 1, "Target in Blanked Zone" }, { 0, NULL } }; static const FieldPart I015_V1_1_170_BAZ = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_1_170_BAZ, NULL }; static int hf_015_V1_1_170_TUR; static const value_string valstr_015_V1_1_170_TUR[] = { { 0, "Track Alive" }, { 1, "Track Terminated by User Request" }, { 0, NULL } }; static const FieldPart I015_V1_1_170_TUR = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_1_170_TUR, NULL }; static int hf_015_V1_1_170_CSTP; static const value_string valstr_015_V1_1_170_CSTP[] = { { 0, "Not extrapolated" }, { 1, "Extrapolated" }, { 0, NULL } }; static const FieldPart I015_V1_1_170_CSTP = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_1_170_CSTP, NULL }; static int hf_015_V1_1_170_CSTH; static const value_string valstr_015_V1_1_170_CSTH[] = { { 0, "Not extrapolated" }, { 1, "Extrapolated" }, { 0, NULL } }; static const FieldPart I015_V1_1_170_CSTH = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_1_170_CSTH, NULL }; static int hf_015_V1_1_170_CNF; static const value_string valstr_015_V1_1_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I015_V1_1_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_015_V1_1_170_CNF, NULL }; static const FieldPart *I015_V1_1_170_PARTS[] = { &I015_V1_1_170_BIZ, &I015_V1_1_170_BAZ, &I015_V1_1_170_TUR, &IXXX_1bit_spare, &I015_V1_1_170_CSTP, &I015_V1_1_170_CSTH, &I015_V1_1_170_CNF, &IXXX_FX, NULL }; static const AsterixField I015_V1_1_170 = { FX, 1, 0, 0, &hf_015_V1_1_170, I015_V1_1_170_PARTS, { NULL } }; static int hf_015_V1_1_270; static int hf_015_V1_1_270_LEN; static int hf_015_V1_1_270_LEN_VALUE; static const FieldPart I015_V1_1_270_LEN_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_270_LEN_VALUE, NULL }; static const FieldPart *I015_V1_1_270_LEN_PARTS[] = { &I015_V1_1_270_LEN_VALUE, NULL }; static const AsterixField I015_V1_1_270_LEN = { FIXED, 2, 0, 0, &hf_015_V1_1_270_LEN, I015_V1_1_270_LEN_PARTS, { NULL } }; static int hf_015_V1_1_270_WDT; static int hf_015_V1_1_270_WDT_VALUE; static const FieldPart I015_V1_1_270_WDT_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_270_WDT_VALUE, NULL }; static const FieldPart *I015_V1_1_270_WDT_PARTS[] = { &I015_V1_1_270_WDT_VALUE, NULL }; static const AsterixField I015_V1_1_270_WDT = { FIXED, 2, 0, 0, &hf_015_V1_1_270_WDT, I015_V1_1_270_WDT_PARTS, { NULL } }; static int hf_015_V1_1_270_HGT; static int hf_015_V1_1_270_HGT_VALUE; static const FieldPart I015_V1_1_270_HGT_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_270_HGT_VALUE, NULL }; static const FieldPart *I015_V1_1_270_HGT_PARTS[] = { &I015_V1_1_270_HGT_VALUE, NULL }; static const AsterixField I015_V1_1_270_HGT = { FIXED, 2, 0, 0, &hf_015_V1_1_270_HGT, I015_V1_1_270_HGT_PARTS, { NULL } }; static int hf_015_V1_1_270_ORT; static int hf_015_V1_1_270_ORT_VALUE; static const FieldPart I015_V1_1_270_ORT_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_1_270_ORT_VALUE, NULL }; static const FieldPart *I015_V1_1_270_ORT_PARTS[] = { &I015_V1_1_270_ORT_VALUE, NULL }; static const AsterixField I015_V1_1_270_ORT = { FIXED, 2, 0, 0, &hf_015_V1_1_270_ORT, I015_V1_1_270_ORT_PARTS, { NULL } }; static const AsterixField I015_V1_1_270 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_270, NULL, { &I015_V1_1_270_LEN, &I015_V1_1_270_WDT, &I015_V1_1_270_HGT, &I015_V1_1_270_ORT, NULL } }; static int hf_015_V1_1_300; static int hf_015_V1_1_300_CLS; static const FieldPart I015_V1_1_300_CLS = { 9, 1.0, FIELD_PART_UINT, &hf_015_V1_1_300_CLS, NULL }; static int hf_015_V1_1_300_PRB; static const FieldPart I015_V1_1_300_PRB = { 7, 1.0, FIELD_PART_UINT, &hf_015_V1_1_300_PRB, NULL }; static const FieldPart *I015_V1_1_300_PARTS[] = { &I015_V1_1_300_CLS, &I015_V1_1_300_PRB, NULL }; static const AsterixField I015_V1_1_300 = { REPETITIVE, 2, 1, 0, &hf_015_V1_1_300, I015_V1_1_300_PARTS, { NULL } }; static int hf_015_V1_1_400; static int hf_015_V1_1_400_PID; static const FieldPart I015_V1_1_400_PID = { 16, 1.0, FIELD_PART_UINT, &hf_015_V1_1_400_PID, NULL }; static int hf_015_V1_1_400_ON; static const FieldPart I015_V1_1_400_ON = { 24, 1.0, FIELD_PART_UINT, &hf_015_V1_1_400_ON, NULL }; static const FieldPart *I015_V1_1_400_PARTS[] = { &I015_V1_1_400_PID, &I015_V1_1_400_ON, NULL }; static const AsterixField I015_V1_1_400 = { FIXED, 5, 0, 0, &hf_015_V1_1_400, I015_V1_1_400_PARTS, { NULL } }; static int hf_015_V1_1_480; static int hf_015_V1_1_480_VALUE; static const FieldPart I015_V1_1_480_VALUE = { 40, 1.0, FIELD_PART_HEX, &hf_015_V1_1_480_VALUE, NULL }; static const FieldPart *I015_V1_1_480_PARTS[] = { &I015_V1_1_480_VALUE, NULL }; static const AsterixField I015_V1_1_480 = { REPETITIVE, 5, 1, 0, &hf_015_V1_1_480, I015_V1_1_480_PARTS, { NULL } }; static int hf_015_V1_1_600; static int hf_015_V1_1_600_P84; static int hf_015_V1_1_600_P84_LATITUDE; static const FieldPart I015_V1_1_600_P84_LATITUDE = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_015_V1_1_600_P84_LATITUDE, NULL }; static int hf_015_V1_1_600_P84_LONGITUDE; static const FieldPart I015_V1_1_600_P84_LONGITUDE = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_015_V1_1_600_P84_LONGITUDE, NULL }; static const FieldPart *I015_V1_1_600_P84_PARTS[] = { &I015_V1_1_600_P84_LATITUDE, &I015_V1_1_600_P84_LONGITUDE, NULL }; static const AsterixField I015_V1_1_600_P84 = { FIXED, 8, 0, 0, &hf_015_V1_1_600_P84, I015_V1_1_600_P84_PARTS, { NULL } }; static int hf_015_V1_1_600_HPR; static int hf_015_V1_1_600_HPR_RSHPX; static const FieldPart I015_V1_1_600_HPR_RSHPX = { 16, 0.5, FIELD_PART_UFLOAT, &hf_015_V1_1_600_HPR_RSHPX, NULL }; static int hf_015_V1_1_600_HPR_RSHPY; static const FieldPart I015_V1_1_600_HPR_RSHPY = { 16, 0.5, FIELD_PART_UFLOAT, &hf_015_V1_1_600_HPR_RSHPY, NULL }; static int hf_015_V1_1_600_HPR_CORSHPXY; static const FieldPart I015_V1_1_600_HPR_CORSHPXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_600_HPR_CORSHPXY, NULL }; static const FieldPart *I015_V1_1_600_HPR_PARTS[] = { &I015_V1_1_600_HPR_RSHPX, &I015_V1_1_600_HPR_RSHPY, &I015_V1_1_600_HPR_CORSHPXY, NULL }; static const AsterixField I015_V1_1_600_HPR = { FIXED, 5, 0, 0, &hf_015_V1_1_600_HPR, I015_V1_1_600_HPR_PARTS, { NULL } }; static int hf_015_V1_1_600_HPP; static int hf_015_V1_1_600_HPP_SDHPX; static const FieldPart I015_V1_1_600_HPP_SDHPX = { 16, 0.25, FIELD_PART_UFLOAT, &hf_015_V1_1_600_HPP_SDHPX, NULL }; static int hf_015_V1_1_600_HPP_SDHPY; static const FieldPart I015_V1_1_600_HPP_SDHPY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_015_V1_1_600_HPP_SDHPY, NULL }; static int hf_015_V1_1_600_HPP_COSDHPXY; static const FieldPart I015_V1_1_600_HPP_COSDHPXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_600_HPP_COSDHPXY, NULL }; static const FieldPart *I015_V1_1_600_HPP_PARTS[] = { &I015_V1_1_600_HPP_SDHPX, &I015_V1_1_600_HPP_SDHPY, &I015_V1_1_600_HPP_COSDHPXY, NULL }; static const AsterixField I015_V1_1_600_HPP = { FIXED, 5, 0, 0, &hf_015_V1_1_600_HPP, I015_V1_1_600_HPP_PARTS, { NULL } }; static const AsterixField I015_V1_1_600 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_600, NULL, { &I015_V1_1_600_P84, &I015_V1_1_600_HPR, &I015_V1_1_600_HPP, NULL } }; static int hf_015_V1_1_601; static int hf_015_V1_1_601_GH; static int hf_015_V1_1_601_GH_VALUE; static const FieldPart I015_V1_1_601_GH_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_V1_1_601_GH_VALUE, NULL }; static const FieldPart *I015_V1_1_601_GH_PARTS[] = { &I015_V1_1_601_GH_VALUE, NULL }; static const AsterixField I015_V1_1_601_GH = { FIXED, 3, 0, 0, &hf_015_V1_1_601_GH, I015_V1_1_601_GH_PARTS, { NULL } }; static int hf_015_V1_1_601_RSGH; static int hf_015_V1_1_601_RSGH_VALUE; static const FieldPart I015_V1_1_601_RSGH_VALUE = { 24, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_601_RSGH_VALUE, NULL }; static const FieldPart *I015_V1_1_601_RSGH_PARTS[] = { &I015_V1_1_601_RSGH_VALUE, NULL }; static const AsterixField I015_V1_1_601_RSGH = { FIXED, 3, 0, 0, &hf_015_V1_1_601_RSGH, I015_V1_1_601_RSGH_PARTS, { NULL } }; static int hf_015_V1_1_601_SDGH; static int hf_015_V1_1_601_SDGH_VALUE; static const FieldPart I015_V1_1_601_SDGH_VALUE = { 24, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_601_SDGH_VALUE, NULL }; static const FieldPart *I015_V1_1_601_SDGH_PARTS[] = { &I015_V1_1_601_SDGH_VALUE, NULL }; static const AsterixField I015_V1_1_601_SDGH = { FIXED, 3, 0, 0, &hf_015_V1_1_601_SDGH, I015_V1_1_601_SDGH_PARTS, { NULL } }; static int hf_015_V1_1_601_CI6; static int hf_015_V1_1_601_CI6_UCI6; static const FieldPart I015_V1_1_601_CI6_UCI6 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_1_601_CI6_UCI6, NULL }; static int hf_015_V1_1_601_CI6_LCI6; static const FieldPart I015_V1_1_601_CI6_LCI6 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_1_601_CI6_LCI6, NULL }; static const FieldPart *I015_V1_1_601_CI6_PARTS[] = { &I015_V1_1_601_CI6_UCI6, &I015_V1_1_601_CI6_LCI6, NULL }; static const AsterixField I015_V1_1_601_CI6 = { FIXED, 3, 0, 0, &hf_015_V1_1_601_CI6, I015_V1_1_601_CI6_PARTS, { NULL } }; static int hf_015_V1_1_601_CI9; static int hf_015_V1_1_601_CI9_UCI9; static const FieldPart I015_V1_1_601_CI9_UCI9 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_1_601_CI9_UCI9, NULL }; static int hf_015_V1_1_601_CI9_LCI9; static const FieldPart I015_V1_1_601_CI9_LCI9 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_V1_1_601_CI9_LCI9, NULL }; static const FieldPart *I015_V1_1_601_CI9_PARTS[] = { &I015_V1_1_601_CI9_UCI9, &I015_V1_1_601_CI9_LCI9, NULL }; static const AsterixField I015_V1_1_601_CI9 = { FIXED, 3, 0, 0, &hf_015_V1_1_601_CI9, I015_V1_1_601_CI9_PARTS, { NULL } }; static int hf_015_V1_1_601_COGHHP; static int hf_015_V1_1_601_COGHHP_X; static const FieldPart I015_V1_1_601_COGHHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_601_COGHHP_X, NULL }; static int hf_015_V1_1_601_COGHHP_Y; static const FieldPart I015_V1_1_601_COGHHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_601_COGHHP_Y, NULL }; static const FieldPart *I015_V1_1_601_COGHHP_PARTS[] = { &I015_V1_1_601_COGHHP_X, &I015_V1_1_601_COGHHP_Y, NULL }; static const AsterixField I015_V1_1_601_COGHHP = { FIXED, 2, 0, 0, &hf_015_V1_1_601_COGHHP, I015_V1_1_601_COGHHP_PARTS, { NULL } }; static int hf_015_V1_1_601_COGHHV; static int hf_015_V1_1_601_COGHHV_X; static const FieldPart I015_V1_1_601_COGHHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_601_COGHHV_X, NULL }; static int hf_015_V1_1_601_COGHHV_Y; static const FieldPart I015_V1_1_601_COGHHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_601_COGHHV_Y, NULL }; static const FieldPart *I015_V1_1_601_COGHHV_PARTS[] = { &I015_V1_1_601_COGHHV_X, &I015_V1_1_601_COGHHV_Y, NULL }; static const AsterixField I015_V1_1_601_COGHHV = { FIXED, 2, 0, 0, &hf_015_V1_1_601_COGHHV, I015_V1_1_601_COGHHV_PARTS, { NULL } }; static int hf_015_V1_1_601_COGHHA; static int hf_015_V1_1_601_COGHHA_X; static const FieldPart I015_V1_1_601_COGHHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_601_COGHHA_X, NULL }; static int hf_015_V1_1_601_COGHHA_Y; static const FieldPart I015_V1_1_601_COGHHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_601_COGHHA_Y, NULL }; static const FieldPart *I015_V1_1_601_COGHHA_PARTS[] = { &I015_V1_1_601_COGHHA_X, &I015_V1_1_601_COGHHA_Y, NULL }; static const AsterixField I015_V1_1_601_COGHHA = { FIXED, 2, 0, 0, &hf_015_V1_1_601_COGHHA, I015_V1_1_601_COGHHA_PARTS, { NULL } }; static const AsterixField I015_V1_1_601 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_601, NULL, { &I015_V1_1_601_GH, &I015_V1_1_601_RSGH, &I015_V1_1_601_SDGH, &I015_V1_1_601_CI6, &I015_V1_1_601_CI9, &I015_V1_1_601_COGHHP, &I015_V1_1_601_COGHHV, &I015_V1_1_601_COGHHA, NULL } }; static int hf_015_V1_1_602; static int hf_015_V1_1_602_HV; static int hf_015_V1_1_602_HV_X; static const FieldPart I015_V1_1_602_HV_X = { 20, 0.01, FIELD_PART_FLOAT, &hf_015_V1_1_602_HV_X, NULL }; static int hf_015_V1_1_602_HV_Y; static const FieldPart I015_V1_1_602_HV_Y = { 20, 0.01, FIELD_PART_FLOAT, &hf_015_V1_1_602_HV_Y, NULL }; static const FieldPart *I015_V1_1_602_HV_PARTS[] = { &I015_V1_1_602_HV_X, &I015_V1_1_602_HV_Y, NULL }; static const AsterixField I015_V1_1_602_HV = { FIXED, 5, 0, 0, &hf_015_V1_1_602_HV, I015_V1_1_602_HV_PARTS, { NULL } }; static int hf_015_V1_1_602_RSHV; static int hf_015_V1_1_602_RSHV_X; static const FieldPart I015_V1_1_602_RSHV_X = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_602_RSHV_X, NULL }; static int hf_015_V1_1_602_RSHV_Y; static const FieldPart I015_V1_1_602_RSHV_Y = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_602_RSHV_Y, NULL }; static int hf_015_V1_1_602_RSHV_CORSHVXY; static const FieldPart I015_V1_1_602_RSHV_CORSHVXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_602_RSHV_CORSHVXY, NULL }; static const FieldPart *I015_V1_1_602_RSHV_PARTS[] = { &I015_V1_1_602_RSHV_X, &I015_V1_1_602_RSHV_Y, &I015_V1_1_602_RSHV_CORSHVXY, NULL }; static const AsterixField I015_V1_1_602_RSHV = { FIXED, 5, 0, 0, &hf_015_V1_1_602_RSHV, I015_V1_1_602_RSHV_PARTS, { NULL } }; static int hf_015_V1_1_602_SDHV; static int hf_015_V1_1_602_SDHV_X; static const FieldPart I015_V1_1_602_SDHV_X = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_602_SDHV_X, NULL }; static int hf_015_V1_1_602_SDHV_Y; static const FieldPart I015_V1_1_602_SDHV_Y = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_602_SDHV_Y, NULL }; static int hf_015_V1_1_602_SDHV_COHVXY; static const FieldPart I015_V1_1_602_SDHV_COHVXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_602_SDHV_COHVXY, NULL }; static const FieldPart *I015_V1_1_602_SDHV_PARTS[] = { &I015_V1_1_602_SDHV_X, &I015_V1_1_602_SDHV_Y, &I015_V1_1_602_SDHV_COHVXY, NULL }; static const AsterixField I015_V1_1_602_SDHV = { FIXED, 5, 0, 0, &hf_015_V1_1_602_SDHV, I015_V1_1_602_SDHV_PARTS, { NULL } }; static int hf_015_V1_1_602_COHVHP; static int hf_015_V1_1_602_COHVHP_COHVXHPX; static const FieldPart I015_V1_1_602_COHVHP_COHVXHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_602_COHVHP_COHVXHPX, NULL }; static int hf_015_V1_1_602_COHVHP_COHVXHPY; static const FieldPart I015_V1_1_602_COHVHP_COHVXHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_602_COHVHP_COHVXHPY, NULL }; static int hf_015_V1_1_602_COHVHP_COHVYHPX; static const FieldPart I015_V1_1_602_COHVHP_COHVYHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_602_COHVHP_COHVYHPX, NULL }; static int hf_015_V1_1_602_COHVHP_COHVYHPY; static const FieldPart I015_V1_1_602_COHVHP_COHVYHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_602_COHVHP_COHVYHPY, NULL }; static const FieldPart *I015_V1_1_602_COHVHP_PARTS[] = { &I015_V1_1_602_COHVHP_COHVXHPX, &I015_V1_1_602_COHVHP_COHVXHPY, &I015_V1_1_602_COHVHP_COHVYHPX, &I015_V1_1_602_COHVHP_COHVYHPY, NULL }; static const AsterixField I015_V1_1_602_COHVHP = { FIXED, 4, 0, 0, &hf_015_V1_1_602_COHVHP, I015_V1_1_602_COHVHP_PARTS, { NULL } }; static const AsterixField I015_V1_1_602 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_602, NULL, { &I015_V1_1_602_HV, &I015_V1_1_602_RSHV, &I015_V1_1_602_SDHV, &I015_V1_1_602_COHVHP, NULL } }; static int hf_015_V1_1_603; static int hf_015_V1_1_603_HA; static int hf_015_V1_1_603_HA_X; static const FieldPart I015_V1_1_603_HA_X = { 12, 0.0625, FIELD_PART_FLOAT, &hf_015_V1_1_603_HA_X, NULL }; static int hf_015_V1_1_603_HA_Y; static const FieldPart I015_V1_1_603_HA_Y = { 12, 0.0625, FIELD_PART_FLOAT, &hf_015_V1_1_603_HA_Y, NULL }; static const FieldPart *I015_V1_1_603_HA_PARTS[] = { &I015_V1_1_603_HA_X, &I015_V1_1_603_HA_Y, NULL }; static const AsterixField I015_V1_1_603_HA = { FIXED, 3, 0, 0, &hf_015_V1_1_603_HA, I015_V1_1_603_HA_PARTS, { NULL } }; static int hf_015_V1_1_603_SDHA; static int hf_015_V1_1_603_SDHA_X; static const FieldPart I015_V1_1_603_SDHA_X = { 12, 0.0625, FIELD_PART_UFLOAT, &hf_015_V1_1_603_SDHA_X, NULL }; static int hf_015_V1_1_603_SDHA_Y; static const FieldPart I015_V1_1_603_SDHA_Y = { 12, 0.0625, FIELD_PART_UFLOAT, &hf_015_V1_1_603_SDHA_Y, NULL }; static int hf_015_V1_1_603_SDHA_COHAXY; static const FieldPart I015_V1_1_603_SDHA_COHAXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_SDHA_COHAXY, NULL }; static const FieldPart *I015_V1_1_603_SDHA_PARTS[] = { &I015_V1_1_603_SDHA_X, &I015_V1_1_603_SDHA_Y, &I015_V1_1_603_SDHA_COHAXY, NULL }; static const AsterixField I015_V1_1_603_SDHA = { FIXED, 4, 0, 0, &hf_015_V1_1_603_SDHA, I015_V1_1_603_SDHA_PARTS, { NULL } }; static int hf_015_V1_1_603_COHAHP; static int hf_015_V1_1_603_COHAHP_COHAXHPX; static const FieldPart I015_V1_1_603_COHAHP_COHAXHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHP_COHAXHPX, NULL }; static int hf_015_V1_1_603_COHAHP_COHAXHPY; static const FieldPart I015_V1_1_603_COHAHP_COHAXHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHP_COHAXHPY, NULL }; static int hf_015_V1_1_603_COHAHP_COHAYHPX; static const FieldPart I015_V1_1_603_COHAHP_COHAYHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHP_COHAYHPX, NULL }; static int hf_015_V1_1_603_COHAHP_COAYHPY; static const FieldPart I015_V1_1_603_COHAHP_COAYHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHP_COAYHPY, NULL }; static const FieldPart *I015_V1_1_603_COHAHP_PARTS[] = { &I015_V1_1_603_COHAHP_COHAXHPX, &I015_V1_1_603_COHAHP_COHAXHPY, &I015_V1_1_603_COHAHP_COHAYHPX, &I015_V1_1_603_COHAHP_COAYHPY, NULL }; static const AsterixField I015_V1_1_603_COHAHP = { FIXED, 4, 0, 0, &hf_015_V1_1_603_COHAHP, I015_V1_1_603_COHAHP_PARTS, { NULL } }; static int hf_015_V1_1_603_COHAHV; static int hf_015_V1_1_603_COHAHV_COHAXHVX; static const FieldPart I015_V1_1_603_COHAHV_COHAXHVX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHV_COHAXHVX, NULL }; static int hf_015_V1_1_603_COHAHV_COHAXHVY; static const FieldPart I015_V1_1_603_COHAHV_COHAXHVY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHV_COHAXHVY, NULL }; static int hf_015_V1_1_603_COHAHV_COHAYHVX; static const FieldPart I015_V1_1_603_COHAHV_COHAYHVX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHV_COHAYHVX, NULL }; static int hf_015_V1_1_603_COHAHV_COHAYHVY; static const FieldPart I015_V1_1_603_COHAHV_COHAYHVY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_603_COHAHV_COHAYHVY, NULL }; static const FieldPart *I015_V1_1_603_COHAHV_PARTS[] = { &I015_V1_1_603_COHAHV_COHAXHVX, &I015_V1_1_603_COHAHV_COHAXHVY, &I015_V1_1_603_COHAHV_COHAYHVX, &I015_V1_1_603_COHAHV_COHAYHVY, NULL }; static const AsterixField I015_V1_1_603_COHAHV = { FIXED, 4, 0, 0, &hf_015_V1_1_603_COHAHV, I015_V1_1_603_COHAHV_PARTS, { NULL } }; static const AsterixField I015_V1_1_603 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_603, NULL, { &I015_V1_1_603_HA, &I015_V1_1_603_SDHA, &I015_V1_1_603_COHAHP, &I015_V1_1_603_COHAHV, NULL } }; static int hf_015_V1_1_604; static int hf_015_V1_1_604_VV; static int hf_015_V1_1_604_VV_VALUE; static const FieldPart I015_V1_1_604_VV_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_V1_1_604_VV_VALUE, NULL }; static const FieldPart *I015_V1_1_604_VV_PARTS[] = { &I015_V1_1_604_VV_VALUE, NULL }; static const AsterixField I015_V1_1_604_VV = { FIXED, 3, 0, 0, &hf_015_V1_1_604_VV, I015_V1_1_604_VV_PARTS, { NULL } }; static int hf_015_V1_1_604_RSVV; static int hf_015_V1_1_604_RSVV_VALUE; static const FieldPart I015_V1_1_604_RSVV_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_604_RSVV_VALUE, NULL }; static const FieldPart *I015_V1_1_604_RSVV_PARTS[] = { &I015_V1_1_604_RSVV_VALUE, NULL }; static const AsterixField I015_V1_1_604_RSVV = { FIXED, 2, 0, 0, &hf_015_V1_1_604_RSVV, I015_V1_1_604_RSVV_PARTS, { NULL } }; static int hf_015_V1_1_604_SDVV; static int hf_015_V1_1_604_SDVV_SDVV; static const FieldPart I015_V1_1_604_SDVV_SDVV = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_604_SDVV_SDVV, NULL }; static int hf_015_V1_1_604_SDVV_COVVGH; static const FieldPart I015_V1_1_604_SDVV_COVVGH = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_604_SDVV_COVVGH, NULL }; static const FieldPart *I015_V1_1_604_SDVV_PARTS[] = { &I015_V1_1_604_SDVV_SDVV, &I015_V1_1_604_SDVV_COVVGH, NULL }; static const AsterixField I015_V1_1_604_SDVV = { FIXED, 3, 0, 0, &hf_015_V1_1_604_SDVV, I015_V1_1_604_SDVV_PARTS, { NULL } }; static int hf_015_V1_1_604_COVVHP; static int hf_015_V1_1_604_COVVHP_X; static const FieldPart I015_V1_1_604_COVVHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_604_COVVHP_X, NULL }; static int hf_015_V1_1_604_COVVHP_Y; static const FieldPart I015_V1_1_604_COVVHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_604_COVVHP_Y, NULL }; static const FieldPart *I015_V1_1_604_COVVHP_PARTS[] = { &I015_V1_1_604_COVVHP_X, &I015_V1_1_604_COVVHP_Y, NULL }; static const AsterixField I015_V1_1_604_COVVHP = { FIXED, 2, 0, 0, &hf_015_V1_1_604_COVVHP, I015_V1_1_604_COVVHP_PARTS, { NULL } }; static int hf_015_V1_1_604_COVVHV; static int hf_015_V1_1_604_COVVHV_X; static const FieldPart I015_V1_1_604_COVVHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_604_COVVHV_X, NULL }; static int hf_015_V1_1_604_COVVHV_Y; static const FieldPart I015_V1_1_604_COVVHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_604_COVVHV_Y, NULL }; static const FieldPart *I015_V1_1_604_COVVHV_PARTS[] = { &I015_V1_1_604_COVVHV_X, &I015_V1_1_604_COVVHV_Y, NULL }; static const AsterixField I015_V1_1_604_COVVHV = { FIXED, 2, 0, 0, &hf_015_V1_1_604_COVVHV, I015_V1_1_604_COVVHV_PARTS, { NULL } }; static int hf_015_V1_1_604_COVVHA; static int hf_015_V1_1_604_COVVHA_X; static const FieldPart I015_V1_1_604_COVVHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_604_COVVHA_X, NULL }; static int hf_015_V1_1_604_COVVHA_Y; static const FieldPart I015_V1_1_604_COVVHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_604_COVVHA_Y, NULL }; static const FieldPart *I015_V1_1_604_COVVHA_PARTS[] = { &I015_V1_1_604_COVVHA_X, &I015_V1_1_604_COVVHA_Y, NULL }; static const AsterixField I015_V1_1_604_COVVHA = { FIXED, 2, 0, 0, &hf_015_V1_1_604_COVVHA, I015_V1_1_604_COVVHA_PARTS, { NULL } }; static const AsterixField I015_V1_1_604 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_604, NULL, { &I015_V1_1_604_VV, &I015_V1_1_604_RSVV, &I015_V1_1_604_SDVV, &I015_V1_1_604_COVVHP, &I015_V1_1_604_COVVHV, &I015_V1_1_604_COVVHA, NULL } }; static int hf_015_V1_1_605; static int hf_015_V1_1_605_VA; static int hf_015_V1_1_605_VA_VALUE; static const FieldPart I015_V1_1_605_VA_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_015_V1_1_605_VA_VALUE, NULL }; static const FieldPart *I015_V1_1_605_VA_PARTS[] = { &I015_V1_1_605_VA_VALUE, NULL }; static const AsterixField I015_V1_1_605_VA = { FIXED, 2, 0, 0, &hf_015_V1_1_605_VA, I015_V1_1_605_VA_PARTS, { NULL } }; static int hf_015_V1_1_605_RSVA; static int hf_015_V1_1_605_RSVA_SDVA; static const FieldPart I015_V1_1_605_RSVA_SDVA = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_V1_1_605_RSVA_SDVA, NULL }; static int hf_015_V1_1_605_RSVA_COVAGH; static const FieldPart I015_V1_1_605_RSVA_COVAGH = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_RSVA_COVAGH, NULL }; static int hf_015_V1_1_605_RSVA_COVAVV; static const FieldPart I015_V1_1_605_RSVA_COVAVV = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_RSVA_COVAVV, NULL }; static const FieldPart *I015_V1_1_605_RSVA_PARTS[] = { &I015_V1_1_605_RSVA_SDVA, &I015_V1_1_605_RSVA_COVAGH, &I015_V1_1_605_RSVA_COVAVV, NULL }; static const AsterixField I015_V1_1_605_RSVA = { FIXED, 4, 0, 0, &hf_015_V1_1_605_RSVA, I015_V1_1_605_RSVA_PARTS, { NULL } }; static int hf_015_V1_1_605_COVAHP; static int hf_015_V1_1_605_COVAHP_X; static const FieldPart I015_V1_1_605_COVAHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_COVAHP_X, NULL }; static int hf_015_V1_1_605_COVAHP_Y; static const FieldPart I015_V1_1_605_COVAHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_COVAHP_Y, NULL }; static const FieldPart *I015_V1_1_605_COVAHP_PARTS[] = { &I015_V1_1_605_COVAHP_X, &I015_V1_1_605_COVAHP_Y, NULL }; static const AsterixField I015_V1_1_605_COVAHP = { FIXED, 2, 0, 0, &hf_015_V1_1_605_COVAHP, I015_V1_1_605_COVAHP_PARTS, { NULL } }; static int hf_015_V1_1_605_COVAHV; static int hf_015_V1_1_605_COVAHV_X; static const FieldPart I015_V1_1_605_COVAHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_COVAHV_X, NULL }; static int hf_015_V1_1_605_COVAHV_Y; static const FieldPart I015_V1_1_605_COVAHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_COVAHV_Y, NULL }; static const FieldPart *I015_V1_1_605_COVAHV_PARTS[] = { &I015_V1_1_605_COVAHV_X, &I015_V1_1_605_COVAHV_Y, NULL }; static const AsterixField I015_V1_1_605_COVAHV = { FIXED, 2, 0, 0, &hf_015_V1_1_605_COVAHV, I015_V1_1_605_COVAHV_PARTS, { NULL } }; static int hf_015_V1_1_605_COVAHA; static int hf_015_V1_1_605_COVAHA_X; static const FieldPart I015_V1_1_605_COVAHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_COVAHA_X, NULL }; static int hf_015_V1_1_605_COVAHA_Y; static const FieldPart I015_V1_1_605_COVAHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_605_COVAHA_Y, NULL }; static const FieldPart *I015_V1_1_605_COVAHA_PARTS[] = { &I015_V1_1_605_COVAHA_X, &I015_V1_1_605_COVAHA_Y, NULL }; static const AsterixField I015_V1_1_605_COVAHA = { FIXED, 2, 0, 0, &hf_015_V1_1_605_COVAHA, I015_V1_1_605_COVAHA_PARTS, { NULL } }; static const AsterixField I015_V1_1_605 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_605, NULL, { &I015_V1_1_605_VA, &I015_V1_1_605_RSVA, &I015_V1_1_605_COVAHP, &I015_V1_1_605_COVAHV, &I015_V1_1_605_COVAHA, NULL } }; static int hf_015_V1_1_625; static int hf_015_V1_1_625_R; static int hf_015_V1_1_625_R_VALUE; static const FieldPart I015_V1_1_625_R_VALUE = { 24, 0.1, FIELD_PART_FLOAT, &hf_015_V1_1_625_R_VALUE, NULL }; static const FieldPart *I015_V1_1_625_R_PARTS[] = { &I015_V1_1_625_R_VALUE, NULL }; static const AsterixField I015_V1_1_625_R = { FIXED, 3, 0, 0, &hf_015_V1_1_625_R, I015_V1_1_625_R_PARTS, { NULL } }; static int hf_015_V1_1_625_RSR; static int hf_015_V1_1_625_RSR_VALUE; static const FieldPart I015_V1_1_625_RSR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_1_625_RSR_VALUE, NULL }; static const FieldPart *I015_V1_1_625_RSR_PARTS[] = { &I015_V1_1_625_RSR_VALUE, NULL }; static const AsterixField I015_V1_1_625_RSR = { FIXED, 3, 0, 0, &hf_015_V1_1_625_RSR, I015_V1_1_625_RSR_PARTS, { NULL } }; static int hf_015_V1_1_625_SDR; static int hf_015_V1_1_625_SDR_VALUE; static const FieldPart I015_V1_1_625_SDR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_1_625_SDR_VALUE, NULL }; static const FieldPart *I015_V1_1_625_SDR_PARTS[] = { &I015_V1_1_625_SDR_VALUE, NULL }; static const AsterixField I015_V1_1_625_SDR = { FIXED, 3, 0, 0, &hf_015_V1_1_625_SDR, I015_V1_1_625_SDR_PARTS, { NULL } }; static int hf_015_V1_1_625_RR; static int hf_015_V1_1_625_RR_VALUE; static const FieldPart I015_V1_1_625_RR_VALUE = { 24, 0.1, FIELD_PART_FLOAT, &hf_015_V1_1_625_RR_VALUE, NULL }; static const FieldPart *I015_V1_1_625_RR_PARTS[] = { &I015_V1_1_625_RR_VALUE, NULL }; static const AsterixField I015_V1_1_625_RR = { FIXED, 3, 0, 0, &hf_015_V1_1_625_RR, I015_V1_1_625_RR_PARTS, { NULL } }; static int hf_015_V1_1_625_RSRR; static int hf_015_V1_1_625_RSRR_VALUE; static const FieldPart I015_V1_1_625_RSRR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_1_625_RSRR_VALUE, NULL }; static const FieldPart *I015_V1_1_625_RSRR_PARTS[] = { &I015_V1_1_625_RSRR_VALUE, NULL }; static const AsterixField I015_V1_1_625_RSRR = { FIXED, 3, 0, 0, &hf_015_V1_1_625_RSRR, I015_V1_1_625_RSRR_PARTS, { NULL } }; static int hf_015_V1_1_625_SDRR; static int hf_015_V1_1_625_SDRR_SDRR; static const FieldPart I015_V1_1_625_SDRR_SDRR = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_V1_1_625_SDRR_SDRR, NULL }; static int hf_015_V1_1_625_SDRR_CORRR; static const FieldPart I015_V1_1_625_SDRR_CORRR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_625_SDRR_CORRR, NULL }; static const FieldPart *I015_V1_1_625_SDRR_PARTS[] = { &I015_V1_1_625_SDRR_SDRR, &I015_V1_1_625_SDRR_CORRR, NULL }; static const AsterixField I015_V1_1_625_SDRR = { FIXED, 4, 0, 0, &hf_015_V1_1_625_SDRR, I015_V1_1_625_SDRR_PARTS, { NULL } }; static int hf_015_V1_1_625_RA; static int hf_015_V1_1_625_RA_VALUE; static const FieldPart I015_V1_1_625_RA_VALUE = { 16, 0.015625, FIELD_PART_FLOAT, &hf_015_V1_1_625_RA_VALUE, NULL }; static const FieldPart *I015_V1_1_625_RA_PARTS[] = { &I015_V1_1_625_RA_VALUE, NULL }; static const AsterixField I015_V1_1_625_RA = { FIXED, 2, 0, 0, &hf_015_V1_1_625_RA, I015_V1_1_625_RA_PARTS, { NULL } }; static int hf_015_V1_1_625_SDRA; static int hf_015_V1_1_625_SDRA_SDRA; static const FieldPart I015_V1_1_625_SDRA_SDRA = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_015_V1_1_625_SDRA_SDRA, NULL }; static int hf_015_V1_1_625_SDRA_CORAR; static const FieldPart I015_V1_1_625_SDRA_CORAR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_625_SDRA_CORAR, NULL }; static int hf_015_V1_1_625_SDRA_CORARR; static const FieldPart I015_V1_1_625_SDRA_CORARR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_625_SDRA_CORARR, NULL }; static const FieldPart *I015_V1_1_625_SDRA_PARTS[] = { &I015_V1_1_625_SDRA_SDRA, &I015_V1_1_625_SDRA_CORAR, &I015_V1_1_625_SDRA_CORARR, NULL }; static const AsterixField I015_V1_1_625_SDRA = { FIXED, 4, 0, 0, &hf_015_V1_1_625_SDRA, I015_V1_1_625_SDRA_PARTS, { NULL } }; static const AsterixField I015_V1_1_625 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_625, NULL, { &I015_V1_1_625_R, &I015_V1_1_625_RSR, &I015_V1_1_625_SDR, &I015_V1_1_625_RR, &I015_V1_1_625_RSRR, &I015_V1_1_625_SDRR, &I015_V1_1_625_RA, &I015_V1_1_625_SDRA, NULL } }; static int hf_015_V1_1_626; static int hf_015_V1_1_626_DV; static int hf_015_V1_1_626_DV_VALUE; static const FieldPart I015_V1_1_626_DV_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_V1_1_626_DV_VALUE, NULL }; static const FieldPart *I015_V1_1_626_DV_PARTS[] = { &I015_V1_1_626_DV_VALUE, NULL }; static const AsterixField I015_V1_1_626_DV = { FIXED, 3, 0, 0, &hf_015_V1_1_626_DV, I015_V1_1_626_DV_PARTS, { NULL } }; static int hf_015_V1_1_626_SDDV; static int hf_015_V1_1_626_SDDV_VALUE; static const FieldPart I015_V1_1_626_SDDV_VALUE = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_015_V1_1_626_SDDV_VALUE, NULL }; static const FieldPart *I015_V1_1_626_SDDV_PARTS[] = { &I015_V1_1_626_SDDV_VALUE, NULL }; static const AsterixField I015_V1_1_626_SDDV = { FIXED, 2, 0, 0, &hf_015_V1_1_626_SDDV, I015_V1_1_626_SDDV_PARTS, { NULL } }; static int hf_015_V1_1_626_DA; static int hf_015_V1_1_626_DA_VALUE; static const FieldPart I015_V1_1_626_DA_VALUE = { 16, 0.015625, FIELD_PART_FLOAT, &hf_015_V1_1_626_DA_VALUE, NULL }; static const FieldPart *I015_V1_1_626_DA_PARTS[] = { &I015_V1_1_626_DA_VALUE, NULL }; static const AsterixField I015_V1_1_626_DA = { FIXED, 2, 0, 0, &hf_015_V1_1_626_DA, I015_V1_1_626_DA_PARTS, { NULL } }; static int hf_015_V1_1_626_SDDA; static int hf_015_V1_1_626_SDDA_SDDA; static const FieldPart I015_V1_1_626_SDDA_SDDA = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_015_V1_1_626_SDDA_SDDA, NULL }; static int hf_015_V1_1_626_SDDA_CODADV; static const FieldPart I015_V1_1_626_SDDA_CODADV = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_626_SDDA_CODADV, NULL }; static const FieldPart *I015_V1_1_626_SDDA_PARTS[] = { &I015_V1_1_626_SDDA_SDDA, &I015_V1_1_626_SDDA_CODADV, NULL }; static const AsterixField I015_V1_1_626_SDDA = { FIXED, 3, 0, 0, &hf_015_V1_1_626_SDDA, I015_V1_1_626_SDDA_PARTS, { NULL } }; static int hf_015_V1_1_626_CODVR; static int hf_015_V1_1_626_CODVR_VALUE; static const FieldPart I015_V1_1_626_CODVR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_626_CODVR_VALUE, NULL }; static const FieldPart *I015_V1_1_626_CODVR_PARTS[] = { &I015_V1_1_626_CODVR_VALUE, NULL }; static const AsterixField I015_V1_1_626_CODVR = { FIXED, 1, 0, 0, &hf_015_V1_1_626_CODVR, I015_V1_1_626_CODVR_PARTS, { NULL } }; static int hf_015_V1_1_626_CODVRR; static int hf_015_V1_1_626_CODVRR_VALUE; static const FieldPart I015_V1_1_626_CODVRR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_626_CODVRR_VALUE, NULL }; static const FieldPart *I015_V1_1_626_CODVRR_PARTS[] = { &I015_V1_1_626_CODVRR_VALUE, NULL }; static const AsterixField I015_V1_1_626_CODVRR = { FIXED, 1, 0, 0, &hf_015_V1_1_626_CODVRR, I015_V1_1_626_CODVRR_PARTS, { NULL } }; static int hf_015_V1_1_626_CODVRA; static int hf_015_V1_1_626_CODVRA_VALUE; static const FieldPart I015_V1_1_626_CODVRA_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_626_CODVRA_VALUE, NULL }; static const FieldPart *I015_V1_1_626_CODVRA_PARTS[] = { &I015_V1_1_626_CODVRA_VALUE, NULL }; static const AsterixField I015_V1_1_626_CODVRA = { FIXED, 1, 0, 0, &hf_015_V1_1_626_CODVRA, I015_V1_1_626_CODVRA_PARTS, { NULL } }; static int hf_015_V1_1_626_CODAR; static int hf_015_V1_1_626_CODAR_VALUE; static const FieldPart I015_V1_1_626_CODAR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_626_CODAR_VALUE, NULL }; static const FieldPart *I015_V1_1_626_CODAR_PARTS[] = { &I015_V1_1_626_CODAR_VALUE, NULL }; static const AsterixField I015_V1_1_626_CODAR = { FIXED, 1, 0, 0, &hf_015_V1_1_626_CODAR, I015_V1_1_626_CODAR_PARTS, { NULL } }; static int hf_015_V1_1_626_CODARR; static int hf_015_V1_1_626_CODARR_VALUE; static const FieldPart I015_V1_1_626_CODARR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_626_CODARR_VALUE, NULL }; static const FieldPart *I015_V1_1_626_CODARR_PARTS[] = { &I015_V1_1_626_CODARR_VALUE, NULL }; static const AsterixField I015_V1_1_626_CODARR = { FIXED, 1, 0, 0, &hf_015_V1_1_626_CODARR, I015_V1_1_626_CODARR_PARTS, { NULL } }; static int hf_015_V1_1_626_CODARA; static int hf_015_V1_1_626_CODARA_VALUE; static const FieldPart I015_V1_1_626_CODARA_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_626_CODARA_VALUE, NULL }; static const FieldPart *I015_V1_1_626_CODARA_PARTS[] = { &I015_V1_1_626_CODARA_VALUE, NULL }; static const AsterixField I015_V1_1_626_CODARA = { FIXED, 1, 0, 0, &hf_015_V1_1_626_CODARA, I015_V1_1_626_CODARA_PARTS, { NULL } }; static const AsterixField I015_V1_1_626 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_626, NULL, { &I015_V1_1_626_DV, &I015_V1_1_626_SDDV, &I015_V1_1_626_DA, &I015_V1_1_626_SDDA, &I015_V1_1_626_CODVR, &I015_V1_1_626_CODVRR, &I015_V1_1_626_CODVRA, &I015_V1_1_626_CODAR, &I015_V1_1_626_CODARR, &I015_V1_1_626_CODARA, NULL } }; static int hf_015_V1_1_627; static int hf_015_V1_1_627_AZ; static int hf_015_V1_1_627_AZ_VALUE; static const FieldPart I015_V1_1_627_AZ_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_1_627_AZ_VALUE, NULL }; static const FieldPart *I015_V1_1_627_AZ_PARTS[] = { &I015_V1_1_627_AZ_VALUE, NULL }; static const AsterixField I015_V1_1_627_AZ = { FIXED, 2, 0, 0, &hf_015_V1_1_627_AZ, I015_V1_1_627_AZ_PARTS, { NULL } }; static int hf_015_V1_1_627_RSAZ; static int hf_015_V1_1_627_RSAZ_VALUE; static const FieldPart I015_V1_1_627_RSAZ_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_1_627_RSAZ_VALUE, NULL }; static const FieldPart *I015_V1_1_627_RSAZ_PARTS[] = { &I015_V1_1_627_RSAZ_VALUE, NULL }; static const AsterixField I015_V1_1_627_RSAZ = { FIXED, 2, 0, 0, &hf_015_V1_1_627_RSAZ, I015_V1_1_627_RSAZ_PARTS, { NULL } }; static int hf_015_V1_1_627_SDASZ; static int hf_015_V1_1_627_SDASZ_VALUE; static const FieldPart I015_V1_1_627_SDASZ_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_1_627_SDASZ_VALUE, NULL }; static const FieldPart *I015_V1_1_627_SDASZ_PARTS[] = { &I015_V1_1_627_SDASZ_VALUE, NULL }; static const AsterixField I015_V1_1_627_SDASZ = { FIXED, 2, 0, 0, &hf_015_V1_1_627_SDASZ, I015_V1_1_627_SDASZ_PARTS, { NULL } }; static int hf_015_V1_1_627_AZR; static int hf_015_V1_1_627_AZR_VALUE; static const FieldPart I015_V1_1_627_AZR_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_1_627_AZR_VALUE, NULL }; static const FieldPart *I015_V1_1_627_AZR_PARTS[] = { &I015_V1_1_627_AZR_VALUE, NULL }; static const AsterixField I015_V1_1_627_AZR = { FIXED, 2, 0, 0, &hf_015_V1_1_627_AZR, I015_V1_1_627_AZR_PARTS, { NULL } }; static int hf_015_V1_1_627_SDAZR; static int hf_015_V1_1_627_SDAZR_SDAZR; static const FieldPart I015_V1_1_627_SDAZR_SDAZR = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_1_627_SDAZR_SDAZR, NULL }; static int hf_015_V1_1_627_SDAZR_COAZRAZ; static const FieldPart I015_V1_1_627_SDAZR_COAZRAZ = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_627_SDAZR_COAZRAZ, NULL }; static const FieldPart *I015_V1_1_627_SDAZR_PARTS[] = { &I015_V1_1_627_SDAZR_SDAZR, &I015_V1_1_627_SDAZR_COAZRAZ, NULL }; static const AsterixField I015_V1_1_627_SDAZR = { FIXED, 3, 0, 0, &hf_015_V1_1_627_SDAZR, I015_V1_1_627_SDAZR_PARTS, { NULL } }; static int hf_015_V1_1_627_AZEX; static int hf_015_V1_1_627_AZEX_S; static const FieldPart I015_V1_1_627_AZEX_S = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_1_627_AZEX_S, NULL }; static int hf_015_V1_1_627_AZEX_E; static const FieldPart I015_V1_1_627_AZEX_E = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_1_627_AZEX_E, NULL }; static const FieldPart *I015_V1_1_627_AZEX_PARTS[] = { &I015_V1_1_627_AZEX_S, &I015_V1_1_627_AZEX_E, NULL }; static const AsterixField I015_V1_1_627_AZEX = { FIXED, 4, 0, 0, &hf_015_V1_1_627_AZEX, I015_V1_1_627_AZEX_PARTS, { NULL } }; static const AsterixField I015_V1_1_627 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_627, NULL, { &I015_V1_1_627_AZ, &I015_V1_1_627_RSAZ, &I015_V1_1_627_SDASZ, &I015_V1_1_627_AZR, &I015_V1_1_627_SDAZR, &I015_V1_1_627_AZEX, NULL } }; static int hf_015_V1_1_628; static int hf_015_V1_1_628_EL; static int hf_015_V1_1_628_EL_VALUE; static const FieldPart I015_V1_1_628_EL_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_1_628_EL_VALUE, NULL }; static const FieldPart *I015_V1_1_628_EL_PARTS[] = { &I015_V1_1_628_EL_VALUE, NULL }; static const AsterixField I015_V1_1_628_EL = { FIXED, 2, 0, 0, &hf_015_V1_1_628_EL, I015_V1_1_628_EL_PARTS, { NULL } }; static int hf_015_V1_1_628_RSEL; static int hf_015_V1_1_628_RSEL_VALUE; static const FieldPart I015_V1_1_628_RSEL_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_1_628_RSEL_VALUE, NULL }; static const FieldPart *I015_V1_1_628_RSEL_PARTS[] = { &I015_V1_1_628_RSEL_VALUE, NULL }; static const AsterixField I015_V1_1_628_RSEL = { FIXED, 2, 0, 0, &hf_015_V1_1_628_RSEL, I015_V1_1_628_RSEL_PARTS, { NULL } }; static int hf_015_V1_1_628_SDEL; static int hf_015_V1_1_628_SDEL_VALUE; static const FieldPart I015_V1_1_628_SDEL_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_1_628_SDEL_VALUE, NULL }; static const FieldPart *I015_V1_1_628_SDEL_PARTS[] = { &I015_V1_1_628_SDEL_VALUE, NULL }; static const AsterixField I015_V1_1_628_SDEL = { FIXED, 2, 0, 0, &hf_015_V1_1_628_SDEL, I015_V1_1_628_SDEL_PARTS, { NULL } }; static int hf_015_V1_1_628_ER; static int hf_015_V1_1_628_ER_VALUE; static const FieldPart I015_V1_1_628_ER_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_1_628_ER_VALUE, NULL }; static const FieldPart *I015_V1_1_628_ER_PARTS[] = { &I015_V1_1_628_ER_VALUE, NULL }; static const AsterixField I015_V1_1_628_ER = { FIXED, 2, 0, 0, &hf_015_V1_1_628_ER, I015_V1_1_628_ER_PARTS, { NULL } }; static int hf_015_V1_1_628_SDER; static int hf_015_V1_1_628_SDER_SDELR; static const FieldPart I015_V1_1_628_SDER_SDELR = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_V1_1_628_SDER_SDELR, NULL }; static int hf_015_V1_1_628_SDER_COELREL; static const FieldPart I015_V1_1_628_SDER_COELREL = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_V1_1_628_SDER_COELREL, NULL }; static const FieldPart *I015_V1_1_628_SDER_PARTS[] = { &I015_V1_1_628_SDER_SDELR, &I015_V1_1_628_SDER_COELREL, NULL }; static const AsterixField I015_V1_1_628_SDER = { FIXED, 3, 0, 0, &hf_015_V1_1_628_SDER, I015_V1_1_628_SDER_PARTS, { NULL } }; static int hf_015_V1_1_628_ELEX; static int hf_015_V1_1_628_ELEX_S; static const FieldPart I015_V1_1_628_ELEX_S = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_1_628_ELEX_S, NULL }; static int hf_015_V1_1_628_ELEX_E; static const FieldPart I015_V1_1_628_ELEX_E = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_1_628_ELEX_E, NULL }; static const FieldPart *I015_V1_1_628_ELEX_PARTS[] = { &I015_V1_1_628_ELEX_S, &I015_V1_1_628_ELEX_E, NULL }; static const AsterixField I015_V1_1_628_ELEX = { FIXED, 4, 0, 0, &hf_015_V1_1_628_ELEX, I015_V1_1_628_ELEX_PARTS, { NULL } }; static const AsterixField I015_V1_1_628 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_628, NULL, { &I015_V1_1_628_EL, &I015_V1_1_628_RSEL, &I015_V1_1_628_SDEL, &I015_V1_1_628_ER, &I015_V1_1_628_SDER, &I015_V1_1_628_ELEX, NULL } }; static int hf_015_V1_1_630; static int hf_015_V1_1_630_DPP; static int hf_015_V1_1_630_DPP_VALUE; static const FieldPart I015_V1_1_630_DPP_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_V1_1_630_DPP_VALUE, NULL }; static const FieldPart *I015_V1_1_630_DPP_PARTS[] = { &I015_V1_1_630_DPP_VALUE, NULL }; static const AsterixField I015_V1_1_630_DPP = { FIXED, 1, 0, 0, &hf_015_V1_1_630_DPP, I015_V1_1_630_DPP_PARTS, { NULL } }; static int hf_015_V1_1_630_DPS; static int hf_015_V1_1_630_DPS_VALUE; static const FieldPart I015_V1_1_630_DPS_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_V1_1_630_DPS_VALUE, NULL }; static const FieldPart *I015_V1_1_630_DPS_PARTS[] = { &I015_V1_1_630_DPS_VALUE, NULL }; static const AsterixField I015_V1_1_630_DPS = { FIXED, 1, 0, 0, &hf_015_V1_1_630_DPS, I015_V1_1_630_DPS_PARTS, { NULL } }; static int hf_015_V1_1_630_RPP; static int hf_015_V1_1_630_RPP_RPP; static const FieldPart I015_V1_1_630_RPP_RPP = { 9, 1.0, FIELD_PART_FLOAT, &hf_015_V1_1_630_RPP_RPP, NULL }; static const FieldPart *I015_V1_1_630_RPP_PARTS[] = { &IXXX_7bit_spare, &I015_V1_1_630_RPP_RPP, NULL }; static const AsterixField I015_V1_1_630_RPP = { FIXED, 2, 0, 0, &hf_015_V1_1_630_RPP, I015_V1_1_630_RPP_PARTS, { NULL } }; static int hf_015_V1_1_630_RPS; static int hf_015_V1_1_630_RPS_VALUE; static const FieldPart I015_V1_1_630_RPS_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_V1_1_630_RPS_VALUE, NULL }; static const FieldPart *I015_V1_1_630_RPS_PARTS[] = { &I015_V1_1_630_RPS_VALUE, NULL }; static const AsterixField I015_V1_1_630_RPS = { FIXED, 1, 0, 0, &hf_015_V1_1_630_RPS, I015_V1_1_630_RPS_PARTS, { NULL } }; static const AsterixField I015_V1_1_630 = { COMPOUND, 0, 0, 0, &hf_015_V1_1_630, NULL, { &I015_V1_1_630_DPP, &I015_V1_1_630_DPS, &I015_V1_1_630_RPP, &I015_V1_1_630_RPS, NULL } }; static int hf_015_V1_1_631; static int hf_015_V1_1_631_AZCON; static const FieldPart I015_V1_1_631_AZCON = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_V1_1_631_AZCON, NULL }; static int hf_015_V1_1_631_ELCON; static const FieldPart I015_V1_1_631_ELCON = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_V1_1_631_ELCON, NULL }; static int hf_015_V1_1_631_RGCONSTOP; static const FieldPart I015_V1_1_631_RGCONSTOP = { 16, 0.152587890625, FIELD_PART_UFLOAT, &hf_015_V1_1_631_RGCONSTOP, NULL }; static int hf_015_V1_1_631_RGCONSTART; static const FieldPart I015_V1_1_631_RGCONSTART = { 16, 0.152587890625, FIELD_PART_UFLOAT, &hf_015_V1_1_631_RGCONSTART, NULL }; static const FieldPart *I015_V1_1_631_PARTS[] = { &I015_V1_1_631_AZCON, &I015_V1_1_631_ELCON, &I015_V1_1_631_RGCONSTOP, &I015_V1_1_631_RGCONSTART, NULL }; static const AsterixField I015_V1_1_631 = { REPETITIVE, 8, 1, 0, &hf_015_V1_1_631, I015_V1_1_631_PARTS, { NULL } }; static int hf_015_V1_1_SP; static const AsterixField I015_V1_1_SP = { EXP, 0, 0, 1, &hf_015_V1_1_SP, NULL, { NULL } }; /* Category 015, edition 1.1 (latest) */ static int hf_015_000; static int hf_015_000_MT; static const value_string valstr_015_000_MT[] = { { 1, "Measurement Plot" }, { 2, "Measurement Track" }, { 3, "Sensor Centric Plot" }, { 4, "Sensor Centric Track" }, { 5, "Track End Message" }, { 0, NULL } }; static const FieldPart I015_000_MT = { 7, 1.0, FIELD_PART_UINT, &hf_015_000_MT, NULL }; static int hf_015_000_RG; static const value_string valstr_015_000_RG[] = { { 0, "Periodic Report" }, { 1, "Event Driven Report" }, { 0, NULL } }; static const FieldPart I015_000_RG = { 1, 1.0, FIELD_PART_UINT, &hf_015_000_RG, NULL }; static const FieldPart *I015_000_PARTS[] = { &I015_000_MT, &I015_000_RG, NULL }; static const AsterixField I015_000 = { FIXED, 1, 0, 0, &hf_015_000, I015_000_PARTS, { NULL } }; static int hf_015_010; static int hf_015_010_SAC; static const FieldPart I015_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_015_010_SAC, NULL }; static int hf_015_010_SIC; static const FieldPart I015_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_015_010_SIC, NULL }; static const FieldPart *I015_010_PARTS[] = { &I015_010_SAC, &I015_010_SIC, NULL }; static const AsterixField I015_010 = { FIXED, 2, 0, 0, &hf_015_010, I015_010_PARTS, { NULL } }; static int hf_015_015; static int hf_015_015_VALUE; static const FieldPart I015_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_015_015_VALUE, NULL }; static const FieldPart *I015_015_PARTS[] = { &I015_015_VALUE, NULL }; static const AsterixField I015_015 = { FIXED, 1, 0, 0, &hf_015_015, I015_015_PARTS, { NULL } }; static int hf_015_020; static int hf_015_020_MOMU; static const value_string valstr_015_020_MOMU[] = { { 0, "Mono-Static Sensor" }, { 1, "Multi-Static Sensor" }, { 2, "Other" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I015_020_MOMU = { 2, 1.0, FIELD_PART_UINT, &hf_015_020_MOMU, NULL }; static int hf_015_020_TTAX; static const value_string valstr_015_020_TTAX[] = { { 0, "Actual Target Report" }, { 1, "Reference Target" }, { 2, "Synthetic Target" }, { 3, "Simulated / Replayed Target" }, { 0, NULL } }; static const FieldPart I015_020_TTAX = { 2, 1.0, FIELD_PART_UINT, &hf_015_020_TTAX, NULL }; static int hf_015_020_SCD; static const value_string valstr_015_020_SCD[] = { { 0, "Unknown" }, { 1, "Forward" }, { 2, "Backward" }, { 3, "Static" }, { 0, NULL } }; static const FieldPart I015_020_SCD = { 2, 1.0, FIELD_PART_UINT, &hf_015_020_SCD, NULL }; static const FieldPart *I015_020_PARTS[] = { &I015_020_MOMU, &I015_020_TTAX, &I015_020_SCD, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I015_020 = { FX, 1, 0, 0, &hf_015_020, I015_020_PARTS, { NULL } }; static int hf_015_030; static int hf_015_030_Subitem; static const FieldPart I015_030_Subitem = { 7, 1.0, FIELD_PART_HEX, &hf_015_030_Subitem, NULL }; static const FieldPart *I015_030_PARTS[] = { &I015_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I015_030 = { FX, 1, 0, 0, &hf_015_030, I015_030_PARTS, { NULL } }; static int hf_015_050; static int hf_015_050_UPD; static const FieldPart I015_050_UPD = { 14, 0.0078125, FIELD_PART_UFLOAT, &hf_015_050_UPD, NULL }; static const FieldPart *I015_050_PARTS[] = { &IXXX_2bit_spare, &I015_050_UPD, NULL }; static const AsterixField I015_050 = { FIXED, 2, 0, 0, &hf_015_050, I015_050_PARTS, { NULL } }; static int hf_015_145; static int hf_015_145_VALUE; static const FieldPart I015_145_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_015_145_VALUE, NULL }; static const FieldPart *I015_145_PARTS[] = { &I015_145_VALUE, NULL }; static const AsterixField I015_145 = { FIXED, 3, 0, 0, &hf_015_145, I015_145_PARTS, { NULL } }; static int hf_015_161; static int hf_015_161_VALUE; static const FieldPart I015_161_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_015_161_VALUE, NULL }; static const FieldPart *I015_161_PARTS[] = { &I015_161_VALUE, NULL }; static const AsterixField I015_161 = { FIXED, 2, 0, 0, &hf_015_161, I015_161_PARTS, { NULL } }; static int hf_015_170; static int hf_015_170_BIZ; static const value_string valstr_015_170_BIZ[] = { { 0, "Target not in Blind Zone" }, { 1, "Target in Blind Zone" }, { 0, NULL } }; static const FieldPart I015_170_BIZ = { 1, 1.0, FIELD_PART_UINT, &hf_015_170_BIZ, NULL }; static int hf_015_170_BAZ; static const value_string valstr_015_170_BAZ[] = { { 0, "Target not in Blanked Zone" }, { 1, "Target in Blanked Zone" }, { 0, NULL } }; static const FieldPart I015_170_BAZ = { 1, 1.0, FIELD_PART_UINT, &hf_015_170_BAZ, NULL }; static int hf_015_170_TUR; static const value_string valstr_015_170_TUR[] = { { 0, "Track Alive" }, { 1, "Track Terminated by User Request" }, { 0, NULL } }; static const FieldPart I015_170_TUR = { 1, 1.0, FIELD_PART_UINT, &hf_015_170_TUR, NULL }; static int hf_015_170_CSTP; static const value_string valstr_015_170_CSTP[] = { { 0, "Not extrapolated" }, { 1, "Extrapolated" }, { 0, NULL } }; static const FieldPart I015_170_CSTP = { 1, 1.0, FIELD_PART_UINT, &hf_015_170_CSTP, NULL }; static int hf_015_170_CSTH; static const value_string valstr_015_170_CSTH[] = { { 0, "Not extrapolated" }, { 1, "Extrapolated" }, { 0, NULL } }; static const FieldPart I015_170_CSTH = { 1, 1.0, FIELD_PART_UINT, &hf_015_170_CSTH, NULL }; static int hf_015_170_CNF; static const value_string valstr_015_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I015_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_015_170_CNF, NULL }; static const FieldPart *I015_170_PARTS[] = { &I015_170_BIZ, &I015_170_BAZ, &I015_170_TUR, &IXXX_1bit_spare, &I015_170_CSTP, &I015_170_CSTH, &I015_170_CNF, &IXXX_FX, NULL }; static const AsterixField I015_170 = { FX, 1, 0, 0, &hf_015_170, I015_170_PARTS, { NULL } }; static int hf_015_270; static int hf_015_270_LEN; static int hf_015_270_LEN_VALUE; static const FieldPart I015_270_LEN_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_270_LEN_VALUE, NULL }; static const FieldPart *I015_270_LEN_PARTS[] = { &I015_270_LEN_VALUE, NULL }; static const AsterixField I015_270_LEN = { FIXED, 2, 0, 0, &hf_015_270_LEN, I015_270_LEN_PARTS, { NULL } }; static int hf_015_270_WDT; static int hf_015_270_WDT_VALUE; static const FieldPart I015_270_WDT_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_270_WDT_VALUE, NULL }; static const FieldPart *I015_270_WDT_PARTS[] = { &I015_270_WDT_VALUE, NULL }; static const AsterixField I015_270_WDT = { FIXED, 2, 0, 0, &hf_015_270_WDT, I015_270_WDT_PARTS, { NULL } }; static int hf_015_270_HGT; static int hf_015_270_HGT_VALUE; static const FieldPart I015_270_HGT_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_270_HGT_VALUE, NULL }; static const FieldPart *I015_270_HGT_PARTS[] = { &I015_270_HGT_VALUE, NULL }; static const AsterixField I015_270_HGT = { FIXED, 2, 0, 0, &hf_015_270_HGT, I015_270_HGT_PARTS, { NULL } }; static int hf_015_270_ORT; static int hf_015_270_ORT_VALUE; static const FieldPart I015_270_ORT_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_270_ORT_VALUE, NULL }; static const FieldPart *I015_270_ORT_PARTS[] = { &I015_270_ORT_VALUE, NULL }; static const AsterixField I015_270_ORT = { FIXED, 2, 0, 0, &hf_015_270_ORT, I015_270_ORT_PARTS, { NULL } }; static const AsterixField I015_270 = { COMPOUND, 0, 0, 0, &hf_015_270, NULL, { &I015_270_LEN, &I015_270_WDT, &I015_270_HGT, &I015_270_ORT, NULL } }; static int hf_015_300; static int hf_015_300_CLS; static const FieldPart I015_300_CLS = { 9, 1.0, FIELD_PART_UINT, &hf_015_300_CLS, NULL }; static int hf_015_300_PRB; static const FieldPart I015_300_PRB = { 7, 1.0, FIELD_PART_UINT, &hf_015_300_PRB, NULL }; static const FieldPart *I015_300_PARTS[] = { &I015_300_CLS, &I015_300_PRB, NULL }; static const AsterixField I015_300 = { REPETITIVE, 2, 1, 0, &hf_015_300, I015_300_PARTS, { NULL } }; static int hf_015_400; static int hf_015_400_PID; static const FieldPart I015_400_PID = { 16, 1.0, FIELD_PART_UINT, &hf_015_400_PID, NULL }; static int hf_015_400_ON; static const FieldPart I015_400_ON = { 24, 1.0, FIELD_PART_UINT, &hf_015_400_ON, NULL }; static const FieldPart *I015_400_PARTS[] = { &I015_400_PID, &I015_400_ON, NULL }; static const AsterixField I015_400 = { FIXED, 5, 0, 0, &hf_015_400, I015_400_PARTS, { NULL } }; static int hf_015_480; static int hf_015_480_VALUE; static const FieldPart I015_480_VALUE = { 40, 1.0, FIELD_PART_HEX, &hf_015_480_VALUE, NULL }; static const FieldPart *I015_480_PARTS[] = { &I015_480_VALUE, NULL }; static const AsterixField I015_480 = { REPETITIVE, 5, 1, 0, &hf_015_480, I015_480_PARTS, { NULL } }; static int hf_015_600; static int hf_015_600_P84; static int hf_015_600_P84_LATITUDE; static const FieldPart I015_600_P84_LATITUDE = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_015_600_P84_LATITUDE, NULL }; static int hf_015_600_P84_LONGITUDE; static const FieldPart I015_600_P84_LONGITUDE = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_015_600_P84_LONGITUDE, NULL }; static const FieldPart *I015_600_P84_PARTS[] = { &I015_600_P84_LATITUDE, &I015_600_P84_LONGITUDE, NULL }; static const AsterixField I015_600_P84 = { FIXED, 8, 0, 0, &hf_015_600_P84, I015_600_P84_PARTS, { NULL } }; static int hf_015_600_HPR; static int hf_015_600_HPR_RSHPX; static const FieldPart I015_600_HPR_RSHPX = { 16, 0.5, FIELD_PART_UFLOAT, &hf_015_600_HPR_RSHPX, NULL }; static int hf_015_600_HPR_RSHPY; static const FieldPart I015_600_HPR_RSHPY = { 16, 0.5, FIELD_PART_UFLOAT, &hf_015_600_HPR_RSHPY, NULL }; static int hf_015_600_HPR_CORSHPXY; static const FieldPart I015_600_HPR_CORSHPXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_600_HPR_CORSHPXY, NULL }; static const FieldPart *I015_600_HPR_PARTS[] = { &I015_600_HPR_RSHPX, &I015_600_HPR_RSHPY, &I015_600_HPR_CORSHPXY, NULL }; static const AsterixField I015_600_HPR = { FIXED, 5, 0, 0, &hf_015_600_HPR, I015_600_HPR_PARTS, { NULL } }; static int hf_015_600_HPP; static int hf_015_600_HPP_SDHPX; static const FieldPart I015_600_HPP_SDHPX = { 16, 0.25, FIELD_PART_UFLOAT, &hf_015_600_HPP_SDHPX, NULL }; static int hf_015_600_HPP_SDHPY; static const FieldPart I015_600_HPP_SDHPY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_015_600_HPP_SDHPY, NULL }; static int hf_015_600_HPP_COSDHPXY; static const FieldPart I015_600_HPP_COSDHPXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_600_HPP_COSDHPXY, NULL }; static const FieldPart *I015_600_HPP_PARTS[] = { &I015_600_HPP_SDHPX, &I015_600_HPP_SDHPY, &I015_600_HPP_COSDHPXY, NULL }; static const AsterixField I015_600_HPP = { FIXED, 5, 0, 0, &hf_015_600_HPP, I015_600_HPP_PARTS, { NULL } }; static const AsterixField I015_600 = { COMPOUND, 0, 0, 0, &hf_015_600, NULL, { &I015_600_P84, &I015_600_HPR, &I015_600_HPP, NULL } }; static int hf_015_601; static int hf_015_601_GH; static int hf_015_601_GH_VALUE; static const FieldPart I015_601_GH_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_601_GH_VALUE, NULL }; static const FieldPart *I015_601_GH_PARTS[] = { &I015_601_GH_VALUE, NULL }; static const AsterixField I015_601_GH = { FIXED, 3, 0, 0, &hf_015_601_GH, I015_601_GH_PARTS, { NULL } }; static int hf_015_601_RSGH; static int hf_015_601_RSGH_VALUE; static const FieldPart I015_601_RSGH_VALUE = { 24, 0.01, FIELD_PART_UFLOAT, &hf_015_601_RSGH_VALUE, NULL }; static const FieldPart *I015_601_RSGH_PARTS[] = { &I015_601_RSGH_VALUE, NULL }; static const AsterixField I015_601_RSGH = { FIXED, 3, 0, 0, &hf_015_601_RSGH, I015_601_RSGH_PARTS, { NULL } }; static int hf_015_601_SDGH; static int hf_015_601_SDGH_VALUE; static const FieldPart I015_601_SDGH_VALUE = { 24, 0.01, FIELD_PART_UFLOAT, &hf_015_601_SDGH_VALUE, NULL }; static const FieldPart *I015_601_SDGH_PARTS[] = { &I015_601_SDGH_VALUE, NULL }; static const AsterixField I015_601_SDGH = { FIXED, 3, 0, 0, &hf_015_601_SDGH, I015_601_SDGH_PARTS, { NULL } }; static int hf_015_601_CI6; static int hf_015_601_CI6_UCI6; static const FieldPart I015_601_CI6_UCI6 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_601_CI6_UCI6, NULL }; static int hf_015_601_CI6_LCI6; static const FieldPart I015_601_CI6_LCI6 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_601_CI6_LCI6, NULL }; static const FieldPart *I015_601_CI6_PARTS[] = { &I015_601_CI6_UCI6, &I015_601_CI6_LCI6, NULL }; static const AsterixField I015_601_CI6 = { FIXED, 3, 0, 0, &hf_015_601_CI6, I015_601_CI6_PARTS, { NULL } }; static int hf_015_601_CI9; static int hf_015_601_CI9_UCI9; static const FieldPart I015_601_CI9_UCI9 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_601_CI9_UCI9, NULL }; static int hf_015_601_CI9_LCI9; static const FieldPart I015_601_CI9_LCI9 = { 12, 16.0, FIELD_PART_UFLOAT, &hf_015_601_CI9_LCI9, NULL }; static const FieldPart *I015_601_CI9_PARTS[] = { &I015_601_CI9_UCI9, &I015_601_CI9_LCI9, NULL }; static const AsterixField I015_601_CI9 = { FIXED, 3, 0, 0, &hf_015_601_CI9, I015_601_CI9_PARTS, { NULL } }; static int hf_015_601_COGHHP; static int hf_015_601_COGHHP_X; static const FieldPart I015_601_COGHHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_601_COGHHP_X, NULL }; static int hf_015_601_COGHHP_Y; static const FieldPart I015_601_COGHHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_601_COGHHP_Y, NULL }; static const FieldPart *I015_601_COGHHP_PARTS[] = { &I015_601_COGHHP_X, &I015_601_COGHHP_Y, NULL }; static const AsterixField I015_601_COGHHP = { FIXED, 2, 0, 0, &hf_015_601_COGHHP, I015_601_COGHHP_PARTS, { NULL } }; static int hf_015_601_COGHHV; static int hf_015_601_COGHHV_X; static const FieldPart I015_601_COGHHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_601_COGHHV_X, NULL }; static int hf_015_601_COGHHV_Y; static const FieldPart I015_601_COGHHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_601_COGHHV_Y, NULL }; static const FieldPart *I015_601_COGHHV_PARTS[] = { &I015_601_COGHHV_X, &I015_601_COGHHV_Y, NULL }; static const AsterixField I015_601_COGHHV = { FIXED, 2, 0, 0, &hf_015_601_COGHHV, I015_601_COGHHV_PARTS, { NULL } }; static int hf_015_601_COGHHA; static int hf_015_601_COGHHA_X; static const FieldPart I015_601_COGHHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_601_COGHHA_X, NULL }; static int hf_015_601_COGHHA_Y; static const FieldPart I015_601_COGHHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_601_COGHHA_Y, NULL }; static const FieldPart *I015_601_COGHHA_PARTS[] = { &I015_601_COGHHA_X, &I015_601_COGHHA_Y, NULL }; static const AsterixField I015_601_COGHHA = { FIXED, 2, 0, 0, &hf_015_601_COGHHA, I015_601_COGHHA_PARTS, { NULL } }; static const AsterixField I015_601 = { COMPOUND, 0, 0, 0, &hf_015_601, NULL, { &I015_601_GH, &I015_601_RSGH, &I015_601_SDGH, &I015_601_CI6, &I015_601_CI9, &I015_601_COGHHP, &I015_601_COGHHV, &I015_601_COGHHA, NULL } }; static int hf_015_602; static int hf_015_602_HV; static int hf_015_602_HV_X; static const FieldPart I015_602_HV_X = { 20, 0.01, FIELD_PART_FLOAT, &hf_015_602_HV_X, NULL }; static int hf_015_602_HV_Y; static const FieldPart I015_602_HV_Y = { 20, 0.01, FIELD_PART_FLOAT, &hf_015_602_HV_Y, NULL }; static const FieldPart *I015_602_HV_PARTS[] = { &I015_602_HV_X, &I015_602_HV_Y, NULL }; static const AsterixField I015_602_HV = { FIXED, 5, 0, 0, &hf_015_602_HV, I015_602_HV_PARTS, { NULL } }; static int hf_015_602_RSHV; static int hf_015_602_RSHV_X; static const FieldPart I015_602_RSHV_X = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_602_RSHV_X, NULL }; static int hf_015_602_RSHV_Y; static const FieldPart I015_602_RSHV_Y = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_602_RSHV_Y, NULL }; static int hf_015_602_RSHV_CORSHVXY; static const FieldPart I015_602_RSHV_CORSHVXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_602_RSHV_CORSHVXY, NULL }; static const FieldPart *I015_602_RSHV_PARTS[] = { &I015_602_RSHV_X, &I015_602_RSHV_Y, &I015_602_RSHV_CORSHVXY, NULL }; static const AsterixField I015_602_RSHV = { FIXED, 5, 0, 0, &hf_015_602_RSHV, I015_602_RSHV_PARTS, { NULL } }; static int hf_015_602_SDHV; static int hf_015_602_SDHV_X; static const FieldPart I015_602_SDHV_X = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_602_SDHV_X, NULL }; static int hf_015_602_SDHV_Y; static const FieldPart I015_602_SDHV_Y = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_602_SDHV_Y, NULL }; static int hf_015_602_SDHV_COHVXY; static const FieldPart I015_602_SDHV_COHVXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_602_SDHV_COHVXY, NULL }; static const FieldPart *I015_602_SDHV_PARTS[] = { &I015_602_SDHV_X, &I015_602_SDHV_Y, &I015_602_SDHV_COHVXY, NULL }; static const AsterixField I015_602_SDHV = { FIXED, 5, 0, 0, &hf_015_602_SDHV, I015_602_SDHV_PARTS, { NULL } }; static int hf_015_602_COHVHP; static int hf_015_602_COHVHP_COHVXHPX; static const FieldPart I015_602_COHVHP_COHVXHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_602_COHVHP_COHVXHPX, NULL }; static int hf_015_602_COHVHP_COHVXHPY; static const FieldPart I015_602_COHVHP_COHVXHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_602_COHVHP_COHVXHPY, NULL }; static int hf_015_602_COHVHP_COHVYHPX; static const FieldPart I015_602_COHVHP_COHVYHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_602_COHVHP_COHVYHPX, NULL }; static int hf_015_602_COHVHP_COHVYHPY; static const FieldPart I015_602_COHVHP_COHVYHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_602_COHVHP_COHVYHPY, NULL }; static const FieldPart *I015_602_COHVHP_PARTS[] = { &I015_602_COHVHP_COHVXHPX, &I015_602_COHVHP_COHVXHPY, &I015_602_COHVHP_COHVYHPX, &I015_602_COHVHP_COHVYHPY, NULL }; static const AsterixField I015_602_COHVHP = { FIXED, 4, 0, 0, &hf_015_602_COHVHP, I015_602_COHVHP_PARTS, { NULL } }; static const AsterixField I015_602 = { COMPOUND, 0, 0, 0, &hf_015_602, NULL, { &I015_602_HV, &I015_602_RSHV, &I015_602_SDHV, &I015_602_COHVHP, NULL } }; static int hf_015_603; static int hf_015_603_HA; static int hf_015_603_HA_X; static const FieldPart I015_603_HA_X = { 12, 0.0625, FIELD_PART_FLOAT, &hf_015_603_HA_X, NULL }; static int hf_015_603_HA_Y; static const FieldPart I015_603_HA_Y = { 12, 0.0625, FIELD_PART_FLOAT, &hf_015_603_HA_Y, NULL }; static const FieldPart *I015_603_HA_PARTS[] = { &I015_603_HA_X, &I015_603_HA_Y, NULL }; static const AsterixField I015_603_HA = { FIXED, 3, 0, 0, &hf_015_603_HA, I015_603_HA_PARTS, { NULL } }; static int hf_015_603_SDHA; static int hf_015_603_SDHA_X; static const FieldPart I015_603_SDHA_X = { 12, 0.0625, FIELD_PART_UFLOAT, &hf_015_603_SDHA_X, NULL }; static int hf_015_603_SDHA_Y; static const FieldPart I015_603_SDHA_Y = { 12, 0.0625, FIELD_PART_UFLOAT, &hf_015_603_SDHA_Y, NULL }; static int hf_015_603_SDHA_COHAXY; static const FieldPart I015_603_SDHA_COHAXY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_SDHA_COHAXY, NULL }; static const FieldPart *I015_603_SDHA_PARTS[] = { &I015_603_SDHA_X, &I015_603_SDHA_Y, &I015_603_SDHA_COHAXY, NULL }; static const AsterixField I015_603_SDHA = { FIXED, 4, 0, 0, &hf_015_603_SDHA, I015_603_SDHA_PARTS, { NULL } }; static int hf_015_603_COHAHP; static int hf_015_603_COHAHP_COHAXHPX; static const FieldPart I015_603_COHAHP_COHAXHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHP_COHAXHPX, NULL }; static int hf_015_603_COHAHP_COHAXHPY; static const FieldPart I015_603_COHAHP_COHAXHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHP_COHAXHPY, NULL }; static int hf_015_603_COHAHP_COHAYHPX; static const FieldPart I015_603_COHAHP_COHAYHPX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHP_COHAYHPX, NULL }; static int hf_015_603_COHAHP_COAYHPY; static const FieldPart I015_603_COHAHP_COAYHPY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHP_COAYHPY, NULL }; static const FieldPart *I015_603_COHAHP_PARTS[] = { &I015_603_COHAHP_COHAXHPX, &I015_603_COHAHP_COHAXHPY, &I015_603_COHAHP_COHAYHPX, &I015_603_COHAHP_COAYHPY, NULL }; static const AsterixField I015_603_COHAHP = { FIXED, 4, 0, 0, &hf_015_603_COHAHP, I015_603_COHAHP_PARTS, { NULL } }; static int hf_015_603_COHAHV; static int hf_015_603_COHAHV_COHAXHVX; static const FieldPart I015_603_COHAHV_COHAXHVX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHV_COHAXHVX, NULL }; static int hf_015_603_COHAHV_COHAXHVY; static const FieldPart I015_603_COHAHV_COHAXHVY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHV_COHAXHVY, NULL }; static int hf_015_603_COHAHV_COHAYHVX; static const FieldPart I015_603_COHAHV_COHAYHVX = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHV_COHAYHVX, NULL }; static int hf_015_603_COHAHV_COHAYHVY; static const FieldPart I015_603_COHAHV_COHAYHVY = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_603_COHAHV_COHAYHVY, NULL }; static const FieldPart *I015_603_COHAHV_PARTS[] = { &I015_603_COHAHV_COHAXHVX, &I015_603_COHAHV_COHAXHVY, &I015_603_COHAHV_COHAYHVX, &I015_603_COHAHV_COHAYHVY, NULL }; static const AsterixField I015_603_COHAHV = { FIXED, 4, 0, 0, &hf_015_603_COHAHV, I015_603_COHAHV_PARTS, { NULL } }; static const AsterixField I015_603 = { COMPOUND, 0, 0, 0, &hf_015_603, NULL, { &I015_603_HA, &I015_603_SDHA, &I015_603_COHAHP, &I015_603_COHAHV, NULL } }; static int hf_015_604; static int hf_015_604_VV; static int hf_015_604_VV_VALUE; static const FieldPart I015_604_VV_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_604_VV_VALUE, NULL }; static const FieldPart *I015_604_VV_PARTS[] = { &I015_604_VV_VALUE, NULL }; static const AsterixField I015_604_VV = { FIXED, 3, 0, 0, &hf_015_604_VV, I015_604_VV_PARTS, { NULL } }; static int hf_015_604_RSVV; static int hf_015_604_RSVV_VALUE; static const FieldPart I015_604_RSVV_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_604_RSVV_VALUE, NULL }; static const FieldPart *I015_604_RSVV_PARTS[] = { &I015_604_RSVV_VALUE, NULL }; static const AsterixField I015_604_RSVV = { FIXED, 2, 0, 0, &hf_015_604_RSVV, I015_604_RSVV_PARTS, { NULL } }; static int hf_015_604_SDVV; static int hf_015_604_SDVV_SDVV; static const FieldPart I015_604_SDVV_SDVV = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_604_SDVV_SDVV, NULL }; static int hf_015_604_SDVV_COVVGH; static const FieldPart I015_604_SDVV_COVVGH = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_604_SDVV_COVVGH, NULL }; static const FieldPart *I015_604_SDVV_PARTS[] = { &I015_604_SDVV_SDVV, &I015_604_SDVV_COVVGH, NULL }; static const AsterixField I015_604_SDVV = { FIXED, 3, 0, 0, &hf_015_604_SDVV, I015_604_SDVV_PARTS, { NULL } }; static int hf_015_604_COVVHP; static int hf_015_604_COVVHP_X; static const FieldPart I015_604_COVVHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_604_COVVHP_X, NULL }; static int hf_015_604_COVVHP_Y; static const FieldPart I015_604_COVVHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_604_COVVHP_Y, NULL }; static const FieldPart *I015_604_COVVHP_PARTS[] = { &I015_604_COVVHP_X, &I015_604_COVVHP_Y, NULL }; static const AsterixField I015_604_COVVHP = { FIXED, 2, 0, 0, &hf_015_604_COVVHP, I015_604_COVVHP_PARTS, { NULL } }; static int hf_015_604_COVVHV; static int hf_015_604_COVVHV_X; static const FieldPart I015_604_COVVHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_604_COVVHV_X, NULL }; static int hf_015_604_COVVHV_Y; static const FieldPart I015_604_COVVHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_604_COVVHV_Y, NULL }; static const FieldPart *I015_604_COVVHV_PARTS[] = { &I015_604_COVVHV_X, &I015_604_COVVHV_Y, NULL }; static const AsterixField I015_604_COVVHV = { FIXED, 2, 0, 0, &hf_015_604_COVVHV, I015_604_COVVHV_PARTS, { NULL } }; static int hf_015_604_COVVHA; static int hf_015_604_COVVHA_X; static const FieldPart I015_604_COVVHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_604_COVVHA_X, NULL }; static int hf_015_604_COVVHA_Y; static const FieldPart I015_604_COVVHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_604_COVVHA_Y, NULL }; static const FieldPart *I015_604_COVVHA_PARTS[] = { &I015_604_COVVHA_X, &I015_604_COVVHA_Y, NULL }; static const AsterixField I015_604_COVVHA = { FIXED, 2, 0, 0, &hf_015_604_COVVHA, I015_604_COVVHA_PARTS, { NULL } }; static const AsterixField I015_604 = { COMPOUND, 0, 0, 0, &hf_015_604, NULL, { &I015_604_VV, &I015_604_RSVV, &I015_604_SDVV, &I015_604_COVVHP, &I015_604_COVVHV, &I015_604_COVVHA, NULL } }; static int hf_015_605; static int hf_015_605_VA; static int hf_015_605_VA_VALUE; static const FieldPart I015_605_VA_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_015_605_VA_VALUE, NULL }; static const FieldPart *I015_605_VA_PARTS[] = { &I015_605_VA_VALUE, NULL }; static const AsterixField I015_605_VA = { FIXED, 2, 0, 0, &hf_015_605_VA, I015_605_VA_PARTS, { NULL } }; static int hf_015_605_RSVA; static int hf_015_605_RSVA_SDVA; static const FieldPart I015_605_RSVA_SDVA = { 16, 0.01, FIELD_PART_UFLOAT, &hf_015_605_RSVA_SDVA, NULL }; static int hf_015_605_RSVA_COVAGH; static const FieldPart I015_605_RSVA_COVAGH = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_RSVA_COVAGH, NULL }; static int hf_015_605_RSVA_COVAVV; static const FieldPart I015_605_RSVA_COVAVV = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_RSVA_COVAVV, NULL }; static const FieldPart *I015_605_RSVA_PARTS[] = { &I015_605_RSVA_SDVA, &I015_605_RSVA_COVAGH, &I015_605_RSVA_COVAVV, NULL }; static const AsterixField I015_605_RSVA = { FIXED, 4, 0, 0, &hf_015_605_RSVA, I015_605_RSVA_PARTS, { NULL } }; static int hf_015_605_COVAHP; static int hf_015_605_COVAHP_X; static const FieldPart I015_605_COVAHP_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_COVAHP_X, NULL }; static int hf_015_605_COVAHP_Y; static const FieldPart I015_605_COVAHP_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_COVAHP_Y, NULL }; static const FieldPart *I015_605_COVAHP_PARTS[] = { &I015_605_COVAHP_X, &I015_605_COVAHP_Y, NULL }; static const AsterixField I015_605_COVAHP = { FIXED, 2, 0, 0, &hf_015_605_COVAHP, I015_605_COVAHP_PARTS, { NULL } }; static int hf_015_605_COVAHV; static int hf_015_605_COVAHV_X; static const FieldPart I015_605_COVAHV_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_COVAHV_X, NULL }; static int hf_015_605_COVAHV_Y; static const FieldPart I015_605_COVAHV_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_COVAHV_Y, NULL }; static const FieldPart *I015_605_COVAHV_PARTS[] = { &I015_605_COVAHV_X, &I015_605_COVAHV_Y, NULL }; static const AsterixField I015_605_COVAHV = { FIXED, 2, 0, 0, &hf_015_605_COVAHV, I015_605_COVAHV_PARTS, { NULL } }; static int hf_015_605_COVAHA; static int hf_015_605_COVAHA_X; static const FieldPart I015_605_COVAHA_X = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_COVAHA_X, NULL }; static int hf_015_605_COVAHA_Y; static const FieldPart I015_605_COVAHA_Y = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_605_COVAHA_Y, NULL }; static const FieldPart *I015_605_COVAHA_PARTS[] = { &I015_605_COVAHA_X, &I015_605_COVAHA_Y, NULL }; static const AsterixField I015_605_COVAHA = { FIXED, 2, 0, 0, &hf_015_605_COVAHA, I015_605_COVAHA_PARTS, { NULL } }; static const AsterixField I015_605 = { COMPOUND, 0, 0, 0, &hf_015_605, NULL, { &I015_605_VA, &I015_605_RSVA, &I015_605_COVAHP, &I015_605_COVAHV, &I015_605_COVAHA, NULL } }; static int hf_015_625; static int hf_015_625_R; static int hf_015_625_R_VALUE; static const FieldPart I015_625_R_VALUE = { 24, 0.1, FIELD_PART_FLOAT, &hf_015_625_R_VALUE, NULL }; static const FieldPart *I015_625_R_PARTS[] = { &I015_625_R_VALUE, NULL }; static const AsterixField I015_625_R = { FIXED, 3, 0, 0, &hf_015_625_R, I015_625_R_PARTS, { NULL } }; static int hf_015_625_RSR; static int hf_015_625_RSR_VALUE; static const FieldPart I015_625_RSR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_625_RSR_VALUE, NULL }; static const FieldPart *I015_625_RSR_PARTS[] = { &I015_625_RSR_VALUE, NULL }; static const AsterixField I015_625_RSR = { FIXED, 3, 0, 0, &hf_015_625_RSR, I015_625_RSR_PARTS, { NULL } }; static int hf_015_625_SDR; static int hf_015_625_SDR_VALUE; static const FieldPart I015_625_SDR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_625_SDR_VALUE, NULL }; static const FieldPart *I015_625_SDR_PARTS[] = { &I015_625_SDR_VALUE, NULL }; static const AsterixField I015_625_SDR = { FIXED, 3, 0, 0, &hf_015_625_SDR, I015_625_SDR_PARTS, { NULL } }; static int hf_015_625_RR; static int hf_015_625_RR_VALUE; static const FieldPart I015_625_RR_VALUE = { 24, 0.1, FIELD_PART_FLOAT, &hf_015_625_RR_VALUE, NULL }; static const FieldPart *I015_625_RR_PARTS[] = { &I015_625_RR_VALUE, NULL }; static const AsterixField I015_625_RR = { FIXED, 3, 0, 0, &hf_015_625_RR, I015_625_RR_PARTS, { NULL } }; static int hf_015_625_RSRR; static int hf_015_625_RSRR_VALUE; static const FieldPart I015_625_RSRR_VALUE = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_625_RSRR_VALUE, NULL }; static const FieldPart *I015_625_RSRR_PARTS[] = { &I015_625_RSRR_VALUE, NULL }; static const AsterixField I015_625_RSRR = { FIXED, 3, 0, 0, &hf_015_625_RSRR, I015_625_RSRR_PARTS, { NULL } }; static int hf_015_625_SDRR; static int hf_015_625_SDRR_SDRR; static const FieldPart I015_625_SDRR_SDRR = { 24, 0.1, FIELD_PART_UFLOAT, &hf_015_625_SDRR_SDRR, NULL }; static int hf_015_625_SDRR_CORRR; static const FieldPart I015_625_SDRR_CORRR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_625_SDRR_CORRR, NULL }; static const FieldPart *I015_625_SDRR_PARTS[] = { &I015_625_SDRR_SDRR, &I015_625_SDRR_CORRR, NULL }; static const AsterixField I015_625_SDRR = { FIXED, 4, 0, 0, &hf_015_625_SDRR, I015_625_SDRR_PARTS, { NULL } }; static int hf_015_625_RA; static int hf_015_625_RA_VALUE; static const FieldPart I015_625_RA_VALUE = { 16, 0.015625, FIELD_PART_FLOAT, &hf_015_625_RA_VALUE, NULL }; static const FieldPart *I015_625_RA_PARTS[] = { &I015_625_RA_VALUE, NULL }; static const AsterixField I015_625_RA = { FIXED, 2, 0, 0, &hf_015_625_RA, I015_625_RA_PARTS, { NULL } }; static int hf_015_625_SDRA; static int hf_015_625_SDRA_SDRA; static const FieldPart I015_625_SDRA_SDRA = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_015_625_SDRA_SDRA, NULL }; static int hf_015_625_SDRA_CORAR; static const FieldPart I015_625_SDRA_CORAR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_625_SDRA_CORAR, NULL }; static int hf_015_625_SDRA_CORARR; static const FieldPart I015_625_SDRA_CORARR = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_625_SDRA_CORARR, NULL }; static const FieldPart *I015_625_SDRA_PARTS[] = { &I015_625_SDRA_SDRA, &I015_625_SDRA_CORAR, &I015_625_SDRA_CORARR, NULL }; static const AsterixField I015_625_SDRA = { FIXED, 4, 0, 0, &hf_015_625_SDRA, I015_625_SDRA_PARTS, { NULL } }; static const AsterixField I015_625 = { COMPOUND, 0, 0, 0, &hf_015_625, NULL, { &I015_625_R, &I015_625_RSR, &I015_625_SDR, &I015_625_RR, &I015_625_RSRR, &I015_625_SDRR, &I015_625_RA, &I015_625_SDRA, NULL } }; static int hf_015_626; static int hf_015_626_DV; static int hf_015_626_DV_VALUE; static const FieldPart I015_626_DV_VALUE = { 24, 0.01, FIELD_PART_FLOAT, &hf_015_626_DV_VALUE, NULL }; static const FieldPart *I015_626_DV_PARTS[] = { &I015_626_DV_VALUE, NULL }; static const AsterixField I015_626_DV = { FIXED, 3, 0, 0, &hf_015_626_DV, I015_626_DV_PARTS, { NULL } }; static int hf_015_626_SDDV; static int hf_015_626_SDDV_VALUE; static const FieldPart I015_626_SDDV_VALUE = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_015_626_SDDV_VALUE, NULL }; static const FieldPart *I015_626_SDDV_PARTS[] = { &I015_626_SDDV_VALUE, NULL }; static const AsterixField I015_626_SDDV = { FIXED, 2, 0, 0, &hf_015_626_SDDV, I015_626_SDDV_PARTS, { NULL } }; static int hf_015_626_DA; static int hf_015_626_DA_VALUE; static const FieldPart I015_626_DA_VALUE = { 16, 0.015625, FIELD_PART_FLOAT, &hf_015_626_DA_VALUE, NULL }; static const FieldPart *I015_626_DA_PARTS[] = { &I015_626_DA_VALUE, NULL }; static const AsterixField I015_626_DA = { FIXED, 2, 0, 0, &hf_015_626_DA, I015_626_DA_PARTS, { NULL } }; static int hf_015_626_SDDA; static int hf_015_626_SDDA_SDDA; static const FieldPart I015_626_SDDA_SDDA = { 16, 0.015625, FIELD_PART_UFLOAT, &hf_015_626_SDDA_SDDA, NULL }; static int hf_015_626_SDDA_CODADV; static const FieldPart I015_626_SDDA_CODADV = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_626_SDDA_CODADV, NULL }; static const FieldPart *I015_626_SDDA_PARTS[] = { &I015_626_SDDA_SDDA, &I015_626_SDDA_CODADV, NULL }; static const AsterixField I015_626_SDDA = { FIXED, 3, 0, 0, &hf_015_626_SDDA, I015_626_SDDA_PARTS, { NULL } }; static int hf_015_626_CODVR; static int hf_015_626_CODVR_VALUE; static const FieldPart I015_626_CODVR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_626_CODVR_VALUE, NULL }; static const FieldPart *I015_626_CODVR_PARTS[] = { &I015_626_CODVR_VALUE, NULL }; static const AsterixField I015_626_CODVR = { FIXED, 1, 0, 0, &hf_015_626_CODVR, I015_626_CODVR_PARTS, { NULL } }; static int hf_015_626_CODVRR; static int hf_015_626_CODVRR_VALUE; static const FieldPart I015_626_CODVRR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_626_CODVRR_VALUE, NULL }; static const FieldPart *I015_626_CODVRR_PARTS[] = { &I015_626_CODVRR_VALUE, NULL }; static const AsterixField I015_626_CODVRR = { FIXED, 1, 0, 0, &hf_015_626_CODVRR, I015_626_CODVRR_PARTS, { NULL } }; static int hf_015_626_CODVRA; static int hf_015_626_CODVRA_VALUE; static const FieldPart I015_626_CODVRA_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_626_CODVRA_VALUE, NULL }; static const FieldPart *I015_626_CODVRA_PARTS[] = { &I015_626_CODVRA_VALUE, NULL }; static const AsterixField I015_626_CODVRA = { FIXED, 1, 0, 0, &hf_015_626_CODVRA, I015_626_CODVRA_PARTS, { NULL } }; static int hf_015_626_CODAR; static int hf_015_626_CODAR_VALUE; static const FieldPart I015_626_CODAR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_626_CODAR_VALUE, NULL }; static const FieldPart *I015_626_CODAR_PARTS[] = { &I015_626_CODAR_VALUE, NULL }; static const AsterixField I015_626_CODAR = { FIXED, 1, 0, 0, &hf_015_626_CODAR, I015_626_CODAR_PARTS, { NULL } }; static int hf_015_626_CODARR; static int hf_015_626_CODARR_VALUE; static const FieldPart I015_626_CODARR_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_626_CODARR_VALUE, NULL }; static const FieldPart *I015_626_CODARR_PARTS[] = { &I015_626_CODARR_VALUE, NULL }; static const AsterixField I015_626_CODARR = { FIXED, 1, 0, 0, &hf_015_626_CODARR, I015_626_CODARR_PARTS, { NULL } }; static int hf_015_626_CODARA; static int hf_015_626_CODARA_VALUE; static const FieldPart I015_626_CODARA_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_626_CODARA_VALUE, NULL }; static const FieldPart *I015_626_CODARA_PARTS[] = { &I015_626_CODARA_VALUE, NULL }; static const AsterixField I015_626_CODARA = { FIXED, 1, 0, 0, &hf_015_626_CODARA, I015_626_CODARA_PARTS, { NULL } }; static const AsterixField I015_626 = { COMPOUND, 0, 0, 0, &hf_015_626, NULL, { &I015_626_DV, &I015_626_SDDV, &I015_626_DA, &I015_626_SDDA, &I015_626_CODVR, &I015_626_CODVRR, &I015_626_CODVRA, &I015_626_CODAR, &I015_626_CODARR, &I015_626_CODARA, NULL } }; static int hf_015_627; static int hf_015_627_AZ; static int hf_015_627_AZ_VALUE; static const FieldPart I015_627_AZ_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_627_AZ_VALUE, NULL }; static const FieldPart *I015_627_AZ_PARTS[] = { &I015_627_AZ_VALUE, NULL }; static const AsterixField I015_627_AZ = { FIXED, 2, 0, 0, &hf_015_627_AZ, I015_627_AZ_PARTS, { NULL } }; static int hf_015_627_RSAZ; static int hf_015_627_RSAZ_VALUE; static const FieldPart I015_627_RSAZ_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_627_RSAZ_VALUE, NULL }; static const FieldPart *I015_627_RSAZ_PARTS[] = { &I015_627_RSAZ_VALUE, NULL }; static const AsterixField I015_627_RSAZ = { FIXED, 2, 0, 0, &hf_015_627_RSAZ, I015_627_RSAZ_PARTS, { NULL } }; static int hf_015_627_SDASZ; static int hf_015_627_SDASZ_VALUE; static const FieldPart I015_627_SDASZ_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_627_SDASZ_VALUE, NULL }; static const FieldPart *I015_627_SDASZ_PARTS[] = { &I015_627_SDASZ_VALUE, NULL }; static const AsterixField I015_627_SDASZ = { FIXED, 2, 0, 0, &hf_015_627_SDASZ, I015_627_SDASZ_PARTS, { NULL } }; static int hf_015_627_AZR; static int hf_015_627_AZR_VALUE; static const FieldPart I015_627_AZR_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_627_AZR_VALUE, NULL }; static const FieldPart *I015_627_AZR_PARTS[] = { &I015_627_AZR_VALUE, NULL }; static const AsterixField I015_627_AZR = { FIXED, 2, 0, 0, &hf_015_627_AZR, I015_627_AZR_PARTS, { NULL } }; static int hf_015_627_SDAZR; static int hf_015_627_SDAZR_SDAZR; static const FieldPart I015_627_SDAZR_SDAZR = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_627_SDAZR_SDAZR, NULL }; static int hf_015_627_SDAZR_COAZRAZ; static const FieldPart I015_627_SDAZR_COAZRAZ = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_627_SDAZR_COAZRAZ, NULL }; static const FieldPart *I015_627_SDAZR_PARTS[] = { &I015_627_SDAZR_SDAZR, &I015_627_SDAZR_COAZRAZ, NULL }; static const AsterixField I015_627_SDAZR = { FIXED, 3, 0, 0, &hf_015_627_SDAZR, I015_627_SDAZR_PARTS, { NULL } }; static int hf_015_627_AZEX; static int hf_015_627_AZEX_S; static const FieldPart I015_627_AZEX_S = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_627_AZEX_S, NULL }; static int hf_015_627_AZEX_E; static const FieldPart I015_627_AZEX_E = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_627_AZEX_E, NULL }; static const FieldPart *I015_627_AZEX_PARTS[] = { &I015_627_AZEX_S, &I015_627_AZEX_E, NULL }; static const AsterixField I015_627_AZEX = { FIXED, 4, 0, 0, &hf_015_627_AZEX, I015_627_AZEX_PARTS, { NULL } }; static const AsterixField I015_627 = { COMPOUND, 0, 0, 0, &hf_015_627, NULL, { &I015_627_AZ, &I015_627_RSAZ, &I015_627_SDASZ, &I015_627_AZR, &I015_627_SDAZR, &I015_627_AZEX, NULL } }; static int hf_015_628; static int hf_015_628_EL; static int hf_015_628_EL_VALUE; static const FieldPart I015_628_EL_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_628_EL_VALUE, NULL }; static const FieldPart *I015_628_EL_PARTS[] = { &I015_628_EL_VALUE, NULL }; static const AsterixField I015_628_EL = { FIXED, 2, 0, 0, &hf_015_628_EL, I015_628_EL_PARTS, { NULL } }; static int hf_015_628_RSEL; static int hf_015_628_RSEL_VALUE; static const FieldPart I015_628_RSEL_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_628_RSEL_VALUE, NULL }; static const FieldPart *I015_628_RSEL_PARTS[] = { &I015_628_RSEL_VALUE, NULL }; static const AsterixField I015_628_RSEL = { FIXED, 2, 0, 0, &hf_015_628_RSEL, I015_628_RSEL_PARTS, { NULL } }; static int hf_015_628_SDEL; static int hf_015_628_SDEL_VALUE; static const FieldPart I015_628_SDEL_VALUE = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_628_SDEL_VALUE, NULL }; static const FieldPart *I015_628_SDEL_PARTS[] = { &I015_628_SDEL_VALUE, NULL }; static const AsterixField I015_628_SDEL = { FIXED, 2, 0, 0, &hf_015_628_SDEL, I015_628_SDEL_PARTS, { NULL } }; static int hf_015_628_ER; static int hf_015_628_ER_VALUE; static const FieldPart I015_628_ER_VALUE = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_628_ER_VALUE, NULL }; static const FieldPart *I015_628_ER_PARTS[] = { &I015_628_ER_VALUE, NULL }; static const AsterixField I015_628_ER = { FIXED, 2, 0, 0, &hf_015_628_ER, I015_628_ER_PARTS, { NULL } }; static int hf_015_628_SDER; static int hf_015_628_SDER_SDELR; static const FieldPart I015_628_SDER_SDELR = { 16, 0.0006866455078125, FIELD_PART_UFLOAT, &hf_015_628_SDER_SDELR, NULL }; static int hf_015_628_SDER_COELREL; static const FieldPart I015_628_SDER_COELREL = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_015_628_SDER_COELREL, NULL }; static const FieldPart *I015_628_SDER_PARTS[] = { &I015_628_SDER_SDELR, &I015_628_SDER_COELREL, NULL }; static const AsterixField I015_628_SDER = { FIXED, 3, 0, 0, &hf_015_628_SDER, I015_628_SDER_PARTS, { NULL } }; static int hf_015_628_ELEX; static int hf_015_628_ELEX_S; static const FieldPart I015_628_ELEX_S = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_628_ELEX_S, NULL }; static int hf_015_628_ELEX_E; static const FieldPart I015_628_ELEX_E = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_628_ELEX_E, NULL }; static const FieldPart *I015_628_ELEX_PARTS[] = { &I015_628_ELEX_S, &I015_628_ELEX_E, NULL }; static const AsterixField I015_628_ELEX = { FIXED, 4, 0, 0, &hf_015_628_ELEX, I015_628_ELEX_PARTS, { NULL } }; static const AsterixField I015_628 = { COMPOUND, 0, 0, 0, &hf_015_628, NULL, { &I015_628_EL, &I015_628_RSEL, &I015_628_SDEL, &I015_628_ER, &I015_628_SDER, &I015_628_ELEX, NULL } }; static int hf_015_630; static int hf_015_630_DPP; static int hf_015_630_DPP_VALUE; static const FieldPart I015_630_DPP_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_630_DPP_VALUE, NULL }; static const FieldPart *I015_630_DPP_PARTS[] = { &I015_630_DPP_VALUE, NULL }; static const AsterixField I015_630_DPP = { FIXED, 1, 0, 0, &hf_015_630_DPP, I015_630_DPP_PARTS, { NULL } }; static int hf_015_630_DPS; static int hf_015_630_DPS_VALUE; static const FieldPart I015_630_DPS_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_630_DPS_VALUE, NULL }; static const FieldPart *I015_630_DPS_PARTS[] = { &I015_630_DPS_VALUE, NULL }; static const AsterixField I015_630_DPS = { FIXED, 1, 0, 0, &hf_015_630_DPS, I015_630_DPS_PARTS, { NULL } }; static int hf_015_630_RPP; static int hf_015_630_RPP_RPP; static const FieldPart I015_630_RPP_RPP = { 9, 1.0, FIELD_PART_FLOAT, &hf_015_630_RPP_RPP, NULL }; static const FieldPart *I015_630_RPP_PARTS[] = { &IXXX_7bit_spare, &I015_630_RPP_RPP, NULL }; static const AsterixField I015_630_RPP = { FIXED, 2, 0, 0, &hf_015_630_RPP, I015_630_RPP_PARTS, { NULL } }; static int hf_015_630_RPS; static int hf_015_630_RPS_VALUE; static const FieldPart I015_630_RPS_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_015_630_RPS_VALUE, NULL }; static const FieldPart *I015_630_RPS_PARTS[] = { &I015_630_RPS_VALUE, NULL }; static const AsterixField I015_630_RPS = { FIXED, 1, 0, 0, &hf_015_630_RPS, I015_630_RPS_PARTS, { NULL } }; static const AsterixField I015_630 = { COMPOUND, 0, 0, 0, &hf_015_630, NULL, { &I015_630_DPP, &I015_630_DPS, &I015_630_RPP, &I015_630_RPS, NULL } }; static int hf_015_631; static int hf_015_631_AZCON; static const FieldPart I015_631_AZCON = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_015_631_AZCON, NULL }; static int hf_015_631_ELCON; static const FieldPart I015_631_ELCON = { 16, 0.00274658203125, FIELD_PART_FLOAT, &hf_015_631_ELCON, NULL }; static int hf_015_631_RGCONSTOP; static const FieldPart I015_631_RGCONSTOP = { 16, 0.152587890625, FIELD_PART_UFLOAT, &hf_015_631_RGCONSTOP, NULL }; static int hf_015_631_RGCONSTART; static const FieldPart I015_631_RGCONSTART = { 16, 0.152587890625, FIELD_PART_UFLOAT, &hf_015_631_RGCONSTART, NULL }; static const FieldPart *I015_631_PARTS[] = { &I015_631_AZCON, &I015_631_ELCON, &I015_631_RGCONSTOP, &I015_631_RGCONSTART, NULL }; static const AsterixField I015_631 = { REPETITIVE, 8, 1, 0, &hf_015_631, I015_631_PARTS, { NULL } }; static int hf_015_SP; static const AsterixField I015_SP = { EXP, 0, 0, 1, &hf_015_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I015_V1_1_uap[] = { &I015_V1_1_010, &I015_V1_1_000, &I015_V1_1_015, &I015_V1_1_020, &I015_V1_1_030, &I015_V1_1_145, &I015_V1_1_161, &I015_V1_1_170, &I015_V1_1_050, &I015_V1_1_270, &I015_V1_1_300, &I015_V1_1_400, &I015_V1_1_600, &I015_V1_1_601, &I015_V1_1_602, &I015_V1_1_603, &I015_V1_1_604, &I015_V1_1_605, &I015_V1_1_480, &I015_V1_1_625, &I015_V1_1_626, &I015_V1_1_627, &I015_V1_1_628, &I015_V1_1_630, &I015_V1_1_631, &I015_V1_1_SP, NULL }; static const AsterixField **I015_V1_1[] = { I015_V1_1_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I015_uap[] = { &I015_010, &I015_000, &I015_015, &I015_020, &I015_030, &I015_145, &I015_161, &I015_170, &I015_050, &I015_270, &I015_300, &I015_400, &I015_600, &I015_601, &I015_602, &I015_603, &I015_604, &I015_605, &I015_480, &I015_625, &I015_626, &I015_627, &I015_628, &I015_630, &I015_631, &I015_SP, NULL }; static const AsterixField **I015[] = { I015_uap, NULL }; DIAG_ON_PEDANTIC /* Category 016, edition 1.0 */ static int hf_016_V1_0_000; static int hf_016_V1_0_000_VALUE; static const value_string valstr_016_V1_0_000_VALUE[] = { { 1, "System Configuration" }, { 2, "Transmitter / Receiver Configuration" }, { 0, NULL } }; static const FieldPart I016_V1_0_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_016_V1_0_000_VALUE, NULL }; static const FieldPart *I016_V1_0_000_PARTS[] = { &I016_V1_0_000_VALUE, NULL }; static const AsterixField I016_V1_0_000 = { FIXED, 1, 0, 0, &hf_016_V1_0_000, I016_V1_0_000_PARTS, { NULL } }; static int hf_016_V1_0_010; static int hf_016_V1_0_010_SAC; static const FieldPart I016_V1_0_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_016_V1_0_010_SAC, NULL }; static int hf_016_V1_0_010_SIC; static const FieldPart I016_V1_0_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_016_V1_0_010_SIC, NULL }; static const FieldPart *I016_V1_0_010_PARTS[] = { &I016_V1_0_010_SAC, &I016_V1_0_010_SIC, NULL }; static const AsterixField I016_V1_0_010 = { FIXED, 2, 0, 0, &hf_016_V1_0_010, I016_V1_0_010_PARTS, { NULL } }; static int hf_016_V1_0_015; static int hf_016_V1_0_015_VALUE; static const FieldPart I016_V1_0_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_016_V1_0_015_VALUE, NULL }; static const FieldPart *I016_V1_0_015_PARTS[] = { &I016_V1_0_015_VALUE, NULL }; static const AsterixField I016_V1_0_015 = { FIXED, 1, 0, 0, &hf_016_V1_0_015, I016_V1_0_015_PARTS, { NULL } }; static int hf_016_V1_0_140; static int hf_016_V1_0_140_VALUE; static const FieldPart I016_V1_0_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_016_V1_0_140_VALUE, NULL }; static const FieldPart *I016_V1_0_140_PARTS[] = { &I016_V1_0_140_VALUE, NULL }; static const AsterixField I016_V1_0_140 = { FIXED, 3, 0, 0, &hf_016_V1_0_140, I016_V1_0_140_PARTS, { NULL } }; static int hf_016_V1_0_200; static int hf_016_V1_0_200_VALUE; static const FieldPart I016_V1_0_200_VALUE = { 8, 1.0, FIELD_PART_UFLOAT, &hf_016_V1_0_200_VALUE, NULL }; static const FieldPart *I016_V1_0_200_PARTS[] = { &I016_V1_0_200_VALUE, NULL }; static const AsterixField I016_V1_0_200 = { FIXED, 1, 0, 0, &hf_016_V1_0_200, I016_V1_0_200_PARTS, { NULL } }; static int hf_016_V1_0_300; static int hf_016_V1_0_300_PID; static const FieldPart I016_V1_0_300_PID = { 16, 1.0, FIELD_PART_HEX, &hf_016_V1_0_300_PID, NULL }; static int hf_016_V1_0_300_TID; static const FieldPart I016_V1_0_300_TID = { 16, 1.0, FIELD_PART_HEX, &hf_016_V1_0_300_TID, NULL }; static int hf_016_V1_0_300_RID; static const FieldPart I016_V1_0_300_RID = { 16, 1.0, FIELD_PART_HEX, &hf_016_V1_0_300_RID, NULL }; static const FieldPart *I016_V1_0_300_PARTS[] = { &I016_V1_0_300_PID, &I016_V1_0_300_TID, &I016_V1_0_300_RID, NULL }; static const AsterixField I016_V1_0_300 = { REPETITIVE, 6, 1, 0, &hf_016_V1_0_300, I016_V1_0_300_PARTS, { NULL } }; static int hf_016_V1_0_400; static int hf_016_V1_0_400_LAT; static const FieldPart I016_V1_0_400_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_V1_0_400_LAT, NULL }; static int hf_016_V1_0_400_LON; static const FieldPart I016_V1_0_400_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_V1_0_400_LON, NULL }; static const FieldPart *I016_V1_0_400_PARTS[] = { &I016_V1_0_400_LAT, &I016_V1_0_400_LON, NULL }; static const AsterixField I016_V1_0_400 = { FIXED, 8, 0, 0, &hf_016_V1_0_400, I016_V1_0_400_PARTS, { NULL } }; static int hf_016_V1_0_405; static int hf_016_V1_0_405_VALUE; static const FieldPart I016_V1_0_405_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_016_V1_0_405_VALUE, NULL }; static const FieldPart *I016_V1_0_405_PARTS[] = { &I016_V1_0_405_VALUE, NULL }; static const AsterixField I016_V1_0_405 = { FIXED, 2, 0, 0, &hf_016_V1_0_405, I016_V1_0_405_PARTS, { NULL } }; static int hf_016_V1_0_410; static int hf_016_V1_0_410_TID; static const FieldPart I016_V1_0_410_TID = { 16, 1.0, FIELD_PART_HEX, &hf_016_V1_0_410_TID, NULL }; static int hf_016_V1_0_410_LAT; static const FieldPart I016_V1_0_410_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_V1_0_410_LAT, NULL }; static int hf_016_V1_0_410_LON; static const FieldPart I016_V1_0_410_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_V1_0_410_LON, NULL }; static int hf_016_V1_0_410_ALT; static const FieldPart I016_V1_0_410_ALT = { 16, 0.25, FIELD_PART_FLOAT, &hf_016_V1_0_410_ALT, NULL }; static int hf_016_V1_0_410_TTO; static const FieldPart I016_V1_0_410_TTO = { 32, 2.0, FIELD_PART_FLOAT, &hf_016_V1_0_410_TTO, NULL }; static int hf_016_V1_0_410_ATO; static const FieldPart I016_V1_0_410_ATO = { 20, 1.0, FIELD_PART_UFLOAT, &hf_016_V1_0_410_ATO, NULL }; static int hf_016_V1_0_410_PCI; static const FieldPart I016_V1_0_410_PCI = { 16, 1.0, FIELD_PART_UINT, &hf_016_V1_0_410_PCI, NULL }; static const FieldPart *I016_V1_0_410_PARTS[] = { &I016_V1_0_410_TID, &I016_V1_0_410_LAT, &I016_V1_0_410_LON, &I016_V1_0_410_ALT, &I016_V1_0_410_TTO, &IXXX_4bit_spare, &I016_V1_0_410_ATO, &I016_V1_0_410_PCI, NULL }; static const AsterixField I016_V1_0_410 = { REPETITIVE, 21, 1, 0, &hf_016_V1_0_410, I016_V1_0_410_PARTS, { NULL } }; static int hf_016_V1_0_420; static int hf_016_V1_0_420_RID; static const FieldPart I016_V1_0_420_RID = { 16, 1.0, FIELD_PART_HEX, &hf_016_V1_0_420_RID, NULL }; static int hf_016_V1_0_420_LAT; static const FieldPart I016_V1_0_420_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_V1_0_420_LAT, NULL }; static int hf_016_V1_0_420_LON; static const FieldPart I016_V1_0_420_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_V1_0_420_LON, NULL }; static int hf_016_V1_0_420_ALT; static const FieldPart I016_V1_0_420_ALT = { 16, 0.25, FIELD_PART_FLOAT, &hf_016_V1_0_420_ALT, NULL }; static const FieldPart *I016_V1_0_420_PARTS[] = { &I016_V1_0_420_RID, &I016_V1_0_420_LAT, &I016_V1_0_420_LON, &I016_V1_0_420_ALT, NULL }; static const AsterixField I016_V1_0_420 = { REPETITIVE, 12, 1, 0, &hf_016_V1_0_420, I016_V1_0_420_PARTS, { NULL } }; static int hf_016_V1_0_SP; static const AsterixField I016_V1_0_SP = { EXP, 0, 0, 1, &hf_016_V1_0_SP, NULL, { NULL } }; /* Category 016, edition 1.0 (latest) */ static int hf_016_000; static int hf_016_000_VALUE; static const value_string valstr_016_000_VALUE[] = { { 1, "System Configuration" }, { 2, "Transmitter / Receiver Configuration" }, { 0, NULL } }; static const FieldPart I016_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_016_000_VALUE, NULL }; static const FieldPart *I016_000_PARTS[] = { &I016_000_VALUE, NULL }; static const AsterixField I016_000 = { FIXED, 1, 0, 0, &hf_016_000, I016_000_PARTS, { NULL } }; static int hf_016_010; static int hf_016_010_SAC; static const FieldPart I016_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_016_010_SAC, NULL }; static int hf_016_010_SIC; static const FieldPart I016_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_016_010_SIC, NULL }; static const FieldPart *I016_010_PARTS[] = { &I016_010_SAC, &I016_010_SIC, NULL }; static const AsterixField I016_010 = { FIXED, 2, 0, 0, &hf_016_010, I016_010_PARTS, { NULL } }; static int hf_016_015; static int hf_016_015_VALUE; static const FieldPart I016_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_016_015_VALUE, NULL }; static const FieldPart *I016_015_PARTS[] = { &I016_015_VALUE, NULL }; static const AsterixField I016_015 = { FIXED, 1, 0, 0, &hf_016_015, I016_015_PARTS, { NULL } }; static int hf_016_140; static int hf_016_140_VALUE; static const FieldPart I016_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_016_140_VALUE, NULL }; static const FieldPart *I016_140_PARTS[] = { &I016_140_VALUE, NULL }; static const AsterixField I016_140 = { FIXED, 3, 0, 0, &hf_016_140, I016_140_PARTS, { NULL } }; static int hf_016_200; static int hf_016_200_VALUE; static const FieldPart I016_200_VALUE = { 8, 1.0, FIELD_PART_UFLOAT, &hf_016_200_VALUE, NULL }; static const FieldPart *I016_200_PARTS[] = { &I016_200_VALUE, NULL }; static const AsterixField I016_200 = { FIXED, 1, 0, 0, &hf_016_200, I016_200_PARTS, { NULL } }; static int hf_016_300; static int hf_016_300_PID; static const FieldPart I016_300_PID = { 16, 1.0, FIELD_PART_HEX, &hf_016_300_PID, NULL }; static int hf_016_300_TID; static const FieldPart I016_300_TID = { 16, 1.0, FIELD_PART_HEX, &hf_016_300_TID, NULL }; static int hf_016_300_RID; static const FieldPart I016_300_RID = { 16, 1.0, FIELD_PART_HEX, &hf_016_300_RID, NULL }; static const FieldPart *I016_300_PARTS[] = { &I016_300_PID, &I016_300_TID, &I016_300_RID, NULL }; static const AsterixField I016_300 = { REPETITIVE, 6, 1, 0, &hf_016_300, I016_300_PARTS, { NULL } }; static int hf_016_400; static int hf_016_400_LAT; static const FieldPart I016_400_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_400_LAT, NULL }; static int hf_016_400_LON; static const FieldPart I016_400_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_400_LON, NULL }; static const FieldPart *I016_400_PARTS[] = { &I016_400_LAT, &I016_400_LON, NULL }; static const AsterixField I016_400 = { FIXED, 8, 0, 0, &hf_016_400, I016_400_PARTS, { NULL } }; static int hf_016_405; static int hf_016_405_VALUE; static const FieldPart I016_405_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_016_405_VALUE, NULL }; static const FieldPart *I016_405_PARTS[] = { &I016_405_VALUE, NULL }; static const AsterixField I016_405 = { FIXED, 2, 0, 0, &hf_016_405, I016_405_PARTS, { NULL } }; static int hf_016_410; static int hf_016_410_TID; static const FieldPart I016_410_TID = { 16, 1.0, FIELD_PART_HEX, &hf_016_410_TID, NULL }; static int hf_016_410_LAT; static const FieldPart I016_410_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_410_LAT, NULL }; static int hf_016_410_LON; static const FieldPart I016_410_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_410_LON, NULL }; static int hf_016_410_ALT; static const FieldPart I016_410_ALT = { 16, 0.25, FIELD_PART_FLOAT, &hf_016_410_ALT, NULL }; static int hf_016_410_TTO; static const FieldPart I016_410_TTO = { 32, 2.0, FIELD_PART_FLOAT, &hf_016_410_TTO, NULL }; static int hf_016_410_ATO; static const FieldPart I016_410_ATO = { 20, 1.0, FIELD_PART_UFLOAT, &hf_016_410_ATO, NULL }; static int hf_016_410_PCI; static const FieldPart I016_410_PCI = { 16, 1.0, FIELD_PART_UINT, &hf_016_410_PCI, NULL }; static const FieldPart *I016_410_PARTS[] = { &I016_410_TID, &I016_410_LAT, &I016_410_LON, &I016_410_ALT, &I016_410_TTO, &IXXX_4bit_spare, &I016_410_ATO, &I016_410_PCI, NULL }; static const AsterixField I016_410 = { REPETITIVE, 21, 1, 0, &hf_016_410, I016_410_PARTS, { NULL } }; static int hf_016_420; static int hf_016_420_RID; static const FieldPart I016_420_RID = { 16, 1.0, FIELD_PART_HEX, &hf_016_420_RID, NULL }; static int hf_016_420_LAT; static const FieldPart I016_420_LAT = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_420_LAT, NULL }; static int hf_016_420_LON; static const FieldPart I016_420_LON = { 32, 8.381903171539307e-08, FIELD_PART_FLOAT, &hf_016_420_LON, NULL }; static int hf_016_420_ALT; static const FieldPart I016_420_ALT = { 16, 0.25, FIELD_PART_FLOAT, &hf_016_420_ALT, NULL }; static const FieldPart *I016_420_PARTS[] = { &I016_420_RID, &I016_420_LAT, &I016_420_LON, &I016_420_ALT, NULL }; static const AsterixField I016_420 = { REPETITIVE, 12, 1, 0, &hf_016_420, I016_420_PARTS, { NULL } }; static int hf_016_SP; static const AsterixField I016_SP = { EXP, 0, 0, 1, &hf_016_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I016_V1_0_uap[] = { &I016_V1_0_010, &I016_V1_0_015, &I016_V1_0_000, &I016_V1_0_140, &I016_V1_0_200, &I016_V1_0_300, &I016_V1_0_400, &I016_V1_0_405, &I016_V1_0_410, &I016_V1_0_420, &I016_V1_0_SP, NULL }; static const AsterixField **I016_V1_0[] = { I016_V1_0_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I016_uap[] = { &I016_010, &I016_015, &I016_000, &I016_140, &I016_200, &I016_300, &I016_400, &I016_405, &I016_410, &I016_420, &I016_SP, NULL }; static const AsterixField **I016[] = { I016_uap, NULL }; DIAG_ON_PEDANTIC /* Category 017, edition 1.3 */ static int hf_017_V1_3_000; static int hf_017_V1_3_000_VALUE; static const value_string valstr_017_V1_3_000_VALUE[] = { { 0, "Network information" }, { 10, "Track data" }, { 20, "Track data request" }, { 21, "Track data stop" }, { 22, "Cancel track data request" }, { 23, "Track data stop acknowledgement" }, { 30, "New Node / Change-over Initial or intermediate message segment" }, { 31, "New Node / Change-over Final or only message segment" }, { 32, "New Node / Change-over Initial or intermediate message segment reply" }, { 33, "New Node / Change-over Final or only message segment reply" }, { 110, "Move node to new cluster state;" }, { 111, "Move node to new cluster state acknowledgement" }, { 0, NULL } }; static const FieldPart I017_V1_3_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_017_V1_3_000_VALUE, NULL }; static const FieldPart *I017_V1_3_000_PARTS[] = { &I017_V1_3_000_VALUE, NULL }; static const AsterixField I017_V1_3_000 = { FIXED, 1, 0, 0, &hf_017_V1_3_000, I017_V1_3_000_PARTS, { NULL } }; static int hf_017_V1_3_010; static int hf_017_V1_3_010_SAC; static const FieldPart I017_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_017_V1_3_010_SAC, NULL }; static int hf_017_V1_3_010_SIC; static const FieldPart I017_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_017_V1_3_010_SIC, NULL }; static const FieldPart *I017_V1_3_010_PARTS[] = { &I017_V1_3_010_SAC, &I017_V1_3_010_SIC, NULL }; static const AsterixField I017_V1_3_010 = { FIXED, 2, 0, 0, &hf_017_V1_3_010, I017_V1_3_010_PARTS, { NULL } }; static int hf_017_V1_3_012; static int hf_017_V1_3_012_SAC; static const FieldPart I017_V1_3_012_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_017_V1_3_012_SAC, NULL }; static int hf_017_V1_3_012_SIC; static const FieldPart I017_V1_3_012_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_017_V1_3_012_SIC, NULL }; static const FieldPart *I017_V1_3_012_PARTS[] = { &I017_V1_3_012_SAC, &I017_V1_3_012_SIC, NULL }; static const AsterixField I017_V1_3_012 = { FIXED, 2, 0, 0, &hf_017_V1_3_012, I017_V1_3_012_PARTS, { NULL } }; static int hf_017_V1_3_045; static int hf_017_V1_3_045_LAT; static const FieldPart I017_V1_3_045_LAT = { 24, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_017_V1_3_045_LAT, NULL }; static int hf_017_V1_3_045_LON; static const FieldPart I017_V1_3_045_LON = { 24, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_017_V1_3_045_LON, NULL }; static const FieldPart *I017_V1_3_045_PARTS[] = { &I017_V1_3_045_LAT, &I017_V1_3_045_LON, NULL }; static const AsterixField I017_V1_3_045 = { FIXED, 6, 0, 0, &hf_017_V1_3_045, I017_V1_3_045_PARTS, { NULL } }; static int hf_017_V1_3_050; static int hf_017_V1_3_050_V; static const value_string valstr_017_V1_3_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I017_V1_3_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_050_V, NULL }; static int hf_017_V1_3_050_G; static const value_string valstr_017_V1_3_050_G[] = { { 0, "Default" }, { 1, "Garbled code / Error correction applied" }, { 0, NULL } }; static const FieldPart I017_V1_3_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_050_G, NULL }; static int hf_017_V1_3_050_ALT; static const FieldPart I017_V1_3_050_ALT = { 14, 0.25, FIELD_PART_UFLOAT, &hf_017_V1_3_050_ALT, NULL }; static const FieldPart *I017_V1_3_050_PARTS[] = { &I017_V1_3_050_V, &I017_V1_3_050_G, &I017_V1_3_050_ALT, NULL }; static const AsterixField I017_V1_3_050 = { FIXED, 2, 0, 0, &hf_017_V1_3_050, I017_V1_3_050_PARTS, { NULL } }; static int hf_017_V1_3_070; static int hf_017_V1_3_070_V; static const value_string valstr_017_V1_3_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I017_V1_3_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_070_V, NULL }; static int hf_017_V1_3_070_G; static const value_string valstr_017_V1_3_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I017_V1_3_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_070_G, NULL }; static int hf_017_V1_3_070_L; static const value_string valstr_017_V1_3_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Smoothed Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I017_V1_3_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_070_L, NULL }; static int hf_017_V1_3_070_MODE3A; static const FieldPart I017_V1_3_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_017_V1_3_070_MODE3A, NULL }; static const FieldPart *I017_V1_3_070_PARTS[] = { &I017_V1_3_070_V, &I017_V1_3_070_G, &I017_V1_3_070_L, &IXXX_1bit_spare, &I017_V1_3_070_MODE3A, NULL }; static const AsterixField I017_V1_3_070 = { FIXED, 2, 0, 0, &hf_017_V1_3_070, I017_V1_3_070_PARTS, { NULL } }; static int hf_017_V1_3_140; static int hf_017_V1_3_140_VALUE; static const FieldPart I017_V1_3_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_017_V1_3_140_VALUE, NULL }; static const FieldPart *I017_V1_3_140_PARTS[] = { &I017_V1_3_140_VALUE, NULL }; static const AsterixField I017_V1_3_140 = { FIXED, 3, 0, 0, &hf_017_V1_3_140, I017_V1_3_140_PARTS, { NULL } }; static int hf_017_V1_3_200; static int hf_017_V1_3_200_GSP; static const FieldPart I017_V1_3_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_017_V1_3_200_GSP, NULL }; static int hf_017_V1_3_200_HDG; static const FieldPart I017_V1_3_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_017_V1_3_200_HDG, NULL }; static const FieldPart *I017_V1_3_200_PARTS[] = { &I017_V1_3_200_GSP, &I017_V1_3_200_HDG, NULL }; static const AsterixField I017_V1_3_200 = { FIXED, 4, 0, 0, &hf_017_V1_3_200, I017_V1_3_200_PARTS, { NULL } }; static int hf_017_V1_3_210; static int hf_017_V1_3_210_VALUE; static const FieldPart I017_V1_3_210_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_017_V1_3_210_VALUE, NULL }; static const FieldPart *I017_V1_3_210_PARTS[] = { &I017_V1_3_210_VALUE, NULL }; static const AsterixField I017_V1_3_210 = { REPETITIVE, 3, 1, 0, &hf_017_V1_3_210, I017_V1_3_210_PARTS, { NULL } }; static int hf_017_V1_3_220; static int hf_017_V1_3_220_VALUE; static const FieldPart I017_V1_3_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_017_V1_3_220_VALUE, NULL }; static const FieldPart *I017_V1_3_220_PARTS[] = { &I017_V1_3_220_VALUE, NULL }; static const AsterixField I017_V1_3_220 = { FIXED, 3, 0, 0, &hf_017_V1_3_220, I017_V1_3_220_PARTS, { NULL } }; static int hf_017_V1_3_221; static int hf_017_V1_3_221_VALUE; static const FieldPart I017_V1_3_221_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_017_V1_3_221_VALUE, NULL }; static const FieldPart *I017_V1_3_221_PARTS[] = { &I017_V1_3_221_VALUE, NULL }; static const AsterixField I017_V1_3_221 = { FIXED, 2, 0, 0, &hf_017_V1_3_221, I017_V1_3_221_PARTS, { NULL } }; static int hf_017_V1_3_230; static int hf_017_V1_3_230_CA; static const value_string valstr_017_V1_3_230_CA[] = { { 0, "No communications capability (surveillance only), no ability to set CA code 7 either airborne or on the ground" }, { 1, "Reserved" }, { 2, "Reserved" }, { 3, "Reserved" }, { 4, "At Least Comm. A and Comm. B capability and the ability to set CA code 7 and on the ground" }, { 5, "At Least Comm. A and Comm. B capability and the ability to set CA code 7 and airborne" }, { 6, "At Least Comm. A and Comm. B capability and the ability to set CA code 7 and either airborne or on the ground" }, { 7, "Signifies the DR field is not equal to 0 or the FS field equals 2, 3, 4 or 5 and either airborne or on the ground SI/II-capabilities of the Transponder" }, { 0, NULL } }; static const FieldPart I017_V1_3_230_CA = { 3, 1.0, FIELD_PART_UINT, &hf_017_V1_3_230_CA, NULL }; static int hf_017_V1_3_230_SI; static const value_string valstr_017_V1_3_230_SI[] = { { 0, "Transponder SI capable" }, { 1, "Transponder not SI capable" }, { 0, NULL } }; static const FieldPart I017_V1_3_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_230_SI, NULL }; static const FieldPart *I017_V1_3_230_PARTS[] = { &I017_V1_3_230_CA, &I017_V1_3_230_SI, &IXXX_4bit_spare, NULL }; static const AsterixField I017_V1_3_230 = { FIXED, 1, 0, 0, &hf_017_V1_3_230, I017_V1_3_230_PARTS, { NULL } }; static int hf_017_V1_3_240; static int hf_017_V1_3_240_CST; static const value_string valstr_017_V1_3_240_CST[] = { { 0, "Measured position" }, { 1, "No measured position (coasted)" }, { 0, NULL } }; static const FieldPart I017_V1_3_240_CST = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_240_CST, NULL }; static int hf_017_V1_3_240_FLT; static const value_string valstr_017_V1_3_240_FLT[] = { { 0, "Last Measured Flight Level" }, { 1, "Predicted Flight Level" }, { 0, NULL } }; static const FieldPart I017_V1_3_240_FLT = { 1, 1.0, FIELD_PART_UINT, &hf_017_V1_3_240_FLT, NULL }; static const FieldPart *I017_V1_3_240_PARTS[] = { &I017_V1_3_240_CST, &I017_V1_3_240_FLT, &IXXX_6bit_spare, NULL }; static const AsterixField I017_V1_3_240 = { FIXED, 1, 0, 0, &hf_017_V1_3_240, I017_V1_3_240_PARTS, { NULL } }; static int hf_017_V1_3_350; static int hf_017_V1_3_350_SAC; static const FieldPart I017_V1_3_350_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_017_V1_3_350_SAC, NULL }; static int hf_017_V1_3_350_SIC; static const FieldPart I017_V1_3_350_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_017_V1_3_350_SIC, NULL }; static const FieldPart *I017_V1_3_350_PARTS[] = { &I017_V1_3_350_SAC, &I017_V1_3_350_SIC, NULL }; static const AsterixField I017_V1_3_350 = { REPETITIVE, 2, 1, 0, &hf_017_V1_3_350, I017_V1_3_350_PARTS, { NULL } }; static int hf_017_V1_3_360; static int hf_017_V1_3_360_VALUE; static const FieldPart I017_V1_3_360_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_017_V1_3_360_VALUE, NULL }; static const FieldPart *I017_V1_3_360_PARTS[] = { &I017_V1_3_360_VALUE, NULL }; static const AsterixField I017_V1_3_360 = { FIXED, 1, 0, 0, &hf_017_V1_3_360, I017_V1_3_360_PARTS, { NULL } }; static int hf_017_V1_3_SP; static const AsterixField I017_V1_3_SP = { EXP, 0, 0, 1, &hf_017_V1_3_SP, NULL, { NULL } }; /* Category 017, edition 1.3 (latest) */ static int hf_017_000; static int hf_017_000_VALUE; static const value_string valstr_017_000_VALUE[] = { { 0, "Network information" }, { 10, "Track data" }, { 20, "Track data request" }, { 21, "Track data stop" }, { 22, "Cancel track data request" }, { 23, "Track data stop acknowledgement" }, { 30, "New Node / Change-over Initial or intermediate message segment" }, { 31, "New Node / Change-over Final or only message segment" }, { 32, "New Node / Change-over Initial or intermediate message segment reply" }, { 33, "New Node / Change-over Final or only message segment reply" }, { 110, "Move node to new cluster state;" }, { 111, "Move node to new cluster state acknowledgement" }, { 0, NULL } }; static const FieldPart I017_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_017_000_VALUE, NULL }; static const FieldPart *I017_000_PARTS[] = { &I017_000_VALUE, NULL }; static const AsterixField I017_000 = { FIXED, 1, 0, 0, &hf_017_000, I017_000_PARTS, { NULL } }; static int hf_017_010; static int hf_017_010_SAC; static const FieldPart I017_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_017_010_SAC, NULL }; static int hf_017_010_SIC; static const FieldPart I017_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_017_010_SIC, NULL }; static const FieldPart *I017_010_PARTS[] = { &I017_010_SAC, &I017_010_SIC, NULL }; static const AsterixField I017_010 = { FIXED, 2, 0, 0, &hf_017_010, I017_010_PARTS, { NULL } }; static int hf_017_012; static int hf_017_012_SAC; static const FieldPart I017_012_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_017_012_SAC, NULL }; static int hf_017_012_SIC; static const FieldPart I017_012_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_017_012_SIC, NULL }; static const FieldPart *I017_012_PARTS[] = { &I017_012_SAC, &I017_012_SIC, NULL }; static const AsterixField I017_012 = { FIXED, 2, 0, 0, &hf_017_012, I017_012_PARTS, { NULL } }; static int hf_017_045; static int hf_017_045_LAT; static const FieldPart I017_045_LAT = { 24, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_017_045_LAT, NULL }; static int hf_017_045_LON; static const FieldPart I017_045_LON = { 24, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_017_045_LON, NULL }; static const FieldPart *I017_045_PARTS[] = { &I017_045_LAT, &I017_045_LON, NULL }; static const AsterixField I017_045 = { FIXED, 6, 0, 0, &hf_017_045, I017_045_PARTS, { NULL } }; static int hf_017_050; static int hf_017_050_V; static const value_string valstr_017_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I017_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_017_050_V, NULL }; static int hf_017_050_G; static const value_string valstr_017_050_G[] = { { 0, "Default" }, { 1, "Garbled code / Error correction applied" }, { 0, NULL } }; static const FieldPart I017_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_017_050_G, NULL }; static int hf_017_050_ALT; static const FieldPart I017_050_ALT = { 14, 0.25, FIELD_PART_UFLOAT, &hf_017_050_ALT, NULL }; static const FieldPart *I017_050_PARTS[] = { &I017_050_V, &I017_050_G, &I017_050_ALT, NULL }; static const AsterixField I017_050 = { FIXED, 2, 0, 0, &hf_017_050, I017_050_PARTS, { NULL } }; static int hf_017_070; static int hf_017_070_V; static const value_string valstr_017_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I017_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_017_070_V, NULL }; static int hf_017_070_G; static const value_string valstr_017_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I017_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_017_070_G, NULL }; static int hf_017_070_L; static const value_string valstr_017_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Smoothed Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I017_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_017_070_L, NULL }; static int hf_017_070_MODE3A; static const FieldPart I017_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_017_070_MODE3A, NULL }; static const FieldPart *I017_070_PARTS[] = { &I017_070_V, &I017_070_G, &I017_070_L, &IXXX_1bit_spare, &I017_070_MODE3A, NULL }; static const AsterixField I017_070 = { FIXED, 2, 0, 0, &hf_017_070, I017_070_PARTS, { NULL } }; static int hf_017_140; static int hf_017_140_VALUE; static const FieldPart I017_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_017_140_VALUE, NULL }; static const FieldPart *I017_140_PARTS[] = { &I017_140_VALUE, NULL }; static const AsterixField I017_140 = { FIXED, 3, 0, 0, &hf_017_140, I017_140_PARTS, { NULL } }; static int hf_017_200; static int hf_017_200_GSP; static const FieldPart I017_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_017_200_GSP, NULL }; static int hf_017_200_HDG; static const FieldPart I017_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_017_200_HDG, NULL }; static const FieldPart *I017_200_PARTS[] = { &I017_200_GSP, &I017_200_HDG, NULL }; static const AsterixField I017_200 = { FIXED, 4, 0, 0, &hf_017_200, I017_200_PARTS, { NULL } }; static int hf_017_210; static int hf_017_210_VALUE; static const FieldPart I017_210_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_017_210_VALUE, NULL }; static const FieldPart *I017_210_PARTS[] = { &I017_210_VALUE, NULL }; static const AsterixField I017_210 = { REPETITIVE, 3, 1, 0, &hf_017_210, I017_210_PARTS, { NULL } }; static int hf_017_220; static int hf_017_220_VALUE; static const FieldPart I017_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_017_220_VALUE, NULL }; static const FieldPart *I017_220_PARTS[] = { &I017_220_VALUE, NULL }; static const AsterixField I017_220 = { FIXED, 3, 0, 0, &hf_017_220, I017_220_PARTS, { NULL } }; static int hf_017_221; static int hf_017_221_VALUE; static const FieldPart I017_221_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_017_221_VALUE, NULL }; static const FieldPart *I017_221_PARTS[] = { &I017_221_VALUE, NULL }; static const AsterixField I017_221 = { FIXED, 2, 0, 0, &hf_017_221, I017_221_PARTS, { NULL } }; static int hf_017_230; static int hf_017_230_CA; static const value_string valstr_017_230_CA[] = { { 0, "No communications capability (surveillance only), no ability to set CA code 7 either airborne or on the ground" }, { 1, "Reserved" }, { 2, "Reserved" }, { 3, "Reserved" }, { 4, "At Least Comm. A and Comm. B capability and the ability to set CA code 7 and on the ground" }, { 5, "At Least Comm. A and Comm. B capability and the ability to set CA code 7 and airborne" }, { 6, "At Least Comm. A and Comm. B capability and the ability to set CA code 7 and either airborne or on the ground" }, { 7, "Signifies the DR field is not equal to 0 or the FS field equals 2, 3, 4 or 5 and either airborne or on the ground SI/II-capabilities of the Transponder" }, { 0, NULL } }; static const FieldPart I017_230_CA = { 3, 1.0, FIELD_PART_UINT, &hf_017_230_CA, NULL }; static int hf_017_230_SI; static const value_string valstr_017_230_SI[] = { { 0, "Transponder SI capable" }, { 1, "Transponder not SI capable" }, { 0, NULL } }; static const FieldPart I017_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_017_230_SI, NULL }; static const FieldPart *I017_230_PARTS[] = { &I017_230_CA, &I017_230_SI, &IXXX_4bit_spare, NULL }; static const AsterixField I017_230 = { FIXED, 1, 0, 0, &hf_017_230, I017_230_PARTS, { NULL } }; static int hf_017_240; static int hf_017_240_CST; static const value_string valstr_017_240_CST[] = { { 0, "Measured position" }, { 1, "No measured position (coasted)" }, { 0, NULL } }; static const FieldPart I017_240_CST = { 1, 1.0, FIELD_PART_UINT, &hf_017_240_CST, NULL }; static int hf_017_240_FLT; static const value_string valstr_017_240_FLT[] = { { 0, "Last Measured Flight Level" }, { 1, "Predicted Flight Level" }, { 0, NULL } }; static const FieldPart I017_240_FLT = { 1, 1.0, FIELD_PART_UINT, &hf_017_240_FLT, NULL }; static const FieldPart *I017_240_PARTS[] = { &I017_240_CST, &I017_240_FLT, &IXXX_6bit_spare, NULL }; static const AsterixField I017_240 = { FIXED, 1, 0, 0, &hf_017_240, I017_240_PARTS, { NULL } }; static int hf_017_350; static int hf_017_350_SAC; static const FieldPart I017_350_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_017_350_SAC, NULL }; static int hf_017_350_SIC; static const FieldPart I017_350_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_017_350_SIC, NULL }; static const FieldPart *I017_350_PARTS[] = { &I017_350_SAC, &I017_350_SIC, NULL }; static const AsterixField I017_350 = { REPETITIVE, 2, 1, 0, &hf_017_350, I017_350_PARTS, { NULL } }; static int hf_017_360; static int hf_017_360_VALUE; static const FieldPart I017_360_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_017_360_VALUE, NULL }; static const FieldPart *I017_360_PARTS[] = { &I017_360_VALUE, NULL }; static const AsterixField I017_360 = { FIXED, 1, 0, 0, &hf_017_360, I017_360_PARTS, { NULL } }; static int hf_017_SP; static const AsterixField I017_SP = { EXP, 0, 0, 1, &hf_017_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I017_V1_3_uap[] = { &I017_V1_3_010, &I017_V1_3_012, &I017_V1_3_000, &I017_V1_3_350, &I017_V1_3_220, &I017_V1_3_221, &I017_V1_3_140, &I017_V1_3_045, &I017_V1_3_070, &I017_V1_3_050, &I017_V1_3_200, &I017_V1_3_230, &I017_V1_3_240, &I017_V1_3_210, &I017_V1_3_360, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I017_V1_3_SP, NULL }; static const AsterixField **I017_V1_3[] = { I017_V1_3_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I017_uap[] = { &I017_010, &I017_012, &I017_000, &I017_350, &I017_220, &I017_221, &I017_140, &I017_045, &I017_070, &I017_050, &I017_200, &I017_230, &I017_240, &I017_210, &I017_360, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I017_SP, NULL }; static const AsterixField **I017[] = { I017_uap, NULL }; DIAG_ON_PEDANTIC /* Category 018, edition 1.7 */ static int hf_018_V1_7_000; static int hf_018_V1_7_000_VALUE; static const value_string valstr_018_V1_7_000_VALUE[] = { { 0, "Associate_req" }, { 1, "Associate_resp" }, { 2, "Release_req" }, { 3, "Release_resp" }, { 4, "Abort_req" }, { 5, "Keep_alive" }, { 16, "Aircraft_report" }, { 17, "Aircraft_command" }, { 18, "II_code_change" }, { 32, "Uplink_packet" }, { 33, "Cancel_uplink_packet" }, { 34, "Uplink_packet_ack" }, { 35, "Downlink_packet" }, { 38, "Data_XON" }, { 39, "Data_XOFF" }, { 48, "Uplink_broadcast" }, { 49, "Cancel_uplink_broadcast" }, { 50, "Uplink_broadcast_ack" }, { 52, "Downlink_broadcast" }, { 64, "GICB_extraction" }, { 65, "Cancel_GICB_extraction" }, { 66, "GICB_extraction_ack" }, { 67, "GICB_response" }, { 0, NULL } }; static const FieldPart I018_V1_7_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_018_V1_7_000_VALUE, NULL }; static const FieldPart *I018_V1_7_000_PARTS[] = { &I018_V1_7_000_VALUE, NULL }; static const AsterixField I018_V1_7_000 = { FIXED, 1, 0, 0, &hf_018_V1_7_000, I018_V1_7_000_PARTS, { NULL } }; static int hf_018_V1_7_001; static int hf_018_V1_7_001_CAUSE; static const value_string valstr_018_V1_7_001_CAUSE[] = { { 0, "Accepted, the request is accepted and is under processing" }, { 1, "Rejected, the request has not been accepted" }, { 2, "Cancelled, the request has been cancelled" }, { 3, "Finished, the request has been accepted and successfully processed" }, { 4, "Delayed, the request processing is temporarily delayed but the request is still valid" }, { 5, "In Progress, the request is being successfully processed" }, { 6, "In Progress, the request is being successfully processed" }, { 0, NULL } }; static const FieldPart I018_V1_7_001_CAUSE = { 4, 1.0, FIELD_PART_UINT, &hf_018_V1_7_001_CAUSE, NULL }; static int hf_018_V1_7_001_DIAG; static const value_string valstr_018_V1_7_001_DIAG[] = { { 0, "No diagnostic available" }, { 1, "Aircraft Exit" }, { 2, "Incorrect aircraft address" }, { 3, "Impossibility to process the message" }, { 4, "Insufficient or change in data link capability" }, { 5, "Invalid LV field" }, { 6, "Duplicate request number" }, { 7, "Unknown request number" }, { 8, "Timer T3 expiry" }, { 9, "Expiry of I/R delivery timer" }, { 10, "Uplink flow disabled by UC" }, { 0, NULL } }; static const FieldPart I018_V1_7_001_DIAG = { 4, 1.0, FIELD_PART_UINT, &hf_018_V1_7_001_DIAG, NULL }; static const FieldPart *I018_V1_7_001_PARTS[] = { &I018_V1_7_001_CAUSE, &I018_V1_7_001_DIAG, NULL }; static const AsterixField I018_V1_7_001 = { FIXED, 1, 0, 0, &hf_018_V1_7_001, I018_V1_7_001_PARTS, { NULL } }; static int hf_018_V1_7_002; static int hf_018_V1_7_002_VALUE; static const FieldPart I018_V1_7_002_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_018_V1_7_002_VALUE, NULL }; static const FieldPart *I018_V1_7_002_PARTS[] = { &I018_V1_7_002_VALUE, NULL }; static const AsterixField I018_V1_7_002 = { FIXED, 3, 0, 0, &hf_018_V1_7_002, I018_V1_7_002_PARTS, { NULL } }; static int hf_018_V1_7_004; static int hf_018_V1_7_004_PREVIOUSII; static const FieldPart I018_V1_7_004_PREVIOUSII = { 4, 1.0, FIELD_PART_HEX, &hf_018_V1_7_004_PREVIOUSII, NULL }; static int hf_018_V1_7_004_CURRENTII; static const FieldPart I018_V1_7_004_CURRENTII = { 4, 1.0, FIELD_PART_HEX, &hf_018_V1_7_004_CURRENTII, NULL }; static const FieldPart *I018_V1_7_004_PARTS[] = { &I018_V1_7_004_PREVIOUSII, &I018_V1_7_004_CURRENTII, NULL }; static const AsterixField I018_V1_7_004 = { FIXED, 1, 0, 0, &hf_018_V1_7_004, I018_V1_7_004_PARTS, { NULL } }; static int hf_018_V1_7_005; static int hf_018_V1_7_005_VALUE; static const FieldPart I018_V1_7_005_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_018_V1_7_005_VALUE, NULL }; static const FieldPart *I018_V1_7_005_PARTS[] = { &I018_V1_7_005_VALUE, NULL }; static const AsterixField I018_V1_7_005 = { FIXED, 3, 0, 0, &hf_018_V1_7_005, I018_V1_7_005_PARTS, { NULL } }; static int hf_018_V1_7_006; static int hf_018_V1_7_006_VALUE; static const FieldPart I018_V1_7_006_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_018_V1_7_006_VALUE, NULL }; static const FieldPart *I018_V1_7_006_PARTS[] = { &I018_V1_7_006_VALUE, NULL }; static const AsterixField I018_V1_7_006 = { REPETITIVE, 3, 1, 0, &hf_018_V1_7_006, I018_V1_7_006_PARTS, { NULL } }; static int hf_018_V1_7_007; static int hf_018_V1_7_007_UM; static const value_string valstr_018_V1_7_007_UM[] = { { 0, "UC shall be ignored" }, { 1, "UC shall be taken into account" }, { 0, NULL } }; static const FieldPart I018_V1_7_007_UM = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_007_UM, NULL }; static int hf_018_V1_7_007_DM; static const value_string valstr_018_V1_7_007_DM[] = { { 0, "DC shall be ignored" }, { 1, "DC shall be taken into account" }, { 0, NULL } }; static const FieldPart I018_V1_7_007_DM = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_007_DM, NULL }; static int hf_018_V1_7_007_UC; static const value_string valstr_018_V1_7_007_UC[] = { { 0, "the uplink flow shall be enabled" }, { 1, "the uplink flow shall be stopped" }, { 0, NULL } }; static const FieldPart I018_V1_7_007_UC = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_007_UC, NULL }; static int hf_018_V1_7_007_DC; static const value_string valstr_018_V1_7_007_DC[] = { { 0, "the downlink flow shall be enabled" }, { 1, "the downlink flow shall be stopped" }, { 0, NULL } }; static const FieldPart I018_V1_7_007_DC = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_007_DC, NULL }; static const FieldPart *I018_V1_7_007_PARTS[] = { &I018_V1_7_007_UM, &I018_V1_7_007_DM, &I018_V1_7_007_UC, &I018_V1_7_007_DC, &IXXX_4bit_spare, NULL }; static const AsterixField I018_V1_7_007 = { FIXED, 1, 0, 0, &hf_018_V1_7_007, I018_V1_7_007_PARTS, { NULL } }; static int hf_018_V1_7_008; static int hf_018_V1_7_008_UDS; static const value_string valstr_018_V1_7_008_UDS[] = { { 0, "The interrogator is enabled to uplink frames" }, { 1, "The interrogator is disabled to uplink frames" }, { 0, NULL } }; static const FieldPart I018_V1_7_008_UDS = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_008_UDS, NULL }; static int hf_018_V1_7_008_DDS; static const value_string valstr_018_V1_7_008_DDS[] = { { 0, "The interrogator is enabled to extract frames" }, { 1, "The interrogator is disabled to extract frames" }, { 0, NULL } }; static const FieldPart I018_V1_7_008_DDS = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_008_DDS, NULL }; static int hf_018_V1_7_008_UCS; static const value_string valstr_018_V1_7_008_UCS[] = { { 0, "The interrogator is enabled to uplink frames" }, { 1, "The interrogator is disabled to uplink frames" }, { 0, NULL } }; static const FieldPart I018_V1_7_008_UCS = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_008_UCS, NULL }; static int hf_018_V1_7_008_DCS; static const value_string valstr_018_V1_7_008_DCS[] = { { 0, "The interrogator is enabled to extract frames" }, { 1, "The interrogator is disabled to extract frames" }, { 0, NULL } }; static const FieldPart I018_V1_7_008_DCS = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_008_DCS, NULL }; static int hf_018_V1_7_008_EI; static const value_string valstr_018_V1_7_008_EI[] = { { 0, "The aircraft is in the Datalink coverage map of the interrogator" }, { 1, "The aircraft is not in the Datalink coverage map of the interrogator" }, { 0, NULL } }; static const FieldPart I018_V1_7_008_EI = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_008_EI, NULL }; static int hf_018_V1_7_008_IC; static const value_string valstr_018_V1_7_008_IC[] = { { 0, "The interrogators current ability to uplink/downlink frames (UCS/DCS) and the content of the Aircraft_report could be changed using D_Data_link_command" }, { 1, "The interrogators current ability to uplink/downlink frames (UCS/DCS) and the content of the Aircraft_report cannot be changed using D_Data_link_command" }, { 0, NULL } }; static const FieldPart I018_V1_7_008_IC = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_008_IC, NULL }; static const FieldPart *I018_V1_7_008_PARTS[] = { &I018_V1_7_008_UDS, &I018_V1_7_008_DDS, &I018_V1_7_008_UCS, &I018_V1_7_008_DCS, &IXXX_2bit_spare, &I018_V1_7_008_EI, &IXXX_FX, &I018_V1_7_008_IC, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I018_V1_7_008 = { FX, 1, 0, 0, &hf_018_V1_7_008, I018_V1_7_008_PARTS, { NULL } }; static int hf_018_V1_7_009; static int hf_018_V1_7_009_SR; static const value_string valstr_018_V1_7_009_SR[] = { { 0, "The next Aircraft_report may not include D_Data_link_status" }, { 1, "The next Aircraft_report shall include D_Data_link_status" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_SR = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_SR, NULL }; static int hf_018_V1_7_009_AR; static const value_string valstr_018_V1_7_009_AR[] = { { 0, "The next Aircraft_report may not include D_COM" }, { 1, "The next Aircraft_report shall include D_COM" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_AR = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_AR, NULL }; static int hf_018_V1_7_009_ER; static const value_string valstr_018_V1_7_009_ER[] = { { 0, "The next Aircraft_report may not include D_ECA" }, { 1, "The next Aircraft_report shall include D_ECA" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_ER = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_ER, NULL }; static int hf_018_V1_7_009_FR; static const value_string valstr_018_V1_7_009_FR[] = { { 0, "The next Aircraft_report may not include D_CQF" }, { 1, "The next Aircraft_report shall include D_CQF" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_FR = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_FR, NULL }; static int hf_018_V1_7_009_MR; static const value_string valstr_018_V1_7_009_MR[] = { { 0, "The next Aircraft_report may not include D_CQF_method" }, { 1, "The next Aircraft_report shall include D_CQF_method" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_MR = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_MR, NULL }; static int hf_018_V1_7_009_PR; static const value_string valstr_018_V1_7_009_PR[] = { { 0, "The next Aircraft_report may not include D_Polar_position" }, { 1, "The next Aircraft_report shall include D_Polar_position" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_PR = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_PR, NULL }; static int hf_018_V1_7_009_CR; static const value_string valstr_018_V1_7_009_CR[] = { { 0, "The next Aircraft_report may not include D_Cartesian_position" }, { 1, "The next Aircraft_report shall include D_Cartesian_position" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_CR = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_CR, NULL }; static int hf_018_V1_7_009_ID; static const value_string valstr_018_V1_7_009_ID[] = { { 0, "The next Aircraft_report may not include Aircraft_ID" }, { 1, "The next Aircraft_report shall include Aircraft_ID" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_ID = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_ID, NULL }; static int hf_018_V1_7_009_MA; static const value_string valstr_018_V1_7_009_MA[] = { { 0, "The next Aircraft_report may not include Mode_A" }, { 1, "The next Aircraft_report shall include Mode_A" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_MA = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_MA, NULL }; static int hf_018_V1_7_009_SP; static const value_string valstr_018_V1_7_009_SP[] = { { 0, "The next Aircraft_report may not include Speed" }, { 1, "The next Aircraft_report shall include Speed" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_SP = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_SP, NULL }; static int hf_018_V1_7_009_HG; static const value_string valstr_018_V1_7_009_HG[] = { { 0, "The next Aircraft_report may not include Height" }, { 1, "The next Aircraft_report shall include Height" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_HG = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_HG, NULL }; static int hf_018_V1_7_009_HD; static const value_string valstr_018_V1_7_009_HD[] = { { 0, "The next Aircraft_report may not include Heading" }, { 1, "The next Aircraft_report shall include Heading" }, { 0, NULL } }; static const FieldPart I018_V1_7_009_HD = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_009_HD, NULL }; static const FieldPart *I018_V1_7_009_PARTS[] = { &I018_V1_7_009_SR, &I018_V1_7_009_AR, &I018_V1_7_009_ER, &I018_V1_7_009_FR, &I018_V1_7_009_MR, &I018_V1_7_009_PR, &I018_V1_7_009_CR, &IXXX_FX, &I018_V1_7_009_ID, &I018_V1_7_009_MA, &I018_V1_7_009_SP, &I018_V1_7_009_HG, &I018_V1_7_009_HD, &IXXX_2bit_spare, &IXXX_FX, NULL }; static const AsterixField I018_V1_7_009 = { FX, 1, 0, 0, &hf_018_V1_7_009, I018_V1_7_009_PARTS, { NULL } }; static int hf_018_V1_7_010; static int hf_018_V1_7_010_COM; static const value_string valstr_018_V1_7_010_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B and Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I018_V1_7_010_COM = { 3, 1.0, FIELD_PART_UINT, &hf_018_V1_7_010_COM, NULL }; static const FieldPart *I018_V1_7_010_PARTS[] = { &IXXX_5bit_spare, &I018_V1_7_010_COM, NULL }; static const AsterixField I018_V1_7_010 = { FIXED, 1, 0, 0, &hf_018_V1_7_010, I018_V1_7_010_PARTS, { NULL } }; static int hf_018_V1_7_011; static int hf_018_V1_7_011_VALUE; static const FieldPart I018_V1_7_011_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_018_V1_7_011_VALUE, NULL }; static const FieldPart *I018_V1_7_011_PARTS[] = { &I018_V1_7_011_VALUE, NULL }; static const AsterixField I018_V1_7_011 = { FIXED, 7, 0, 0, &hf_018_V1_7_011, I018_V1_7_011_PARTS, { NULL } }; static int hf_018_V1_7_012; static int hf_018_V1_7_012_FS; static const value_string valstr_018_V1_7_012_FS[] = { { 0, "Aircraft is airborne" }, { 1, "Aircraft is on the ground" }, { 0, NULL } }; static const FieldPart I018_V1_7_012_FS = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_012_FS, NULL }; static int hf_018_V1_7_012_CQF; static const value_string valstr_018_V1_7_012_CQF[] = { { 0, "The CQF calculation method is not supported" }, { 1, "The CQF is minimum" }, { 126, "The CQF is maximum" }, { 127, "The CQF is undefined according to the calculation method" }, { 0, NULL } }; static const FieldPart I018_V1_7_012_CQF = { 7, 1.0, FIELD_PART_UINT, &hf_018_V1_7_012_CQF, NULL }; static const FieldPart *I018_V1_7_012_PARTS[] = { &I018_V1_7_012_FS, &I018_V1_7_012_CQF, NULL }; static const AsterixField I018_V1_7_012 = { FIXED, 1, 0, 0, &hf_018_V1_7_012, I018_V1_7_012_PARTS, { NULL } }; static int hf_018_V1_7_013; static int hf_018_V1_7_013_VALUE; static const FieldPart I018_V1_7_013_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_018_V1_7_013_VALUE, NULL }; static const FieldPart *I018_V1_7_013_PARTS[] = { &I018_V1_7_013_VALUE, NULL }; static const AsterixField I018_V1_7_013 = { FIXED, 1, 0, 0, &hf_018_V1_7_013, I018_V1_7_013_PARTS, { NULL } }; static int hf_018_V1_7_014; static int hf_018_V1_7_014_RHO; static const FieldPart I018_V1_7_014_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_018_V1_7_014_RHO, NULL }; static int hf_018_V1_7_014_THETA; static const FieldPart I018_V1_7_014_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_018_V1_7_014_THETA, NULL }; static const FieldPart *I018_V1_7_014_PARTS[] = { &I018_V1_7_014_RHO, &I018_V1_7_014_THETA, NULL }; static const AsterixField I018_V1_7_014 = { FIXED, 4, 0, 0, &hf_018_V1_7_014, I018_V1_7_014_PARTS, { NULL } }; static int hf_018_V1_7_015; static int hf_018_V1_7_015_X; static const FieldPart I018_V1_7_015_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_018_V1_7_015_X, NULL }; static int hf_018_V1_7_015_Y; static const FieldPart I018_V1_7_015_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_018_V1_7_015_Y, NULL }; static const FieldPart *I018_V1_7_015_PARTS[] = { &I018_V1_7_015_X, &I018_V1_7_015_Y, NULL }; static const AsterixField I018_V1_7_015 = { FIXED, 4, 0, 0, &hf_018_V1_7_015, I018_V1_7_015_PARTS, { NULL } }; static int hf_018_V1_7_016; static int hf_018_V1_7_016_VALUE; static const FieldPart I018_V1_7_016_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_V1_7_016_VALUE, NULL }; static const FieldPart *I018_V1_7_016_PARTS[] = { &I018_V1_7_016_VALUE, NULL }; static const AsterixField I018_V1_7_016 = { FIXED, 4, 0, 0, &hf_018_V1_7_016, I018_V1_7_016_PARTS, { NULL } }; static int hf_018_V1_7_017; static int hf_018_V1_7_017_VALUE; static const FieldPart I018_V1_7_017_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_V1_7_017_VALUE, NULL }; static const FieldPart *I018_V1_7_017_PARTS[] = { &I018_V1_7_017_VALUE, NULL }; static const AsterixField I018_V1_7_017 = { REPETITIVE, 4, 1, 0, &hf_018_V1_7_017, I018_V1_7_017_PARTS, { NULL } }; static int hf_018_V1_7_018; static int hf_018_V1_7_018_PR; static const FieldPart I018_V1_7_018_PR = { 5, 1.0, FIELD_PART_UINT, &hf_018_V1_7_018_PR, NULL }; static int hf_018_V1_7_018_PT; static const value_string valstr_018_V1_7_018_PT[] = { { 0, "SVC packets" }, { 1, "MSP packets" }, { 2, "Route packets" }, { 0, NULL } }; static const FieldPart I018_V1_7_018_PT = { 2, 1.0, FIELD_PART_UINT, &hf_018_V1_7_018_PT, NULL }; static const FieldPart *I018_V1_7_018_PARTS[] = { &IXXX_1bit_spare, &I018_V1_7_018_PR, &I018_V1_7_018_PT, NULL }; static const AsterixField I018_V1_7_018 = { FIXED, 1, 0, 0, &hf_018_V1_7_018, I018_V1_7_018_PARTS, { NULL } }; static int hf_018_V1_7_019; static const AsterixField I018_V1_7_019 = { EXP, 0, 0, 1, &hf_018_V1_7_019, NULL, { NULL } }; static int hf_018_V1_7_020; static int hf_018_V1_7_020_VALUE; static const FieldPart I018_V1_7_020_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_V1_7_020_VALUE, NULL }; static const FieldPart *I018_V1_7_020_PARTS[] = { &I018_V1_7_020_VALUE, NULL }; static const AsterixField I018_V1_7_020 = { FIXED, 4, 0, 0, &hf_018_V1_7_020, I018_V1_7_020_PARTS, { NULL } }; static int hf_018_V1_7_021; static int hf_018_V1_7_021_PRIORITY; static const FieldPart I018_V1_7_021_PRIORITY = { 4, 1.0, FIELD_PART_UINT, &hf_018_V1_7_021_PRIORITY, NULL }; static int hf_018_V1_7_021_POWER; static const FieldPart I018_V1_7_021_POWER = { 4, 1.0, FIELD_PART_UINT, &hf_018_V1_7_021_POWER, NULL }; static int hf_018_V1_7_021_DURATION; static const FieldPart I018_V1_7_021_DURATION = { 8, 1.0, FIELD_PART_UFLOAT, &hf_018_V1_7_021_DURATION, NULL }; static int hf_018_V1_7_021_COVERAGE; static const FieldPart I018_V1_7_021_COVERAGE = { 32, 1.0, FIELD_PART_HEX, &hf_018_V1_7_021_COVERAGE, NULL }; static const FieldPart *I018_V1_7_021_PARTS[] = { &I018_V1_7_021_PRIORITY, &I018_V1_7_021_POWER, &I018_V1_7_021_DURATION, &I018_V1_7_021_COVERAGE, NULL }; static const AsterixField I018_V1_7_021 = { FIXED, 6, 0, 0, &hf_018_V1_7_021, I018_V1_7_021_PARTS, { NULL } }; static int hf_018_V1_7_022; static int hf_018_V1_7_022_PREFIX; static const FieldPart I018_V1_7_022_PREFIX = { 27, 1.0, FIELD_PART_HEX, &hf_018_V1_7_022_PREFIX, NULL }; static const FieldPart *I018_V1_7_022_PARTS[] = { &IXXX_5bit_spare, &I018_V1_7_022_PREFIX, NULL }; static const AsterixField I018_V1_7_022 = { FIXED, 4, 0, 0, &hf_018_V1_7_022, I018_V1_7_022_PARTS, { NULL } }; static int hf_018_V1_7_023; static int hf_018_V1_7_023_VALUE; static const FieldPart I018_V1_7_023_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_018_V1_7_023_VALUE, NULL }; static const FieldPart *I018_V1_7_023_PARTS[] = { &I018_V1_7_023_VALUE, NULL }; static const AsterixField I018_V1_7_023 = { FIXED, 7, 0, 0, &hf_018_V1_7_023, I018_V1_7_023_PARTS, { NULL } }; static int hf_018_V1_7_025; static int hf_018_V1_7_025_VALUE; static const FieldPart I018_V1_7_025_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_V1_7_025_VALUE, NULL }; static const FieldPart *I018_V1_7_025_PARTS[] = { &I018_V1_7_025_VALUE, NULL }; static const AsterixField I018_V1_7_025 = { FIXED, 4, 0, 0, &hf_018_V1_7_025, I018_V1_7_025_PARTS, { NULL } }; static int hf_018_V1_7_027; static int hf_018_V1_7_027_VALUE; static const FieldPart I018_V1_7_027_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_018_V1_7_027_VALUE, NULL }; static const FieldPart *I018_V1_7_027_PARTS[] = { &I018_V1_7_027_VALUE, NULL }; static const AsterixField I018_V1_7_027 = { FIXED, 1, 0, 0, &hf_018_V1_7_027, I018_V1_7_027_PARTS, { NULL } }; static int hf_018_V1_7_028; static int hf_018_V1_7_028_VALUE; static const FieldPart I018_V1_7_028_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_018_V1_7_028_VALUE, NULL }; static const FieldPart *I018_V1_7_028_PARTS[] = { &I018_V1_7_028_VALUE, NULL }; static const AsterixField I018_V1_7_028 = { FIXED, 2, 0, 0, &hf_018_V1_7_028, I018_V1_7_028_PARTS, { NULL } }; static int hf_018_V1_7_029; static int hf_018_V1_7_029_VALUE; static const FieldPart I018_V1_7_029_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_018_V1_7_029_VALUE, NULL }; static const FieldPart *I018_V1_7_029_PARTS[] = { &I018_V1_7_029_VALUE, NULL }; static const AsterixField I018_V1_7_029 = { FIXED, 7, 0, 0, &hf_018_V1_7_029, I018_V1_7_029_PARTS, { NULL } }; static int hf_018_V1_7_030; static int hf_018_V1_7_030_PRIORITY; static const FieldPart I018_V1_7_030_PRIORITY = { 5, 1.0, FIELD_PART_UINT, &hf_018_V1_7_030_PRIORITY, NULL }; static int hf_018_V1_7_030_PC; static const value_string valstr_018_V1_7_030_PC[] = { { 0, "The periodicity may not be strictly respected" }, { 1, "The periodicity shall be strictly respected" }, { 0, NULL } }; static const FieldPart I018_V1_7_030_PC = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_030_PC, NULL }; static int hf_018_V1_7_030_AU; static const value_string valstr_018_V1_7_030_AU[] = { { 0, "GICB extractions should be sent only when required by the periodicity" }, { 1, "If a GICB extraction is done due to external conditions, an update will also be sent, even if it does not match the expected periodicity" }, { 0, NULL } }; static const FieldPart I018_V1_7_030_AU = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_030_AU, NULL }; static int hf_018_V1_7_030_NE; static const value_string valstr_018_V1_7_030_NE[] = { { 0, "The GICB extraction is attempted according to the periodicity" }, { 1, "There will no GICB attempts" }, { 0, NULL } }; static const FieldPart I018_V1_7_030_NE = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_030_NE, NULL }; static int hf_018_V1_7_030_RD; static const value_string valstr_018_V1_7_030_RD[] = { { 0, "The extracted GICB must be sent only on the Data Link line" }, { 1, "The extracted GICB must be sent only on the Surveillance line" }, { 2, "The extracted GICB must be sent both on the Data Link and on the Surveillance lines" }, { 0, NULL } }; static const FieldPart I018_V1_7_030_RD = { 2, 1.0, FIELD_PART_UINT, &hf_018_V1_7_030_RD, NULL }; static const FieldPart *I018_V1_7_030_PARTS[] = { &I018_V1_7_030_PRIORITY, &IXXX_3bit_spare, &I018_V1_7_030_PC, &I018_V1_7_030_AU, &I018_V1_7_030_NE, &I018_V1_7_030_RD, &IXXX_3bit_spare, NULL }; static const AsterixField I018_V1_7_030 = { FIXED, 2, 0, 0, &hf_018_V1_7_030, I018_V1_7_030_PARTS, { NULL } }; static int hf_018_V1_7_031; static int hf_018_V1_7_031_VALUE; static const FieldPart I018_V1_7_031_VALUE = { 48, 1.0, FIELD_PART_HEX, &hf_018_V1_7_031_VALUE, NULL }; static const FieldPart *I018_V1_7_031_PARTS[] = { &I018_V1_7_031_VALUE, NULL }; static const AsterixField I018_V1_7_031 = { FIXED, 6, 0, 0, &hf_018_V1_7_031, I018_V1_7_031_PARTS, { NULL } }; static int hf_018_V1_7_032; static int hf_018_V1_7_032_V; static const value_string valstr_018_V1_7_032_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I018_V1_7_032_V = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_032_V, NULL }; static int hf_018_V1_7_032_G; static const value_string valstr_018_V1_7_032_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I018_V1_7_032_G = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_032_G, NULL }; static int hf_018_V1_7_032_L; static const value_string valstr_018_V1_7_032_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I018_V1_7_032_L = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_032_L, NULL }; static int hf_018_V1_7_032_MOD3A; static const FieldPart I018_V1_7_032_MOD3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_018_V1_7_032_MOD3A, NULL }; static const FieldPart *I018_V1_7_032_PARTS[] = { &I018_V1_7_032_V, &I018_V1_7_032_G, &I018_V1_7_032_L, &IXXX_1bit_spare, &I018_V1_7_032_MOD3A, NULL }; static const AsterixField I018_V1_7_032 = { FIXED, 2, 0, 0, &hf_018_V1_7_032, I018_V1_7_032_PARTS, { NULL } }; static int hf_018_V1_7_033; static int hf_018_V1_7_033_V; static const value_string valstr_018_V1_7_033_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I018_V1_7_033_V = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_033_V, NULL }; static int hf_018_V1_7_033_G; static const value_string valstr_018_V1_7_033_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I018_V1_7_033_G = { 1, 1.0, FIELD_PART_UINT, &hf_018_V1_7_033_G, NULL }; static int hf_018_V1_7_033_FL; static const FieldPart I018_V1_7_033_FL = { 14, 0.25, FIELD_PART_FLOAT, &hf_018_V1_7_033_FL, NULL }; static const FieldPart *I018_V1_7_033_PARTS[] = { &I018_V1_7_033_V, &I018_V1_7_033_G, &I018_V1_7_033_FL, NULL }; static const AsterixField I018_V1_7_033 = { FIXED, 2, 0, 0, &hf_018_V1_7_033, I018_V1_7_033_PARTS, { NULL } }; static int hf_018_V1_7_034; static int hf_018_V1_7_034_VALUE; static const FieldPart I018_V1_7_034_VALUE = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_018_V1_7_034_VALUE, NULL }; static const FieldPart *I018_V1_7_034_PARTS[] = { &I018_V1_7_034_VALUE, NULL }; static const AsterixField I018_V1_7_034 = { FIXED, 2, 0, 0, &hf_018_V1_7_034, I018_V1_7_034_PARTS, { NULL } }; static int hf_018_V1_7_035; static int hf_018_V1_7_035_VALUE; static const FieldPart I018_V1_7_035_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_018_V1_7_035_VALUE, NULL }; static const FieldPart *I018_V1_7_035_PARTS[] = { &I018_V1_7_035_VALUE, NULL }; static const AsterixField I018_V1_7_035 = { FIXED, 2, 0, 0, &hf_018_V1_7_035, I018_V1_7_035_PARTS, { NULL } }; static int hf_018_V1_7_036; static int hf_018_V1_7_036_SAC; static const FieldPart I018_V1_7_036_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_018_V1_7_036_SAC, NULL }; static int hf_018_V1_7_036_SIC; static const FieldPart I018_V1_7_036_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_018_V1_7_036_SIC, NULL }; static const FieldPart *I018_V1_7_036_PARTS[] = { &I018_V1_7_036_SAC, &I018_V1_7_036_SIC, NULL }; static const AsterixField I018_V1_7_036 = { FIXED, 2, 0, 0, &hf_018_V1_7_036, I018_V1_7_036_PARTS, { NULL } }; static int hf_018_V1_7_037; static int hf_018_V1_7_037_SAC; static const FieldPart I018_V1_7_037_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_018_V1_7_037_SAC, NULL }; static int hf_018_V1_7_037_SIC; static const FieldPart I018_V1_7_037_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_018_V1_7_037_SIC, NULL }; static const FieldPart *I018_V1_7_037_PARTS[] = { &I018_V1_7_037_SAC, &I018_V1_7_037_SIC, NULL }; static const AsterixField I018_V1_7_037 = { FIXED, 2, 0, 0, &hf_018_V1_7_037, I018_V1_7_037_PARTS, { NULL } }; /* Category 018, edition 1.7 (latest) */ static int hf_018_000; static int hf_018_000_VALUE; static const value_string valstr_018_000_VALUE[] = { { 0, "Associate_req" }, { 1, "Associate_resp" }, { 2, "Release_req" }, { 3, "Release_resp" }, { 4, "Abort_req" }, { 5, "Keep_alive" }, { 16, "Aircraft_report" }, { 17, "Aircraft_command" }, { 18, "II_code_change" }, { 32, "Uplink_packet" }, { 33, "Cancel_uplink_packet" }, { 34, "Uplink_packet_ack" }, { 35, "Downlink_packet" }, { 38, "Data_XON" }, { 39, "Data_XOFF" }, { 48, "Uplink_broadcast" }, { 49, "Cancel_uplink_broadcast" }, { 50, "Uplink_broadcast_ack" }, { 52, "Downlink_broadcast" }, { 64, "GICB_extraction" }, { 65, "Cancel_GICB_extraction" }, { 66, "GICB_extraction_ack" }, { 67, "GICB_response" }, { 0, NULL } }; static const FieldPart I018_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_018_000_VALUE, NULL }; static const FieldPart *I018_000_PARTS[] = { &I018_000_VALUE, NULL }; static const AsterixField I018_000 = { FIXED, 1, 0, 0, &hf_018_000, I018_000_PARTS, { NULL } }; static int hf_018_001; static int hf_018_001_CAUSE; static const value_string valstr_018_001_CAUSE[] = { { 0, "Accepted, the request is accepted and is under processing" }, { 1, "Rejected, the request has not been accepted" }, { 2, "Cancelled, the request has been cancelled" }, { 3, "Finished, the request has been accepted and successfully processed" }, { 4, "Delayed, the request processing is temporarily delayed but the request is still valid" }, { 5, "In Progress, the request is being successfully processed" }, { 6, "In Progress, the request is being successfully processed" }, { 0, NULL } }; static const FieldPart I018_001_CAUSE = { 4, 1.0, FIELD_PART_UINT, &hf_018_001_CAUSE, NULL }; static int hf_018_001_DIAG; static const value_string valstr_018_001_DIAG[] = { { 0, "No diagnostic available" }, { 1, "Aircraft Exit" }, { 2, "Incorrect aircraft address" }, { 3, "Impossibility to process the message" }, { 4, "Insufficient or change in data link capability" }, { 5, "Invalid LV field" }, { 6, "Duplicate request number" }, { 7, "Unknown request number" }, { 8, "Timer T3 expiry" }, { 9, "Expiry of I/R delivery timer" }, { 10, "Uplink flow disabled by UC" }, { 0, NULL } }; static const FieldPart I018_001_DIAG = { 4, 1.0, FIELD_PART_UINT, &hf_018_001_DIAG, NULL }; static const FieldPart *I018_001_PARTS[] = { &I018_001_CAUSE, &I018_001_DIAG, NULL }; static const AsterixField I018_001 = { FIXED, 1, 0, 0, &hf_018_001, I018_001_PARTS, { NULL } }; static int hf_018_002; static int hf_018_002_VALUE; static const FieldPart I018_002_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_018_002_VALUE, NULL }; static const FieldPart *I018_002_PARTS[] = { &I018_002_VALUE, NULL }; static const AsterixField I018_002 = { FIXED, 3, 0, 0, &hf_018_002, I018_002_PARTS, { NULL } }; static int hf_018_004; static int hf_018_004_PREVIOUSII; static const FieldPart I018_004_PREVIOUSII = { 4, 1.0, FIELD_PART_HEX, &hf_018_004_PREVIOUSII, NULL }; static int hf_018_004_CURRENTII; static const FieldPart I018_004_CURRENTII = { 4, 1.0, FIELD_PART_HEX, &hf_018_004_CURRENTII, NULL }; static const FieldPart *I018_004_PARTS[] = { &I018_004_PREVIOUSII, &I018_004_CURRENTII, NULL }; static const AsterixField I018_004 = { FIXED, 1, 0, 0, &hf_018_004, I018_004_PARTS, { NULL } }; static int hf_018_005; static int hf_018_005_VALUE; static const FieldPart I018_005_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_018_005_VALUE, NULL }; static const FieldPart *I018_005_PARTS[] = { &I018_005_VALUE, NULL }; static const AsterixField I018_005 = { FIXED, 3, 0, 0, &hf_018_005, I018_005_PARTS, { NULL } }; static int hf_018_006; static int hf_018_006_VALUE; static const FieldPart I018_006_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_018_006_VALUE, NULL }; static const FieldPart *I018_006_PARTS[] = { &I018_006_VALUE, NULL }; static const AsterixField I018_006 = { REPETITIVE, 3, 1, 0, &hf_018_006, I018_006_PARTS, { NULL } }; static int hf_018_007; static int hf_018_007_UM; static const value_string valstr_018_007_UM[] = { { 0, "UC shall be ignored" }, { 1, "UC shall be taken into account" }, { 0, NULL } }; static const FieldPart I018_007_UM = { 1, 1.0, FIELD_PART_UINT, &hf_018_007_UM, NULL }; static int hf_018_007_DM; static const value_string valstr_018_007_DM[] = { { 0, "DC shall be ignored" }, { 1, "DC shall be taken into account" }, { 0, NULL } }; static const FieldPart I018_007_DM = { 1, 1.0, FIELD_PART_UINT, &hf_018_007_DM, NULL }; static int hf_018_007_UC; static const value_string valstr_018_007_UC[] = { { 0, "the uplink flow shall be enabled" }, { 1, "the uplink flow shall be stopped" }, { 0, NULL } }; static const FieldPart I018_007_UC = { 1, 1.0, FIELD_PART_UINT, &hf_018_007_UC, NULL }; static int hf_018_007_DC; static const value_string valstr_018_007_DC[] = { { 0, "the downlink flow shall be enabled" }, { 1, "the downlink flow shall be stopped" }, { 0, NULL } }; static const FieldPart I018_007_DC = { 1, 1.0, FIELD_PART_UINT, &hf_018_007_DC, NULL }; static const FieldPart *I018_007_PARTS[] = { &I018_007_UM, &I018_007_DM, &I018_007_UC, &I018_007_DC, &IXXX_4bit_spare, NULL }; static const AsterixField I018_007 = { FIXED, 1, 0, 0, &hf_018_007, I018_007_PARTS, { NULL } }; static int hf_018_008; static int hf_018_008_UDS; static const value_string valstr_018_008_UDS[] = { { 0, "The interrogator is enabled to uplink frames" }, { 1, "The interrogator is disabled to uplink frames" }, { 0, NULL } }; static const FieldPart I018_008_UDS = { 1, 1.0, FIELD_PART_UINT, &hf_018_008_UDS, NULL }; static int hf_018_008_DDS; static const value_string valstr_018_008_DDS[] = { { 0, "The interrogator is enabled to extract frames" }, { 1, "The interrogator is disabled to extract frames" }, { 0, NULL } }; static const FieldPart I018_008_DDS = { 1, 1.0, FIELD_PART_UINT, &hf_018_008_DDS, NULL }; static int hf_018_008_UCS; static const value_string valstr_018_008_UCS[] = { { 0, "The interrogator is enabled to uplink frames" }, { 1, "The interrogator is disabled to uplink frames" }, { 0, NULL } }; static const FieldPart I018_008_UCS = { 1, 1.0, FIELD_PART_UINT, &hf_018_008_UCS, NULL }; static int hf_018_008_DCS; static const value_string valstr_018_008_DCS[] = { { 0, "The interrogator is enabled to extract frames" }, { 1, "The interrogator is disabled to extract frames" }, { 0, NULL } }; static const FieldPart I018_008_DCS = { 1, 1.0, FIELD_PART_UINT, &hf_018_008_DCS, NULL }; static int hf_018_008_EI; static const value_string valstr_018_008_EI[] = { { 0, "The aircraft is in the Datalink coverage map of the interrogator" }, { 1, "The aircraft is not in the Datalink coverage map of the interrogator" }, { 0, NULL } }; static const FieldPart I018_008_EI = { 1, 1.0, FIELD_PART_UINT, &hf_018_008_EI, NULL }; static int hf_018_008_IC; static const value_string valstr_018_008_IC[] = { { 0, "The interrogators current ability to uplink/downlink frames (UCS/DCS) and the content of the Aircraft_report could be changed using D_Data_link_command" }, { 1, "The interrogators current ability to uplink/downlink frames (UCS/DCS) and the content of the Aircraft_report cannot be changed using D_Data_link_command" }, { 0, NULL } }; static const FieldPart I018_008_IC = { 1, 1.0, FIELD_PART_UINT, &hf_018_008_IC, NULL }; static const FieldPart *I018_008_PARTS[] = { &I018_008_UDS, &I018_008_DDS, &I018_008_UCS, &I018_008_DCS, &IXXX_2bit_spare, &I018_008_EI, &IXXX_FX, &I018_008_IC, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I018_008 = { FX, 1, 0, 0, &hf_018_008, I018_008_PARTS, { NULL } }; static int hf_018_009; static int hf_018_009_SR; static const value_string valstr_018_009_SR[] = { { 0, "The next Aircraft_report may not include D_Data_link_status" }, { 1, "The next Aircraft_report shall include D_Data_link_status" }, { 0, NULL } }; static const FieldPart I018_009_SR = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_SR, NULL }; static int hf_018_009_AR; static const value_string valstr_018_009_AR[] = { { 0, "The next Aircraft_report may not include D_COM" }, { 1, "The next Aircraft_report shall include D_COM" }, { 0, NULL } }; static const FieldPart I018_009_AR = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_AR, NULL }; static int hf_018_009_ER; static const value_string valstr_018_009_ER[] = { { 0, "The next Aircraft_report may not include D_ECA" }, { 1, "The next Aircraft_report shall include D_ECA" }, { 0, NULL } }; static const FieldPart I018_009_ER = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_ER, NULL }; static int hf_018_009_FR; static const value_string valstr_018_009_FR[] = { { 0, "The next Aircraft_report may not include D_CQF" }, { 1, "The next Aircraft_report shall include D_CQF" }, { 0, NULL } }; static const FieldPart I018_009_FR = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_FR, NULL }; static int hf_018_009_MR; static const value_string valstr_018_009_MR[] = { { 0, "The next Aircraft_report may not include D_CQF_method" }, { 1, "The next Aircraft_report shall include D_CQF_method" }, { 0, NULL } }; static const FieldPart I018_009_MR = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_MR, NULL }; static int hf_018_009_PR; static const value_string valstr_018_009_PR[] = { { 0, "The next Aircraft_report may not include D_Polar_position" }, { 1, "The next Aircraft_report shall include D_Polar_position" }, { 0, NULL } }; static const FieldPart I018_009_PR = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_PR, NULL }; static int hf_018_009_CR; static const value_string valstr_018_009_CR[] = { { 0, "The next Aircraft_report may not include D_Cartesian_position" }, { 1, "The next Aircraft_report shall include D_Cartesian_position" }, { 0, NULL } }; static const FieldPart I018_009_CR = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_CR, NULL }; static int hf_018_009_ID; static const value_string valstr_018_009_ID[] = { { 0, "The next Aircraft_report may not include Aircraft_ID" }, { 1, "The next Aircraft_report shall include Aircraft_ID" }, { 0, NULL } }; static const FieldPart I018_009_ID = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_ID, NULL }; static int hf_018_009_MA; static const value_string valstr_018_009_MA[] = { { 0, "The next Aircraft_report may not include Mode_A" }, { 1, "The next Aircraft_report shall include Mode_A" }, { 0, NULL } }; static const FieldPart I018_009_MA = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_MA, NULL }; static int hf_018_009_SP; static const value_string valstr_018_009_SP[] = { { 0, "The next Aircraft_report may not include Speed" }, { 1, "The next Aircraft_report shall include Speed" }, { 0, NULL } }; static const FieldPart I018_009_SP = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_SP, NULL }; static int hf_018_009_HG; static const value_string valstr_018_009_HG[] = { { 0, "The next Aircraft_report may not include Height" }, { 1, "The next Aircraft_report shall include Height" }, { 0, NULL } }; static const FieldPart I018_009_HG = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_HG, NULL }; static int hf_018_009_HD; static const value_string valstr_018_009_HD[] = { { 0, "The next Aircraft_report may not include Heading" }, { 1, "The next Aircraft_report shall include Heading" }, { 0, NULL } }; static const FieldPart I018_009_HD = { 1, 1.0, FIELD_PART_UINT, &hf_018_009_HD, NULL }; static const FieldPart *I018_009_PARTS[] = { &I018_009_SR, &I018_009_AR, &I018_009_ER, &I018_009_FR, &I018_009_MR, &I018_009_PR, &I018_009_CR, &IXXX_FX, &I018_009_ID, &I018_009_MA, &I018_009_SP, &I018_009_HG, &I018_009_HD, &IXXX_2bit_spare, &IXXX_FX, NULL }; static const AsterixField I018_009 = { FX, 1, 0, 0, &hf_018_009, I018_009_PARTS, { NULL } }; static int hf_018_010; static int hf_018_010_COM; static const value_string valstr_018_010_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B and Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I018_010_COM = { 3, 1.0, FIELD_PART_UINT, &hf_018_010_COM, NULL }; static const FieldPart *I018_010_PARTS[] = { &IXXX_5bit_spare, &I018_010_COM, NULL }; static const AsterixField I018_010 = { FIXED, 1, 0, 0, &hf_018_010, I018_010_PARTS, { NULL } }; static int hf_018_011; static int hf_018_011_VALUE; static const FieldPart I018_011_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_018_011_VALUE, NULL }; static const FieldPart *I018_011_PARTS[] = { &I018_011_VALUE, NULL }; static const AsterixField I018_011 = { FIXED, 7, 0, 0, &hf_018_011, I018_011_PARTS, { NULL } }; static int hf_018_012; static int hf_018_012_FS; static const value_string valstr_018_012_FS[] = { { 0, "Aircraft is airborne" }, { 1, "Aircraft is on the ground" }, { 0, NULL } }; static const FieldPart I018_012_FS = { 1, 1.0, FIELD_PART_UINT, &hf_018_012_FS, NULL }; static int hf_018_012_CQF; static const value_string valstr_018_012_CQF[] = { { 0, "The CQF calculation method is not supported" }, { 1, "The CQF is minimum" }, { 126, "The CQF is maximum" }, { 127, "The CQF is undefined according to the calculation method" }, { 0, NULL } }; static const FieldPart I018_012_CQF = { 7, 1.0, FIELD_PART_UINT, &hf_018_012_CQF, NULL }; static const FieldPart *I018_012_PARTS[] = { &I018_012_FS, &I018_012_CQF, NULL }; static const AsterixField I018_012 = { FIXED, 1, 0, 0, &hf_018_012, I018_012_PARTS, { NULL } }; static int hf_018_013; static int hf_018_013_VALUE; static const FieldPart I018_013_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_018_013_VALUE, NULL }; static const FieldPart *I018_013_PARTS[] = { &I018_013_VALUE, NULL }; static const AsterixField I018_013 = { FIXED, 1, 0, 0, &hf_018_013, I018_013_PARTS, { NULL } }; static int hf_018_014; static int hf_018_014_RHO; static const FieldPart I018_014_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_018_014_RHO, NULL }; static int hf_018_014_THETA; static const FieldPart I018_014_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_018_014_THETA, NULL }; static const FieldPart *I018_014_PARTS[] = { &I018_014_RHO, &I018_014_THETA, NULL }; static const AsterixField I018_014 = { FIXED, 4, 0, 0, &hf_018_014, I018_014_PARTS, { NULL } }; static int hf_018_015; static int hf_018_015_X; static const FieldPart I018_015_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_018_015_X, NULL }; static int hf_018_015_Y; static const FieldPart I018_015_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_018_015_Y, NULL }; static const FieldPart *I018_015_PARTS[] = { &I018_015_X, &I018_015_Y, NULL }; static const AsterixField I018_015 = { FIXED, 4, 0, 0, &hf_018_015, I018_015_PARTS, { NULL } }; static int hf_018_016; static int hf_018_016_VALUE; static const FieldPart I018_016_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_016_VALUE, NULL }; static const FieldPart *I018_016_PARTS[] = { &I018_016_VALUE, NULL }; static const AsterixField I018_016 = { FIXED, 4, 0, 0, &hf_018_016, I018_016_PARTS, { NULL } }; static int hf_018_017; static int hf_018_017_VALUE; static const FieldPart I018_017_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_017_VALUE, NULL }; static const FieldPart *I018_017_PARTS[] = { &I018_017_VALUE, NULL }; static const AsterixField I018_017 = { REPETITIVE, 4, 1, 0, &hf_018_017, I018_017_PARTS, { NULL } }; static int hf_018_018; static int hf_018_018_PR; static const FieldPart I018_018_PR = { 5, 1.0, FIELD_PART_UINT, &hf_018_018_PR, NULL }; static int hf_018_018_PT; static const value_string valstr_018_018_PT[] = { { 0, "SVC packets" }, { 1, "MSP packets" }, { 2, "Route packets" }, { 0, NULL } }; static const FieldPart I018_018_PT = { 2, 1.0, FIELD_PART_UINT, &hf_018_018_PT, NULL }; static const FieldPart *I018_018_PARTS[] = { &IXXX_1bit_spare, &I018_018_PR, &I018_018_PT, NULL }; static const AsterixField I018_018 = { FIXED, 1, 0, 0, &hf_018_018, I018_018_PARTS, { NULL } }; static int hf_018_019; static const AsterixField I018_019 = { EXP, 0, 0, 1, &hf_018_019, NULL, { NULL } }; static int hf_018_020; static int hf_018_020_VALUE; static const FieldPart I018_020_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_020_VALUE, NULL }; static const FieldPart *I018_020_PARTS[] = { &I018_020_VALUE, NULL }; static const AsterixField I018_020 = { FIXED, 4, 0, 0, &hf_018_020, I018_020_PARTS, { NULL } }; static int hf_018_021; static int hf_018_021_PRIORITY; static const FieldPart I018_021_PRIORITY = { 4, 1.0, FIELD_PART_UINT, &hf_018_021_PRIORITY, NULL }; static int hf_018_021_POWER; static const FieldPart I018_021_POWER = { 4, 1.0, FIELD_PART_UINT, &hf_018_021_POWER, NULL }; static int hf_018_021_DURATION; static const FieldPart I018_021_DURATION = { 8, 1.0, FIELD_PART_UFLOAT, &hf_018_021_DURATION, NULL }; static int hf_018_021_COVERAGE; static const FieldPart I018_021_COVERAGE = { 32, 1.0, FIELD_PART_HEX, &hf_018_021_COVERAGE, NULL }; static const FieldPart *I018_021_PARTS[] = { &I018_021_PRIORITY, &I018_021_POWER, &I018_021_DURATION, &I018_021_COVERAGE, NULL }; static const AsterixField I018_021 = { FIXED, 6, 0, 0, &hf_018_021, I018_021_PARTS, { NULL } }; static int hf_018_022; static int hf_018_022_PREFIX; static const FieldPart I018_022_PREFIX = { 27, 1.0, FIELD_PART_HEX, &hf_018_022_PREFIX, NULL }; static const FieldPart *I018_022_PARTS[] = { &IXXX_5bit_spare, &I018_022_PREFIX, NULL }; static const AsterixField I018_022 = { FIXED, 4, 0, 0, &hf_018_022, I018_022_PARTS, { NULL } }; static int hf_018_023; static int hf_018_023_VALUE; static const FieldPart I018_023_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_018_023_VALUE, NULL }; static const FieldPart *I018_023_PARTS[] = { &I018_023_VALUE, NULL }; static const AsterixField I018_023 = { FIXED, 7, 0, 0, &hf_018_023, I018_023_PARTS, { NULL } }; static int hf_018_025; static int hf_018_025_VALUE; static const FieldPart I018_025_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_018_025_VALUE, NULL }; static const FieldPart *I018_025_PARTS[] = { &I018_025_VALUE, NULL }; static const AsterixField I018_025 = { FIXED, 4, 0, 0, &hf_018_025, I018_025_PARTS, { NULL } }; static int hf_018_027; static int hf_018_027_VALUE; static const FieldPart I018_027_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_018_027_VALUE, NULL }; static const FieldPart *I018_027_PARTS[] = { &I018_027_VALUE, NULL }; static const AsterixField I018_027 = { FIXED, 1, 0, 0, &hf_018_027, I018_027_PARTS, { NULL } }; static int hf_018_028; static int hf_018_028_VALUE; static const FieldPart I018_028_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_018_028_VALUE, NULL }; static const FieldPart *I018_028_PARTS[] = { &I018_028_VALUE, NULL }; static const AsterixField I018_028 = { FIXED, 2, 0, 0, &hf_018_028, I018_028_PARTS, { NULL } }; static int hf_018_029; static int hf_018_029_VALUE; static const FieldPart I018_029_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_018_029_VALUE, NULL }; static const FieldPart *I018_029_PARTS[] = { &I018_029_VALUE, NULL }; static const AsterixField I018_029 = { FIXED, 7, 0, 0, &hf_018_029, I018_029_PARTS, { NULL } }; static int hf_018_030; static int hf_018_030_PRIORITY; static const FieldPart I018_030_PRIORITY = { 5, 1.0, FIELD_PART_UINT, &hf_018_030_PRIORITY, NULL }; static int hf_018_030_PC; static const value_string valstr_018_030_PC[] = { { 0, "The periodicity may not be strictly respected" }, { 1, "The periodicity shall be strictly respected" }, { 0, NULL } }; static const FieldPart I018_030_PC = { 1, 1.0, FIELD_PART_UINT, &hf_018_030_PC, NULL }; static int hf_018_030_AU; static const value_string valstr_018_030_AU[] = { { 0, "GICB extractions should be sent only when required by the periodicity" }, { 1, "If a GICB extraction is done due to external conditions, an update will also be sent, even if it does not match the expected periodicity" }, { 0, NULL } }; static const FieldPart I018_030_AU = { 1, 1.0, FIELD_PART_UINT, &hf_018_030_AU, NULL }; static int hf_018_030_NE; static const value_string valstr_018_030_NE[] = { { 0, "The GICB extraction is attempted according to the periodicity" }, { 1, "There will no GICB attempts" }, { 0, NULL } }; static const FieldPart I018_030_NE = { 1, 1.0, FIELD_PART_UINT, &hf_018_030_NE, NULL }; static int hf_018_030_RD; static const value_string valstr_018_030_RD[] = { { 0, "The extracted GICB must be sent only on the Data Link line" }, { 1, "The extracted GICB must be sent only on the Surveillance line" }, { 2, "The extracted GICB must be sent both on the Data Link and on the Surveillance lines" }, { 0, NULL } }; static const FieldPart I018_030_RD = { 2, 1.0, FIELD_PART_UINT, &hf_018_030_RD, NULL }; static const FieldPart *I018_030_PARTS[] = { &I018_030_PRIORITY, &IXXX_3bit_spare, &I018_030_PC, &I018_030_AU, &I018_030_NE, &I018_030_RD, &IXXX_3bit_spare, NULL }; static const AsterixField I018_030 = { FIXED, 2, 0, 0, &hf_018_030, I018_030_PARTS, { NULL } }; static int hf_018_031; static int hf_018_031_VALUE; static const FieldPart I018_031_VALUE = { 48, 1.0, FIELD_PART_HEX, &hf_018_031_VALUE, NULL }; static const FieldPart *I018_031_PARTS[] = { &I018_031_VALUE, NULL }; static const AsterixField I018_031 = { FIXED, 6, 0, 0, &hf_018_031, I018_031_PARTS, { NULL } }; static int hf_018_032; static int hf_018_032_V; static const value_string valstr_018_032_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I018_032_V = { 1, 1.0, FIELD_PART_UINT, &hf_018_032_V, NULL }; static int hf_018_032_G; static const value_string valstr_018_032_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I018_032_G = { 1, 1.0, FIELD_PART_UINT, &hf_018_032_G, NULL }; static int hf_018_032_L; static const value_string valstr_018_032_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I018_032_L = { 1, 1.0, FIELD_PART_UINT, &hf_018_032_L, NULL }; static int hf_018_032_MOD3A; static const FieldPart I018_032_MOD3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_018_032_MOD3A, NULL }; static const FieldPart *I018_032_PARTS[] = { &I018_032_V, &I018_032_G, &I018_032_L, &IXXX_1bit_spare, &I018_032_MOD3A, NULL }; static const AsterixField I018_032 = { FIXED, 2, 0, 0, &hf_018_032, I018_032_PARTS, { NULL } }; static int hf_018_033; static int hf_018_033_V; static const value_string valstr_018_033_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I018_033_V = { 1, 1.0, FIELD_PART_UINT, &hf_018_033_V, NULL }; static int hf_018_033_G; static const value_string valstr_018_033_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I018_033_G = { 1, 1.0, FIELD_PART_UINT, &hf_018_033_G, NULL }; static int hf_018_033_FL; static const FieldPart I018_033_FL = { 14, 0.25, FIELD_PART_FLOAT, &hf_018_033_FL, NULL }; static const FieldPart *I018_033_PARTS[] = { &I018_033_V, &I018_033_G, &I018_033_FL, NULL }; static const AsterixField I018_033 = { FIXED, 2, 0, 0, &hf_018_033, I018_033_PARTS, { NULL } }; static int hf_018_034; static int hf_018_034_VALUE; static const FieldPart I018_034_VALUE = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_018_034_VALUE, NULL }; static const FieldPart *I018_034_PARTS[] = { &I018_034_VALUE, NULL }; static const AsterixField I018_034 = { FIXED, 2, 0, 0, &hf_018_034, I018_034_PARTS, { NULL } }; static int hf_018_035; static int hf_018_035_VALUE; static const FieldPart I018_035_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_018_035_VALUE, NULL }; static const FieldPart *I018_035_PARTS[] = { &I018_035_VALUE, NULL }; static const AsterixField I018_035 = { FIXED, 2, 0, 0, &hf_018_035, I018_035_PARTS, { NULL } }; static int hf_018_036; static int hf_018_036_SAC; static const FieldPart I018_036_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_018_036_SAC, NULL }; static int hf_018_036_SIC; static const FieldPart I018_036_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_018_036_SIC, NULL }; static const FieldPart *I018_036_PARTS[] = { &I018_036_SAC, &I018_036_SIC, NULL }; static const AsterixField I018_036 = { FIXED, 2, 0, 0, &hf_018_036, I018_036_PARTS, { NULL } }; static int hf_018_037; static int hf_018_037_SAC; static const FieldPart I018_037_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_018_037_SAC, NULL }; static int hf_018_037_SIC; static const FieldPart I018_037_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_018_037_SIC, NULL }; static const FieldPart *I018_037_PARTS[] = { &I018_037_SAC, &I018_037_SIC, NULL }; static const AsterixField I018_037 = { FIXED, 2, 0, 0, &hf_018_037, I018_037_PARTS, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I018_V1_7_uap[] = { &I018_V1_7_036, &I018_V1_7_037, &I018_V1_7_000, &I018_V1_7_001, &I018_V1_7_005, &I018_V1_7_016, &I018_V1_7_017, &I018_V1_7_018, &I018_V1_7_019, &I018_V1_7_028, &I018_V1_7_030, &I018_V1_7_025, &I018_V1_7_027, &I018_V1_7_029, &I018_V1_7_002, &I018_V1_7_006, &I018_V1_7_007, &I018_V1_7_008, &I018_V1_7_009, &I018_V1_7_010, &I018_V1_7_011, &I018_V1_7_014, &I018_V1_7_015, &I018_V1_7_020, &I018_V1_7_021, &I018_V1_7_022, &I018_V1_7_023, &I018_V1_7_004, &I018_V1_7_031, &I018_V1_7_032, &I018_V1_7_033, &I018_V1_7_034, &I018_V1_7_035, &I018_V1_7_012, &I018_V1_7_013, NULL }; static const AsterixField **I018_V1_7[] = { I018_V1_7_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I018_uap[] = { &I018_036, &I018_037, &I018_000, &I018_001, &I018_005, &I018_016, &I018_017, &I018_018, &I018_019, &I018_028, &I018_030, &I018_025, &I018_027, &I018_029, &I018_002, &I018_006, &I018_007, &I018_008, &I018_009, &I018_010, &I018_011, &I018_014, &I018_015, &I018_020, &I018_021, &I018_022, &I018_023, &I018_004, &I018_031, &I018_032, &I018_033, &I018_034, &I018_035, &I018_012, &I018_013, NULL }; static const AsterixField **I018[] = { I018_uap, NULL }; DIAG_ON_PEDANTIC /* Category 019, edition 1.3 */ static int hf_019_V1_3_000; static int hf_019_V1_3_000_VALUE; static const value_string valstr_019_V1_3_000_VALUE[] = { { 1, "Start of Update Cycle" }, { 2, "Periodic Status Message" }, { 3, "Event-triggered Status Message" }, { 0, NULL } }; static const FieldPart I019_V1_3_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_019_V1_3_000_VALUE, NULL }; static const FieldPart *I019_V1_3_000_PARTS[] = { &I019_V1_3_000_VALUE, NULL }; static const AsterixField I019_V1_3_000 = { FIXED, 1, 0, 0, &hf_019_V1_3_000, I019_V1_3_000_PARTS, { NULL } }; static int hf_019_V1_3_010; static int hf_019_V1_3_010_SAC; static const FieldPart I019_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_019_V1_3_010_SAC, NULL }; static int hf_019_V1_3_010_SIC; static const FieldPart I019_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_019_V1_3_010_SIC, NULL }; static const FieldPart *I019_V1_3_010_PARTS[] = { &I019_V1_3_010_SAC, &I019_V1_3_010_SIC, NULL }; static const AsterixField I019_V1_3_010 = { FIXED, 2, 0, 0, &hf_019_V1_3_010, I019_V1_3_010_PARTS, { NULL } }; static int hf_019_V1_3_140; static int hf_019_V1_3_140_VALUE; static const FieldPart I019_V1_3_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_019_V1_3_140_VALUE, NULL }; static const FieldPart *I019_V1_3_140_PARTS[] = { &I019_V1_3_140_VALUE, NULL }; static const AsterixField I019_V1_3_140 = { FIXED, 3, 0, 0, &hf_019_V1_3_140, I019_V1_3_140_PARTS, { NULL } }; static int hf_019_V1_3_550; static int hf_019_V1_3_550_NOGO; static const value_string valstr_019_V1_3_550_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "NOGO" }, { 3, "Undefined" }, { 0, NULL } }; static const FieldPart I019_V1_3_550_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_019_V1_3_550_NOGO, NULL }; static int hf_019_V1_3_550_OVL; static const value_string valstr_019_V1_3_550_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I019_V1_3_550_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_550_OVL, NULL }; static int hf_019_V1_3_550_TSV; static const value_string valstr_019_V1_3_550_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I019_V1_3_550_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_550_TSV, NULL }; static int hf_019_V1_3_550_TTF; static const value_string valstr_019_V1_3_550_TTF[] = { { 0, "Test Target Operative" }, { 1, "Test Target Failure" }, { 0, NULL } }; static const FieldPart I019_V1_3_550_TTF = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_550_TTF, NULL }; static const FieldPart *I019_V1_3_550_PARTS[] = { &I019_V1_3_550_NOGO, &I019_V1_3_550_OVL, &I019_V1_3_550_TSV, &I019_V1_3_550_TTF, &IXXX_3bit_spare, NULL }; static const AsterixField I019_V1_3_550 = { FIXED, 1, 0, 0, &hf_019_V1_3_550, I019_V1_3_550_PARTS, { NULL } }; static int hf_019_V1_3_551; static int hf_019_V1_3_551_TP1A; static const value_string valstr_019_V1_3_551_TP1A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP1A = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP1A, NULL }; static int hf_019_V1_3_551_TP1B; static const value_string valstr_019_V1_3_551_TP1B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP1B = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP1B, NULL }; static int hf_019_V1_3_551_TP2A; static const value_string valstr_019_V1_3_551_TP2A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP2A = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP2A, NULL }; static int hf_019_V1_3_551_TP2B; static const value_string valstr_019_V1_3_551_TP2B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP2B = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP2B, NULL }; static int hf_019_V1_3_551_TP3A; static const value_string valstr_019_V1_3_551_TP3A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP3A = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP3A, NULL }; static int hf_019_V1_3_551_TP3B; static const value_string valstr_019_V1_3_551_TP3B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP3B = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP3B, NULL }; static int hf_019_V1_3_551_TP4A; static const value_string valstr_019_V1_3_551_TP4A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP4A = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP4A, NULL }; static int hf_019_V1_3_551_TP4B; static const value_string valstr_019_V1_3_551_TP4B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_551_TP4B = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_551_TP4B, NULL }; static const FieldPart *I019_V1_3_551_PARTS[] = { &I019_V1_3_551_TP1A, &I019_V1_3_551_TP1B, &I019_V1_3_551_TP2A, &I019_V1_3_551_TP2B, &I019_V1_3_551_TP3A, &I019_V1_3_551_TP3B, &I019_V1_3_551_TP4A, &I019_V1_3_551_TP4B, NULL }; static const AsterixField I019_V1_3_551 = { FIXED, 1, 0, 0, &hf_019_V1_3_551, I019_V1_3_551_PARTS, { NULL } }; static int hf_019_V1_3_552; static int hf_019_V1_3_552_RSI; static const FieldPart I019_V1_3_552_RSI = { 8, 1.0, FIELD_PART_HEX, &hf_019_V1_3_552_RSI, NULL }; static int hf_019_V1_3_552_RS1090; static const value_string valstr_019_V1_3_552_RS1090[] = { { 0, "Not present" }, { 1, "Present" }, { 0, NULL } }; static const FieldPart I019_V1_3_552_RS1090 = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_552_RS1090, NULL }; static int hf_019_V1_3_552_TX1030; static const value_string valstr_019_V1_3_552_TX1030[] = { { 0, "Not present" }, { 1, "Present" }, { 0, NULL } }; static const FieldPart I019_V1_3_552_TX1030 = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_552_TX1030, NULL }; static int hf_019_V1_3_552_TX1090; static const value_string valstr_019_V1_3_552_TX1090[] = { { 0, "Not present" }, { 1, "Present" }, { 0, NULL } }; static const FieldPart I019_V1_3_552_TX1090 = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_552_TX1090, NULL }; static int hf_019_V1_3_552_RSS; static const value_string valstr_019_V1_3_552_RSS[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_552_RSS = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_552_RSS, NULL }; static int hf_019_V1_3_552_RSO; static const value_string valstr_019_V1_3_552_RSO[] = { { 0, "Offline" }, { 1, "Online" }, { 0, NULL } }; static const FieldPart I019_V1_3_552_RSO = { 1, 1.0, FIELD_PART_UINT, &hf_019_V1_3_552_RSO, NULL }; static const FieldPart *I019_V1_3_552_PARTS[] = { &I019_V1_3_552_RSI, &IXXX_1bit_spare, &I019_V1_3_552_RS1090, &I019_V1_3_552_TX1030, &I019_V1_3_552_TX1090, &I019_V1_3_552_RSS, &I019_V1_3_552_RSO, &IXXX_2bit_spare, NULL }; static const AsterixField I019_V1_3_552 = { REPETITIVE, 2, 1, 0, &hf_019_V1_3_552, I019_V1_3_552_PARTS, { NULL } }; static int hf_019_V1_3_553; static int hf_019_V1_3_553_REFTR1; static const value_string valstr_019_V1_3_553_REFTR1[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_553_REFTR1 = { 2, 1.0, FIELD_PART_UINT, &hf_019_V1_3_553_REFTR1, NULL }; static int hf_019_V1_3_553_REFTR2; static const value_string valstr_019_V1_3_553_REFTR2[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_553_REFTR2 = { 2, 1.0, FIELD_PART_UINT, &hf_019_V1_3_553_REFTR2, NULL }; static int hf_019_V1_3_553_REFTR3; static const value_string valstr_019_V1_3_553_REFTR3[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_553_REFTR3 = { 2, 1.0, FIELD_PART_UINT, &hf_019_V1_3_553_REFTR3, NULL }; static int hf_019_V1_3_553_REFTR4; static const value_string valstr_019_V1_3_553_REFTR4[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_V1_3_553_REFTR4 = { 2, 1.0, FIELD_PART_UINT, &hf_019_V1_3_553_REFTR4, NULL }; static const FieldPart *I019_V1_3_553_PARTS[] = { &I019_V1_3_553_REFTR1, &IXXX_2bit_spare, &I019_V1_3_553_REFTR2, &IXXX_1bit_spare, &IXXX_FX, &I019_V1_3_553_REFTR3, &IXXX_2bit_spare, &I019_V1_3_553_REFTR4, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I019_V1_3_553 = { FX, 1, 0, 0, &hf_019_V1_3_553, I019_V1_3_553_PARTS, { NULL } }; static int hf_019_V1_3_600; static int hf_019_V1_3_600_LAT; static const FieldPart I019_V1_3_600_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_019_V1_3_600_LAT, NULL }; static int hf_019_V1_3_600_LON; static const FieldPart I019_V1_3_600_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_019_V1_3_600_LON, NULL }; static const FieldPart *I019_V1_3_600_PARTS[] = { &I019_V1_3_600_LAT, &I019_V1_3_600_LON, NULL }; static const AsterixField I019_V1_3_600 = { FIXED, 8, 0, 0, &hf_019_V1_3_600, I019_V1_3_600_PARTS, { NULL } }; static int hf_019_V1_3_610; static int hf_019_V1_3_610_VALUE; static const FieldPart I019_V1_3_610_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_019_V1_3_610_VALUE, NULL }; static const FieldPart *I019_V1_3_610_PARTS[] = { &I019_V1_3_610_VALUE, NULL }; static const AsterixField I019_V1_3_610 = { FIXED, 2, 0, 0, &hf_019_V1_3_610, I019_V1_3_610_PARTS, { NULL } }; static int hf_019_V1_3_620; static int hf_019_V1_3_620_VALUE; static const FieldPart I019_V1_3_620_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_019_V1_3_620_VALUE, NULL }; static const FieldPart *I019_V1_3_620_PARTS[] = { &I019_V1_3_620_VALUE, NULL }; static const AsterixField I019_V1_3_620 = { FIXED, 1, 0, 0, &hf_019_V1_3_620, I019_V1_3_620_PARTS, { NULL } }; static int hf_019_V1_3_RE; static const AsterixField I019_V1_3_RE = { EXP, 0, 0, 1, &hf_019_V1_3_RE, NULL, { NULL } }; static int hf_019_V1_3_SP; static const AsterixField I019_V1_3_SP = { EXP, 0, 0, 1, &hf_019_V1_3_SP, NULL, { NULL } }; /* Category 019, edition 1.3 (latest) */ static int hf_019_000; static int hf_019_000_VALUE; static const value_string valstr_019_000_VALUE[] = { { 1, "Start of Update Cycle" }, { 2, "Periodic Status Message" }, { 3, "Event-triggered Status Message" }, { 0, NULL } }; static const FieldPart I019_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_019_000_VALUE, NULL }; static const FieldPart *I019_000_PARTS[] = { &I019_000_VALUE, NULL }; static const AsterixField I019_000 = { FIXED, 1, 0, 0, &hf_019_000, I019_000_PARTS, { NULL } }; static int hf_019_010; static int hf_019_010_SAC; static const FieldPart I019_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_019_010_SAC, NULL }; static int hf_019_010_SIC; static const FieldPart I019_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_019_010_SIC, NULL }; static const FieldPart *I019_010_PARTS[] = { &I019_010_SAC, &I019_010_SIC, NULL }; static const AsterixField I019_010 = { FIXED, 2, 0, 0, &hf_019_010, I019_010_PARTS, { NULL } }; static int hf_019_140; static int hf_019_140_VALUE; static const FieldPart I019_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_019_140_VALUE, NULL }; static const FieldPart *I019_140_PARTS[] = { &I019_140_VALUE, NULL }; static const AsterixField I019_140 = { FIXED, 3, 0, 0, &hf_019_140, I019_140_PARTS, { NULL } }; static int hf_019_550; static int hf_019_550_NOGO; static const value_string valstr_019_550_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "NOGO" }, { 3, "Undefined" }, { 0, NULL } }; static const FieldPart I019_550_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_019_550_NOGO, NULL }; static int hf_019_550_OVL; static const value_string valstr_019_550_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I019_550_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_019_550_OVL, NULL }; static int hf_019_550_TSV; static const value_string valstr_019_550_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I019_550_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_019_550_TSV, NULL }; static int hf_019_550_TTF; static const value_string valstr_019_550_TTF[] = { { 0, "Test Target Operative" }, { 1, "Test Target Failure" }, { 0, NULL } }; static const FieldPart I019_550_TTF = { 1, 1.0, FIELD_PART_UINT, &hf_019_550_TTF, NULL }; static const FieldPart *I019_550_PARTS[] = { &I019_550_NOGO, &I019_550_OVL, &I019_550_TSV, &I019_550_TTF, &IXXX_3bit_spare, NULL }; static const AsterixField I019_550 = { FIXED, 1, 0, 0, &hf_019_550, I019_550_PARTS, { NULL } }; static int hf_019_551; static int hf_019_551_TP1A; static const value_string valstr_019_551_TP1A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_551_TP1A = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP1A, NULL }; static int hf_019_551_TP1B; static const value_string valstr_019_551_TP1B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_551_TP1B = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP1B, NULL }; static int hf_019_551_TP2A; static const value_string valstr_019_551_TP2A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_551_TP2A = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP2A, NULL }; static int hf_019_551_TP2B; static const value_string valstr_019_551_TP2B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_551_TP2B = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP2B, NULL }; static int hf_019_551_TP3A; static const value_string valstr_019_551_TP3A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_551_TP3A = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP3A, NULL }; static int hf_019_551_TP3B; static const value_string valstr_019_551_TP3B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_551_TP3B = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP3B, NULL }; static int hf_019_551_TP4A; static const value_string valstr_019_551_TP4A[] = { { 0, "Standby" }, { 1, "Exec" }, { 0, NULL } }; static const FieldPart I019_551_TP4A = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP4A, NULL }; static int hf_019_551_TP4B; static const value_string valstr_019_551_TP4B[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_551_TP4B = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP4B, NULL }; static const FieldPart *I019_551_PARTS[] = { &I019_551_TP1A, &I019_551_TP1B, &I019_551_TP2A, &I019_551_TP2B, &I019_551_TP3A, &I019_551_TP3B, &I019_551_TP4A, &I019_551_TP4B, NULL }; static const AsterixField I019_551 = { FIXED, 1, 0, 0, &hf_019_551, I019_551_PARTS, { NULL } }; static int hf_019_552; static int hf_019_552_RSI; static const FieldPart I019_552_RSI = { 8, 1.0, FIELD_PART_HEX, &hf_019_552_RSI, NULL }; static int hf_019_552_RS1090; static const value_string valstr_019_552_RS1090[] = { { 0, "Not present" }, { 1, "Present" }, { 0, NULL } }; static const FieldPart I019_552_RS1090 = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_RS1090, NULL }; static int hf_019_552_TX1030; static const value_string valstr_019_552_TX1030[] = { { 0, "Not present" }, { 1, "Present" }, { 0, NULL } }; static const FieldPart I019_552_TX1030 = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_TX1030, NULL }; static int hf_019_552_TX1090; static const value_string valstr_019_552_TX1090[] = { { 0, "Not present" }, { 1, "Present" }, { 0, NULL } }; static const FieldPart I019_552_TX1090 = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_TX1090, NULL }; static int hf_019_552_RSS; static const value_string valstr_019_552_RSS[] = { { 0, "Faulted" }, { 1, "Good" }, { 0, NULL } }; static const FieldPart I019_552_RSS = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_RSS, NULL }; static int hf_019_552_RSO; static const value_string valstr_019_552_RSO[] = { { 0, "Offline" }, { 1, "Online" }, { 0, NULL } }; static const FieldPart I019_552_RSO = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_RSO, NULL }; static const FieldPart *I019_552_PARTS[] = { &I019_552_RSI, &IXXX_1bit_spare, &I019_552_RS1090, &I019_552_TX1030, &I019_552_TX1090, &I019_552_RSS, &I019_552_RSO, &IXXX_2bit_spare, NULL }; static const AsterixField I019_552 = { REPETITIVE, 2, 1, 0, &hf_019_552, I019_552_PARTS, { NULL } }; static int hf_019_553; static int hf_019_553_REFTR1; static const value_string valstr_019_553_REFTR1[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_553_REFTR1 = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_REFTR1, NULL }; static int hf_019_553_REFTR2; static const value_string valstr_019_553_REFTR2[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_553_REFTR2 = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_REFTR2, NULL }; static int hf_019_553_REFTR3; static const value_string valstr_019_553_REFTR3[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_553_REFTR3 = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_REFTR3, NULL }; static int hf_019_553_REFTR4; static const value_string valstr_019_553_REFTR4[] = { { 1, "Warning" }, { 2, "Faulted" }, { 3, "Good" }, { 0, NULL } }; static const FieldPart I019_553_REFTR4 = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_REFTR4, NULL }; static const FieldPart *I019_553_PARTS[] = { &I019_553_REFTR1, &IXXX_2bit_spare, &I019_553_REFTR2, &IXXX_1bit_spare, &IXXX_FX, &I019_553_REFTR3, &IXXX_2bit_spare, &I019_553_REFTR4, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I019_553 = { FX, 1, 0, 0, &hf_019_553, I019_553_PARTS, { NULL } }; static int hf_019_600; static int hf_019_600_LAT; static const FieldPart I019_600_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_019_600_LAT, NULL }; static int hf_019_600_LON; static const FieldPart I019_600_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_019_600_LON, NULL }; static const FieldPart *I019_600_PARTS[] = { &I019_600_LAT, &I019_600_LON, NULL }; static const AsterixField I019_600 = { FIXED, 8, 0, 0, &hf_019_600, I019_600_PARTS, { NULL } }; static int hf_019_610; static int hf_019_610_VALUE; static const FieldPart I019_610_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_019_610_VALUE, NULL }; static const FieldPart *I019_610_PARTS[] = { &I019_610_VALUE, NULL }; static const AsterixField I019_610 = { FIXED, 2, 0, 0, &hf_019_610, I019_610_PARTS, { NULL } }; static int hf_019_620; static int hf_019_620_VALUE; static const FieldPart I019_620_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_019_620_VALUE, NULL }; static const FieldPart *I019_620_PARTS[] = { &I019_620_VALUE, NULL }; static const AsterixField I019_620 = { FIXED, 1, 0, 0, &hf_019_620, I019_620_PARTS, { NULL } }; static int hf_019_RE; static const AsterixField I019_RE = { EXP, 0, 0, 1, &hf_019_RE, NULL, { NULL } }; static int hf_019_SP; static const AsterixField I019_SP = { EXP, 0, 0, 1, &hf_019_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I019_V1_3_uap[] = { &I019_V1_3_010, &I019_V1_3_000, &I019_V1_3_140, &I019_V1_3_550, &I019_V1_3_551, &I019_V1_3_552, &I019_V1_3_553, &I019_V1_3_600, &I019_V1_3_610, &I019_V1_3_620, &IX_SPARE, &IX_SPARE, &I019_V1_3_RE, &I019_V1_3_SP, NULL }; static const AsterixField **I019_V1_3[] = { I019_V1_3_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I019_uap[] = { &I019_010, &I019_000, &I019_140, &I019_550, &I019_551, &I019_552, &I019_553, &I019_600, &I019_610, &I019_620, &IX_SPARE, &IX_SPARE, &I019_RE, &I019_SP, NULL }; static const AsterixField **I019[] = { I019_uap, NULL }; DIAG_ON_PEDANTIC /* Category 020, edition 1.9 */ static int hf_020_V1_9_010; static int hf_020_V1_9_010_SAC; static const FieldPart I020_V1_9_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_020_V1_9_010_SAC, NULL }; static int hf_020_V1_9_010_SIC; static const FieldPart I020_V1_9_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_020_V1_9_010_SIC, NULL }; static const FieldPart *I020_V1_9_010_PARTS[] = { &I020_V1_9_010_SAC, &I020_V1_9_010_SIC, NULL }; static const AsterixField I020_V1_9_010 = { FIXED, 2, 0, 0, &hf_020_V1_9_010, I020_V1_9_010_PARTS, { NULL } }; static int hf_020_V1_9_020; static int hf_020_V1_9_020_SSR; static const value_string valstr_020_V1_9_020_SSR[] = { { 0, "Non-Mode S 1090MHz multilateration" }, { 1, "No Non-Mode S 1090MHz multilat" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_SSR, NULL }; static int hf_020_V1_9_020_MS; static const value_string valstr_020_V1_9_020_MS[] = { { 0, "Mode-S 1090 MHz multilateration" }, { 1, "No Mode-S 1090 MHz multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_MS = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_MS, NULL }; static int hf_020_V1_9_020_HF; static const value_string valstr_020_V1_9_020_HF[] = { { 0, "HF multilateration" }, { 1, "No HF multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_HF = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_HF, NULL }; static int hf_020_V1_9_020_VDL4; static const value_string valstr_020_V1_9_020_VDL4[] = { { 0, "VDL Mode 4 multilateration" }, { 1, "No VDL Mode 4 multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_VDL4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_VDL4, NULL }; static int hf_020_V1_9_020_UAT; static const value_string valstr_020_V1_9_020_UAT[] = { { 0, "UAT multilateration" }, { 1, "No UAT multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_UAT, NULL }; static int hf_020_V1_9_020_DME; static const value_string valstr_020_V1_9_020_DME[] = { { 0, "DME/TACAN multilateration" }, { 1, "No DME/TACAN multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_DME = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_DME, NULL }; static int hf_020_V1_9_020_OT; static const value_string valstr_020_V1_9_020_OT[] = { { 0, "Other Technology Multilateration" }, { 1, "No Other Technology Multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_OT = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_OT, NULL }; static int hf_020_V1_9_020_RAB; static const value_string valstr_020_V1_9_020_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (element transponder)" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_RAB, NULL }; static int hf_020_V1_9_020_SPI; static const value_string valstr_020_V1_9_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_SPI, NULL }; static int hf_020_V1_9_020_CHN; static const value_string valstr_020_V1_9_020_CHN[] = { { 0, "Chain 1" }, { 1, "Chain 2" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_CHN = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_CHN, NULL }; static int hf_020_V1_9_020_GBS; static const value_string valstr_020_V1_9_020_GBS[] = { { 0, "Transponder Ground bit not set" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_GBS, NULL }; static int hf_020_V1_9_020_CRT; static const value_string valstr_020_V1_9_020_CRT[] = { { 0, "No Corrupted reply in multilateration" }, { 1, "Corrupted replies in multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_CRT = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_CRT, NULL }; static int hf_020_V1_9_020_SIM; static const value_string valstr_020_V1_9_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_SIM, NULL }; static int hf_020_V1_9_020_TST; static const value_string valstr_020_V1_9_020_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I020_V1_9_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_020_TST, NULL }; static const FieldPart *I020_V1_9_020_PARTS[] = { &I020_V1_9_020_SSR, &I020_V1_9_020_MS, &I020_V1_9_020_HF, &I020_V1_9_020_VDL4, &I020_V1_9_020_UAT, &I020_V1_9_020_DME, &I020_V1_9_020_OT, &IXXX_FX, &I020_V1_9_020_RAB, &I020_V1_9_020_SPI, &I020_V1_9_020_CHN, &I020_V1_9_020_GBS, &I020_V1_9_020_CRT, &I020_V1_9_020_SIM, &I020_V1_9_020_TST, &IXXX_FX, NULL }; static const AsterixField I020_V1_9_020 = { FX, 1, 0, 0, &hf_020_V1_9_020, I020_V1_9_020_PARTS, { NULL } }; static int hf_020_V1_9_030; static int hf_020_V1_9_030_Subitem; static const value_string valstr_020_V1_9_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 3, "Split plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 0, NULL } }; static const FieldPart I020_V1_9_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_020_V1_9_030_Subitem, NULL }; static const FieldPart *I020_V1_9_030_PARTS[] = { &I020_V1_9_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I020_V1_9_030 = { FX, 1, 0, 0, &hf_020_V1_9_030, I020_V1_9_030_PARTS, { NULL } }; static int hf_020_V1_9_041; static int hf_020_V1_9_041_LAT; static const FieldPart I020_V1_9_041_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_020_V1_9_041_LAT, NULL }; static int hf_020_V1_9_041_LON; static const FieldPart I020_V1_9_041_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_020_V1_9_041_LON, NULL }; static const FieldPart *I020_V1_9_041_PARTS[] = { &I020_V1_9_041_LAT, &I020_V1_9_041_LON, NULL }; static const AsterixField I020_V1_9_041 = { FIXED, 8, 0, 0, &hf_020_V1_9_041, I020_V1_9_041_PARTS, { NULL } }; static int hf_020_V1_9_042; static int hf_020_V1_9_042_X; static const FieldPart I020_V1_9_042_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_020_V1_9_042_X, NULL }; static int hf_020_V1_9_042_Y; static const FieldPart I020_V1_9_042_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_020_V1_9_042_Y, NULL }; static const FieldPart *I020_V1_9_042_PARTS[] = { &I020_V1_9_042_X, &I020_V1_9_042_Y, NULL }; static const AsterixField I020_V1_9_042 = { FIXED, 6, 0, 0, &hf_020_V1_9_042, I020_V1_9_042_PARTS, { NULL } }; static int hf_020_V1_9_050; static int hf_020_V1_9_050_V; static const value_string valstr_020_V1_9_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_9_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_050_V, NULL }; static int hf_020_V1_9_050_G; static const value_string valstr_020_V1_9_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_9_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_050_G, NULL }; static int hf_020_V1_9_050_L; static const value_string valstr_020_V1_9_050_L[] = { { 0, "Mode-2 code derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker n" }, { 0, NULL } }; static const FieldPart I020_V1_9_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_050_L, NULL }; static int hf_020_V1_9_050_MODE2; static const FieldPart I020_V1_9_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_V1_9_050_MODE2, NULL }; static const FieldPart *I020_V1_9_050_PARTS[] = { &I020_V1_9_050_V, &I020_V1_9_050_G, &I020_V1_9_050_L, &IXXX_1bit_spare, &I020_V1_9_050_MODE2, NULL }; static const AsterixField I020_V1_9_050 = { FIXED, 2, 0, 0, &hf_020_V1_9_050, I020_V1_9_050_PARTS, { NULL } }; static int hf_020_V1_9_055; static int hf_020_V1_9_055_V; static const value_string valstr_020_V1_9_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_9_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_055_V, NULL }; static int hf_020_V1_9_055_G; static const value_string valstr_020_V1_9_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_9_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_055_G, NULL }; static int hf_020_V1_9_055_L; static const value_string valstr_020_V1_9_055_L[] = { { 0, "Mode-1 code derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I020_V1_9_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_055_L, NULL }; static int hf_020_V1_9_055_MODE1; static const FieldPart I020_V1_9_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_020_V1_9_055_MODE1, NULL }; static const FieldPart *I020_V1_9_055_PARTS[] = { &I020_V1_9_055_V, &I020_V1_9_055_G, &I020_V1_9_055_L, &I020_V1_9_055_MODE1, NULL }; static const AsterixField I020_V1_9_055 = { FIXED, 1, 0, 0, &hf_020_V1_9_055, I020_V1_9_055_PARTS, { NULL } }; static int hf_020_V1_9_070; static int hf_020_V1_9_070_V; static const value_string valstr_020_V1_9_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_9_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_070_V, NULL }; static int hf_020_V1_9_070_G; static const value_string valstr_020_V1_9_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_9_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_070_G, NULL }; static int hf_020_V1_9_070_L; static const value_string valstr_020_V1_9_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last update period" }, { 0, NULL } }; static const FieldPart I020_V1_9_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_070_L, NULL }; static int hf_020_V1_9_070_MODE3A; static const FieldPart I020_V1_9_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_V1_9_070_MODE3A, NULL }; static const FieldPart *I020_V1_9_070_PARTS[] = { &I020_V1_9_070_V, &I020_V1_9_070_G, &I020_V1_9_070_L, &IXXX_1bit_spare, &I020_V1_9_070_MODE3A, NULL }; static const AsterixField I020_V1_9_070 = { FIXED, 2, 0, 0, &hf_020_V1_9_070, I020_V1_9_070_PARTS, { NULL } }; static int hf_020_V1_9_090; static int hf_020_V1_9_090_V; static const value_string valstr_020_V1_9_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_9_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_090_V, NULL }; static int hf_020_V1_9_090_G; static const value_string valstr_020_V1_9_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_9_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_090_G, NULL }; static int hf_020_V1_9_090_FL; static const FieldPart I020_V1_9_090_FL = { 14, 0.25, FIELD_PART_FLOAT, &hf_020_V1_9_090_FL, NULL }; static const FieldPart *I020_V1_9_090_PARTS[] = { &I020_V1_9_090_V, &I020_V1_9_090_G, &I020_V1_9_090_FL, NULL }; static const AsterixField I020_V1_9_090 = { FIXED, 2, 0, 0, &hf_020_V1_9_090, I020_V1_9_090_PARTS, { NULL } }; static int hf_020_V1_9_100; static int hf_020_V1_9_100_V; static const value_string valstr_020_V1_9_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_V, NULL }; static int hf_020_V1_9_100_G; static const value_string valstr_020_V1_9_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_G, NULL }; static int hf_020_V1_9_100_MODEC; static const FieldPart I020_V1_9_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_020_V1_9_100_MODEC, NULL }; static int hf_020_V1_9_100_QC1; static const value_string valstr_020_V1_9_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QC1, NULL }; static int hf_020_V1_9_100_QA1; static const value_string valstr_020_V1_9_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QA1, NULL }; static int hf_020_V1_9_100_QC2; static const value_string valstr_020_V1_9_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QC2, NULL }; static int hf_020_V1_9_100_QA2; static const value_string valstr_020_V1_9_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QA2, NULL }; static int hf_020_V1_9_100_QC4; static const value_string valstr_020_V1_9_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QC4, NULL }; static int hf_020_V1_9_100_QA4; static const value_string valstr_020_V1_9_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QA4, NULL }; static int hf_020_V1_9_100_QB1; static const value_string valstr_020_V1_9_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QB1, NULL }; static int hf_020_V1_9_100_QD1; static const value_string valstr_020_V1_9_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QD1, NULL }; static int hf_020_V1_9_100_QB2; static const value_string valstr_020_V1_9_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QB2, NULL }; static int hf_020_V1_9_100_QD2; static const value_string valstr_020_V1_9_100_QD2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QD2, NULL }; static int hf_020_V1_9_100_QB4; static const value_string valstr_020_V1_9_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QB4, NULL }; static int hf_020_V1_9_100_QD4; static const value_string valstr_020_V1_9_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I020_V1_9_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_100_QD4, NULL }; static const FieldPart *I020_V1_9_100_PARTS[] = { &I020_V1_9_100_V, &I020_V1_9_100_G, &IXXX_2bit_spare, &I020_V1_9_100_MODEC, &IXXX_4bit_spare, &I020_V1_9_100_QC1, &I020_V1_9_100_QA1, &I020_V1_9_100_QC2, &I020_V1_9_100_QA2, &I020_V1_9_100_QC4, &I020_V1_9_100_QA4, &I020_V1_9_100_QB1, &I020_V1_9_100_QD1, &I020_V1_9_100_QB2, &I020_V1_9_100_QD2, &I020_V1_9_100_QB4, &I020_V1_9_100_QD4, NULL }; static const AsterixField I020_V1_9_100 = { FIXED, 4, 0, 0, &hf_020_V1_9_100, I020_V1_9_100_PARTS, { NULL } }; static int hf_020_V1_9_105; static int hf_020_V1_9_105_VALUE; static const FieldPart I020_V1_9_105_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_V1_9_105_VALUE, NULL }; static const FieldPart *I020_V1_9_105_PARTS[] = { &I020_V1_9_105_VALUE, NULL }; static const AsterixField I020_V1_9_105 = { FIXED, 2, 0, 0, &hf_020_V1_9_105, I020_V1_9_105_PARTS, { NULL } }; static int hf_020_V1_9_110; static int hf_020_V1_9_110_VALUE; static const FieldPart I020_V1_9_110_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_V1_9_110_VALUE, NULL }; static const FieldPart *I020_V1_9_110_PARTS[] = { &I020_V1_9_110_VALUE, NULL }; static const AsterixField I020_V1_9_110 = { FIXED, 2, 0, 0, &hf_020_V1_9_110, I020_V1_9_110_PARTS, { NULL } }; static int hf_020_V1_9_140; static int hf_020_V1_9_140_VALUE; static const FieldPart I020_V1_9_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_020_V1_9_140_VALUE, NULL }; static const FieldPart *I020_V1_9_140_PARTS[] = { &I020_V1_9_140_VALUE, NULL }; static const AsterixField I020_V1_9_140 = { FIXED, 3, 0, 0, &hf_020_V1_9_140, I020_V1_9_140_PARTS, { NULL } }; static int hf_020_V1_9_161; static int hf_020_V1_9_161_TRN; static const FieldPart I020_V1_9_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_020_V1_9_161_TRN, NULL }; static const FieldPart *I020_V1_9_161_PARTS[] = { &IXXX_4bit_spare, &I020_V1_9_161_TRN, NULL }; static const AsterixField I020_V1_9_161 = { FIXED, 2, 0, 0, &hf_020_V1_9_161, I020_V1_9_161_PARTS, { NULL } }; static int hf_020_V1_9_170; static int hf_020_V1_9_170_CNF; static const value_string valstr_020_V1_9_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Track in initiation phase" }, { 0, NULL } }; static const FieldPart I020_V1_9_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_170_CNF, NULL }; static int hf_020_V1_9_170_TRE; static const value_string valstr_020_V1_9_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I020_V1_9_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_170_TRE, NULL }; static int hf_020_V1_9_170_CST; static const value_string valstr_020_V1_9_170_CST[] = { { 0, "Not extrapolated" }, { 1, "Extrapolated" }, { 0, NULL } }; static const FieldPart I020_V1_9_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_170_CST, NULL }; static int hf_020_V1_9_170_CDM; static const value_string valstr_020_V1_9_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I020_V1_9_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_020_V1_9_170_CDM, NULL }; static int hf_020_V1_9_170_MAH; static const value_string valstr_020_V1_9_170_MAH[] = { { 0, "Default" }, { 1, "Horizontal manoeuvre" }, { 0, NULL } }; static const FieldPart I020_V1_9_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_170_MAH, NULL }; static int hf_020_V1_9_170_STH; static const value_string valstr_020_V1_9_170_STH[] = { { 0, "Measured position" }, { 1, "Smoothed position" }, { 0, NULL } }; static const FieldPart I020_V1_9_170_STH = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_170_STH, NULL }; static int hf_020_V1_9_170_GHO; static const value_string valstr_020_V1_9_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I020_V1_9_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_170_GHO, NULL }; static const FieldPart *I020_V1_9_170_PARTS[] = { &I020_V1_9_170_CNF, &I020_V1_9_170_TRE, &I020_V1_9_170_CST, &I020_V1_9_170_CDM, &I020_V1_9_170_MAH, &I020_V1_9_170_STH, &IXXX_FX, &I020_V1_9_170_GHO, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I020_V1_9_170 = { FX, 1, 0, 0, &hf_020_V1_9_170, I020_V1_9_170_PARTS, { NULL } }; static int hf_020_V1_9_202; static int hf_020_V1_9_202_VX; static const FieldPart I020_V1_9_202_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_V1_9_202_VX, NULL }; static int hf_020_V1_9_202_VY; static const FieldPart I020_V1_9_202_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_V1_9_202_VY, NULL }; static const FieldPart *I020_V1_9_202_PARTS[] = { &I020_V1_9_202_VX, &I020_V1_9_202_VY, NULL }; static const AsterixField I020_V1_9_202 = { FIXED, 4, 0, 0, &hf_020_V1_9_202, I020_V1_9_202_PARTS, { NULL } }; static int hf_020_V1_9_210; static int hf_020_V1_9_210_AX; static const FieldPart I020_V1_9_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_020_V1_9_210_AX, NULL }; static int hf_020_V1_9_210_AY; static const FieldPart I020_V1_9_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_020_V1_9_210_AY, NULL }; static const FieldPart *I020_V1_9_210_PARTS[] = { &I020_V1_9_210_AX, &I020_V1_9_210_AY, NULL }; static const AsterixField I020_V1_9_210 = { FIXED, 2, 0, 0, &hf_020_V1_9_210, I020_V1_9_210_PARTS, { NULL } }; static int hf_020_V1_9_220; static int hf_020_V1_9_220_VALUE; static const FieldPart I020_V1_9_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_020_V1_9_220_VALUE, NULL }; static const FieldPart *I020_V1_9_220_PARTS[] = { &I020_V1_9_220_VALUE, NULL }; static const AsterixField I020_V1_9_220 = { FIXED, 3, 0, 0, &hf_020_V1_9_220, I020_V1_9_220_PARTS, { NULL } }; static int hf_020_V1_9_230; static int hf_020_V1_9_230_COM; static const value_string valstr_020_V1_9_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I020_V1_9_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_020_V1_9_230_COM, NULL }; static int hf_020_V1_9_230_STAT; static const value_string valstr_020_V1_9_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "Not assigned" }, { 7, "Information not yet extracted" }, { 0, NULL } }; static const FieldPart I020_V1_9_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_020_V1_9_230_STAT, NULL }; static int hf_020_V1_9_230_MSSC; static const value_string valstr_020_V1_9_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I020_V1_9_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_230_MSSC, NULL }; static int hf_020_V1_9_230_ARC; static const value_string valstr_020_V1_9_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I020_V1_9_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_230_ARC, NULL }; static int hf_020_V1_9_230_AIC; static const value_string valstr_020_V1_9_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I020_V1_9_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_230_AIC, NULL }; static int hf_020_V1_9_230_B1A; static const FieldPart I020_V1_9_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_020_V1_9_230_B1A, NULL }; static int hf_020_V1_9_230_B1B; static const FieldPart I020_V1_9_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_020_V1_9_230_B1B, NULL }; static const FieldPart *I020_V1_9_230_PARTS[] = { &I020_V1_9_230_COM, &I020_V1_9_230_STAT, &IXXX_2bit_spare, &I020_V1_9_230_MSSC, &I020_V1_9_230_ARC, &I020_V1_9_230_AIC, &I020_V1_9_230_B1A, &I020_V1_9_230_B1B, NULL }; static const AsterixField I020_V1_9_230 = { FIXED, 2, 0, 0, &hf_020_V1_9_230, I020_V1_9_230_PARTS, { NULL } }; static int hf_020_V1_9_245; static int hf_020_V1_9_245_STI; static const value_string valstr_020_V1_9_245_STI[] = { { 0, "Callsign or registration not downlinked from transponder" }, { 1, "Registration downlinked from transponder" }, { 2, "Callsign downlinked from transponder" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I020_V1_9_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_020_V1_9_245_STI, NULL }; static int hf_020_V1_9_245_CHR; static const FieldPart I020_V1_9_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_020_V1_9_245_CHR, NULL }; static const FieldPart *I020_V1_9_245_PARTS[] = { &I020_V1_9_245_STI, &IXXX_6bit_spare, &I020_V1_9_245_CHR, NULL }; static const AsterixField I020_V1_9_245 = { FIXED, 7, 0, 0, &hf_020_V1_9_245, I020_V1_9_245_PARTS, { NULL } }; static int hf_020_V1_9_250; static int hf_020_V1_9_250_MBDATA; static const FieldPart I020_V1_9_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_020_V1_9_250_MBDATA, NULL }; static int hf_020_V1_9_250_BDS1; static const FieldPart I020_V1_9_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_020_V1_9_250_BDS1, NULL }; static int hf_020_V1_9_250_BDS2; static const FieldPart I020_V1_9_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_020_V1_9_250_BDS2, NULL }; static const FieldPart *I020_V1_9_250_PARTS[] = { &I020_V1_9_250_MBDATA, &I020_V1_9_250_BDS1, &I020_V1_9_250_BDS2, NULL }; static const AsterixField I020_V1_9_250 = { REPETITIVE, 8, 1, 0, &hf_020_V1_9_250, I020_V1_9_250_PARTS, { NULL } }; static int hf_020_V1_9_260; static int hf_020_V1_9_260_VALUE; static const FieldPart I020_V1_9_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_020_V1_9_260_VALUE, NULL }; static const FieldPart *I020_V1_9_260_PARTS[] = { &I020_V1_9_260_VALUE, NULL }; static const AsterixField I020_V1_9_260 = { FIXED, 7, 0, 0, &hf_020_V1_9_260, I020_V1_9_260_PARTS, { NULL } }; static int hf_020_V1_9_300; static int hf_020_V1_9_300_VALUE; static const value_string valstr_020_V1_9_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I020_V1_9_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_020_V1_9_300_VALUE, NULL }; static const FieldPart *I020_V1_9_300_PARTS[] = { &I020_V1_9_300_VALUE, NULL }; static const AsterixField I020_V1_9_300 = { FIXED, 1, 0, 0, &hf_020_V1_9_300, I020_V1_9_300_PARTS, { NULL } }; static int hf_020_V1_9_310; static int hf_020_V1_9_310_TRB; static const value_string valstr_020_V1_9_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I020_V1_9_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_310_TRB, NULL }; static int hf_020_V1_9_310_MSG; static const value_string valstr_020_V1_9_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "FOLLOW-ME operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I020_V1_9_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_020_V1_9_310_MSG, NULL }; static const FieldPart *I020_V1_9_310_PARTS[] = { &I020_V1_9_310_TRB, &I020_V1_9_310_MSG, NULL }; static const AsterixField I020_V1_9_310 = { FIXED, 1, 0, 0, &hf_020_V1_9_310, I020_V1_9_310_PARTS, { NULL } }; static int hf_020_V1_9_400; static int hf_020_V1_9_400_BIT1; static const value_string valstr_020_V1_9_400_BIT1[] = { { 0, "TU1/RU1 has NOT contributed to the target detection" }, { 1, "TU1/RU1 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT1, NULL }; static int hf_020_V1_9_400_BIT2; static const value_string valstr_020_V1_9_400_BIT2[] = { { 0, "TU2/RU2 has NOT contributed to the target detection" }, { 1, "TU2/RU2 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT2, NULL }; static int hf_020_V1_9_400_BIT3; static const value_string valstr_020_V1_9_400_BIT3[] = { { 0, "TU3/RU3 has NOT contributed to the target detection" }, { 1, "TU3/RU3 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT3 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT3, NULL }; static int hf_020_V1_9_400_BIT4; static const value_string valstr_020_V1_9_400_BIT4[] = { { 0, "TU4/RU4 has NOT contributed to the target detection" }, { 1, "TU4/RU4 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT4, NULL }; static int hf_020_V1_9_400_BIT5; static const value_string valstr_020_V1_9_400_BIT5[] = { { 0, "TU5/RU5 has NOT contributed to the target detection" }, { 1, "TU5/RU5 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT5 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT5, NULL }; static int hf_020_V1_9_400_BIT6; static const value_string valstr_020_V1_9_400_BIT6[] = { { 0, "TU6/RU6 has NOT contributed to the target detection" }, { 1, "TU6/RU6 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT6 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT6, NULL }; static int hf_020_V1_9_400_BIT7; static const value_string valstr_020_V1_9_400_BIT7[] = { { 0, "TU7/RU7 has NOT contributed to the target detection" }, { 1, "TU7/RU7 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT7 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT7, NULL }; static int hf_020_V1_9_400_BIT8; static const value_string valstr_020_V1_9_400_BIT8[] = { { 0, "TU8/RU8 has NOT contributed to the target detection" }, { 1, "TU8/RU8 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_9_400_BIT8 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_9_400_BIT8, NULL }; static const FieldPart *I020_V1_9_400_PARTS[] = { &I020_V1_9_400_BIT1, &I020_V1_9_400_BIT2, &I020_V1_9_400_BIT3, &I020_V1_9_400_BIT4, &I020_V1_9_400_BIT5, &I020_V1_9_400_BIT6, &I020_V1_9_400_BIT7, &I020_V1_9_400_BIT8, NULL }; static const AsterixField I020_V1_9_400 = { REPETITIVE, 1, 1, 0, &hf_020_V1_9_400, I020_V1_9_400_PARTS, { NULL } }; static int hf_020_V1_9_500; static int hf_020_V1_9_500_DOP; static int hf_020_V1_9_500_DOP_X; static const FieldPart I020_V1_9_500_DOP_X = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_9_500_DOP_X, NULL }; static int hf_020_V1_9_500_DOP_Y; static const FieldPart I020_V1_9_500_DOP_Y = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_9_500_DOP_Y, NULL }; static int hf_020_V1_9_500_DOP_XY; static const FieldPart I020_V1_9_500_DOP_XY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_9_500_DOP_XY, NULL }; static const FieldPart *I020_V1_9_500_DOP_PARTS[] = { &I020_V1_9_500_DOP_X, &I020_V1_9_500_DOP_Y, &I020_V1_9_500_DOP_XY, NULL }; static const AsterixField I020_V1_9_500_DOP = { FIXED, 6, 0, 0, &hf_020_V1_9_500_DOP, I020_V1_9_500_DOP_PARTS, { NULL } }; static int hf_020_V1_9_500_SDP; static int hf_020_V1_9_500_SDP_X; static const FieldPart I020_V1_9_500_SDP_X = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_9_500_SDP_X, NULL }; static int hf_020_V1_9_500_SDP_Y; static const FieldPart I020_V1_9_500_SDP_Y = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_9_500_SDP_Y, NULL }; static int hf_020_V1_9_500_SDP_XY; static const FieldPart I020_V1_9_500_SDP_XY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_9_500_SDP_XY, NULL }; static const FieldPart *I020_V1_9_500_SDP_PARTS[] = { &I020_V1_9_500_SDP_X, &I020_V1_9_500_SDP_Y, &I020_V1_9_500_SDP_XY, NULL }; static const AsterixField I020_V1_9_500_SDP = { FIXED, 6, 0, 0, &hf_020_V1_9_500_SDP, I020_V1_9_500_SDP_PARTS, { NULL } }; static int hf_020_V1_9_500_SDH; static int hf_020_V1_9_500_SDH_VALUE; static const FieldPart I020_V1_9_500_SDH_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_020_V1_9_500_SDH_VALUE, NULL }; static const FieldPart *I020_V1_9_500_SDH_PARTS[] = { &I020_V1_9_500_SDH_VALUE, NULL }; static const AsterixField I020_V1_9_500_SDH = { FIXED, 2, 0, 0, &hf_020_V1_9_500_SDH, I020_V1_9_500_SDH_PARTS, { NULL } }; static const AsterixField I020_V1_9_500 = { COMPOUND, 0, 0, 0, &hf_020_V1_9_500, NULL, { &I020_V1_9_500_DOP, &I020_V1_9_500_SDP, &I020_V1_9_500_SDH, NULL } }; static int hf_020_V1_9_RE; static const AsterixField I020_V1_9_RE = { EXP, 0, 0, 1, &hf_020_V1_9_RE, NULL, { NULL } }; static int hf_020_V1_9_SP; static const AsterixField I020_V1_9_SP = { EXP, 0, 0, 1, &hf_020_V1_9_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I020_V1_9_uap[] = { &I020_V1_9_010, &I020_V1_9_020, &I020_V1_9_140, &I020_V1_9_041, &I020_V1_9_042, &I020_V1_9_161, &I020_V1_9_170, &I020_V1_9_070, &I020_V1_9_202, &I020_V1_9_090, &I020_V1_9_100, &I020_V1_9_220, &I020_V1_9_245, &I020_V1_9_110, &I020_V1_9_105, &I020_V1_9_210, &I020_V1_9_300, &I020_V1_9_310, &I020_V1_9_500, &I020_V1_9_400, &I020_V1_9_250, &I020_V1_9_230, &I020_V1_9_260, &I020_V1_9_030, &I020_V1_9_055, &I020_V1_9_050, &I020_V1_9_RE, &I020_V1_9_SP, NULL }; static const AsterixField **I020_V1_9[] = { I020_V1_9_uap, NULL }; DIAG_ON_PEDANTIC /* Category 020, edition 1.10 */ static int hf_020_V1_10_010; static int hf_020_V1_10_010_SAC; static const FieldPart I020_V1_10_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_020_V1_10_010_SAC, NULL }; static int hf_020_V1_10_010_SIC; static const FieldPart I020_V1_10_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_020_V1_10_010_SIC, NULL }; static const FieldPart *I020_V1_10_010_PARTS[] = { &I020_V1_10_010_SAC, &I020_V1_10_010_SIC, NULL }; static const AsterixField I020_V1_10_010 = { FIXED, 2, 0, 0, &hf_020_V1_10_010, I020_V1_10_010_PARTS, { NULL } }; static int hf_020_V1_10_020; static int hf_020_V1_10_020_SSR; static const value_string valstr_020_V1_10_020_SSR[] = { { 0, "Non-Mode S 1090MHz multilateration" }, { 1, "No Non-Mode S 1090MHz multilat" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_SSR, NULL }; static int hf_020_V1_10_020_MS; static const value_string valstr_020_V1_10_020_MS[] = { { 0, "Mode-S 1090 MHz multilateration" }, { 1, "No Mode-S 1090 MHz multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_MS = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_MS, NULL }; static int hf_020_V1_10_020_HF; static const value_string valstr_020_V1_10_020_HF[] = { { 0, "HF multilateration" }, { 1, "No HF multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_HF = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_HF, NULL }; static int hf_020_V1_10_020_VDL4; static const value_string valstr_020_V1_10_020_VDL4[] = { { 0, "VDL Mode 4 multilateration" }, { 1, "No VDL Mode 4 multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_VDL4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_VDL4, NULL }; static int hf_020_V1_10_020_UAT; static const value_string valstr_020_V1_10_020_UAT[] = { { 0, "UAT multilateration" }, { 1, "No UAT multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_UAT, NULL }; static int hf_020_V1_10_020_DME; static const value_string valstr_020_V1_10_020_DME[] = { { 0, "DME/TACAN multilateration" }, { 1, "No DME/TACAN multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_DME = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_DME, NULL }; static int hf_020_V1_10_020_OT; static const value_string valstr_020_V1_10_020_OT[] = { { 0, "Other Technology Multilateration" }, { 1, "No Other Technology Multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_OT = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_OT, NULL }; static int hf_020_V1_10_020_RAB; static const value_string valstr_020_V1_10_020_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (element transponder)" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_RAB, NULL }; static int hf_020_V1_10_020_SPI; static const value_string valstr_020_V1_10_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_SPI, NULL }; static int hf_020_V1_10_020_CHN; static const value_string valstr_020_V1_10_020_CHN[] = { { 0, "Chain 1" }, { 1, "Chain 2" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_CHN = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_CHN, NULL }; static int hf_020_V1_10_020_GBS; static const value_string valstr_020_V1_10_020_GBS[] = { { 0, "Transponder Ground bit not set" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_GBS, NULL }; static int hf_020_V1_10_020_CRT; static const value_string valstr_020_V1_10_020_CRT[] = { { 0, "No Corrupted reply in multilateration" }, { 1, "Corrupted replies in multilateration" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_CRT = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_CRT, NULL }; static int hf_020_V1_10_020_SIM; static const value_string valstr_020_V1_10_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_SIM, NULL }; static int hf_020_V1_10_020_TST; static const value_string valstr_020_V1_10_020_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I020_V1_10_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_020_TST, NULL }; static const FieldPart *I020_V1_10_020_PARTS[] = { &I020_V1_10_020_SSR, &I020_V1_10_020_MS, &I020_V1_10_020_HF, &I020_V1_10_020_VDL4, &I020_V1_10_020_UAT, &I020_V1_10_020_DME, &I020_V1_10_020_OT, &IXXX_FX, &I020_V1_10_020_RAB, &I020_V1_10_020_SPI, &I020_V1_10_020_CHN, &I020_V1_10_020_GBS, &I020_V1_10_020_CRT, &I020_V1_10_020_SIM, &I020_V1_10_020_TST, &IXXX_FX, NULL }; static const AsterixField I020_V1_10_020 = { FX, 1, 0, 0, &hf_020_V1_10_020, I020_V1_10_020_PARTS, { NULL } }; static int hf_020_V1_10_030; static int hf_020_V1_10_030_Subitem; static const value_string valstr_020_V1_10_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 3, "Split plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 0, NULL } }; static const FieldPart I020_V1_10_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_020_V1_10_030_Subitem, NULL }; static const FieldPart *I020_V1_10_030_PARTS[] = { &I020_V1_10_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I020_V1_10_030 = { FX, 1, 0, 0, &hf_020_V1_10_030, I020_V1_10_030_PARTS, { NULL } }; static int hf_020_V1_10_041; static int hf_020_V1_10_041_LAT; static const FieldPart I020_V1_10_041_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_020_V1_10_041_LAT, NULL }; static int hf_020_V1_10_041_LON; static const FieldPart I020_V1_10_041_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_020_V1_10_041_LON, NULL }; static const FieldPart *I020_V1_10_041_PARTS[] = { &I020_V1_10_041_LAT, &I020_V1_10_041_LON, NULL }; static const AsterixField I020_V1_10_041 = { FIXED, 8, 0, 0, &hf_020_V1_10_041, I020_V1_10_041_PARTS, { NULL } }; static int hf_020_V1_10_042; static int hf_020_V1_10_042_X; static const FieldPart I020_V1_10_042_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_020_V1_10_042_X, NULL }; static int hf_020_V1_10_042_Y; static const FieldPart I020_V1_10_042_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_020_V1_10_042_Y, NULL }; static const FieldPart *I020_V1_10_042_PARTS[] = { &I020_V1_10_042_X, &I020_V1_10_042_Y, NULL }; static const AsterixField I020_V1_10_042 = { FIXED, 6, 0, 0, &hf_020_V1_10_042, I020_V1_10_042_PARTS, { NULL } }; static int hf_020_V1_10_050; static int hf_020_V1_10_050_V; static const value_string valstr_020_V1_10_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_10_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_050_V, NULL }; static int hf_020_V1_10_050_G; static const value_string valstr_020_V1_10_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_10_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_050_G, NULL }; static int hf_020_V1_10_050_L; static const value_string valstr_020_V1_10_050_L[] = { { 0, "Mode-2 code derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker n" }, { 0, NULL } }; static const FieldPart I020_V1_10_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_050_L, NULL }; static int hf_020_V1_10_050_MODE2; static const FieldPart I020_V1_10_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_V1_10_050_MODE2, NULL }; static const FieldPart *I020_V1_10_050_PARTS[] = { &I020_V1_10_050_V, &I020_V1_10_050_G, &I020_V1_10_050_L, &IXXX_1bit_spare, &I020_V1_10_050_MODE2, NULL }; static const AsterixField I020_V1_10_050 = { FIXED, 2, 0, 0, &hf_020_V1_10_050, I020_V1_10_050_PARTS, { NULL } }; static int hf_020_V1_10_055; static int hf_020_V1_10_055_V; static const value_string valstr_020_V1_10_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_10_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_055_V, NULL }; static int hf_020_V1_10_055_G; static const value_string valstr_020_V1_10_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_10_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_055_G, NULL }; static int hf_020_V1_10_055_L; static const value_string valstr_020_V1_10_055_L[] = { { 0, "Mode-1 code derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I020_V1_10_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_055_L, NULL }; static int hf_020_V1_10_055_MODE1; static const FieldPart I020_V1_10_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_020_V1_10_055_MODE1, NULL }; static const FieldPart *I020_V1_10_055_PARTS[] = { &I020_V1_10_055_V, &I020_V1_10_055_G, &I020_V1_10_055_L, &I020_V1_10_055_MODE1, NULL }; static const AsterixField I020_V1_10_055 = { FIXED, 1, 0, 0, &hf_020_V1_10_055, I020_V1_10_055_PARTS, { NULL } }; static int hf_020_V1_10_070; static int hf_020_V1_10_070_V; static const value_string valstr_020_V1_10_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_10_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_070_V, NULL }; static int hf_020_V1_10_070_G; static const value_string valstr_020_V1_10_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_10_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_070_G, NULL }; static int hf_020_V1_10_070_L; static const value_string valstr_020_V1_10_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last update period" }, { 0, NULL } }; static const FieldPart I020_V1_10_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_070_L, NULL }; static int hf_020_V1_10_070_MODE3A; static const FieldPart I020_V1_10_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_V1_10_070_MODE3A, NULL }; static const FieldPart *I020_V1_10_070_PARTS[] = { &I020_V1_10_070_V, &I020_V1_10_070_G, &I020_V1_10_070_L, &IXXX_1bit_spare, &I020_V1_10_070_MODE3A, NULL }; static const AsterixField I020_V1_10_070 = { FIXED, 2, 0, 0, &hf_020_V1_10_070, I020_V1_10_070_PARTS, { NULL } }; static int hf_020_V1_10_090; static int hf_020_V1_10_090_V; static const value_string valstr_020_V1_10_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_10_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_090_V, NULL }; static int hf_020_V1_10_090_G; static const value_string valstr_020_V1_10_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_10_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_090_G, NULL }; static int hf_020_V1_10_090_FL; static const FieldPart I020_V1_10_090_FL = { 14, 0.25, FIELD_PART_FLOAT, &hf_020_V1_10_090_FL, NULL }; static const FieldPart *I020_V1_10_090_PARTS[] = { &I020_V1_10_090_V, &I020_V1_10_090_G, &I020_V1_10_090_FL, NULL }; static const AsterixField I020_V1_10_090 = { FIXED, 2, 0, 0, &hf_020_V1_10_090, I020_V1_10_090_PARTS, { NULL } }; static int hf_020_V1_10_100; static int hf_020_V1_10_100_V; static const value_string valstr_020_V1_10_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_V, NULL }; static int hf_020_V1_10_100_G; static const value_string valstr_020_V1_10_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_G, NULL }; static int hf_020_V1_10_100_MODEC; static const FieldPart I020_V1_10_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_020_V1_10_100_MODEC, NULL }; static int hf_020_V1_10_100_QC1; static const value_string valstr_020_V1_10_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QC1, NULL }; static int hf_020_V1_10_100_QA1; static const value_string valstr_020_V1_10_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QA1, NULL }; static int hf_020_V1_10_100_QC2; static const value_string valstr_020_V1_10_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QC2, NULL }; static int hf_020_V1_10_100_QA2; static const value_string valstr_020_V1_10_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QA2, NULL }; static int hf_020_V1_10_100_QC4; static const value_string valstr_020_V1_10_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QC4, NULL }; static int hf_020_V1_10_100_QA4; static const value_string valstr_020_V1_10_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QA4, NULL }; static int hf_020_V1_10_100_QB1; static const value_string valstr_020_V1_10_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QB1, NULL }; static int hf_020_V1_10_100_QD1; static const value_string valstr_020_V1_10_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QD1, NULL }; static int hf_020_V1_10_100_QB2; static const value_string valstr_020_V1_10_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QB2, NULL }; static int hf_020_V1_10_100_QD2; static const value_string valstr_020_V1_10_100_QD2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QD2, NULL }; static int hf_020_V1_10_100_QB4; static const value_string valstr_020_V1_10_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QB4, NULL }; static int hf_020_V1_10_100_QD4; static const value_string valstr_020_V1_10_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I020_V1_10_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_100_QD4, NULL }; static const FieldPart *I020_V1_10_100_PARTS[] = { &I020_V1_10_100_V, &I020_V1_10_100_G, &IXXX_2bit_spare, &I020_V1_10_100_MODEC, &IXXX_4bit_spare, &I020_V1_10_100_QC1, &I020_V1_10_100_QA1, &I020_V1_10_100_QC2, &I020_V1_10_100_QA2, &I020_V1_10_100_QC4, &I020_V1_10_100_QA4, &I020_V1_10_100_QB1, &I020_V1_10_100_QD1, &I020_V1_10_100_QB2, &I020_V1_10_100_QD2, &I020_V1_10_100_QB4, &I020_V1_10_100_QD4, NULL }; static const AsterixField I020_V1_10_100 = { FIXED, 4, 0, 0, &hf_020_V1_10_100, I020_V1_10_100_PARTS, { NULL } }; static int hf_020_V1_10_105; static int hf_020_V1_10_105_VALUE; static const FieldPart I020_V1_10_105_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_V1_10_105_VALUE, NULL }; static const FieldPart *I020_V1_10_105_PARTS[] = { &I020_V1_10_105_VALUE, NULL }; static const AsterixField I020_V1_10_105 = { FIXED, 2, 0, 0, &hf_020_V1_10_105, I020_V1_10_105_PARTS, { NULL } }; static int hf_020_V1_10_110; static int hf_020_V1_10_110_VALUE; static const FieldPart I020_V1_10_110_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_V1_10_110_VALUE, NULL }; static const FieldPart *I020_V1_10_110_PARTS[] = { &I020_V1_10_110_VALUE, NULL }; static const AsterixField I020_V1_10_110 = { FIXED, 2, 0, 0, &hf_020_V1_10_110, I020_V1_10_110_PARTS, { NULL } }; static int hf_020_V1_10_140; static int hf_020_V1_10_140_VALUE; static const FieldPart I020_V1_10_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_020_V1_10_140_VALUE, NULL }; static const FieldPart *I020_V1_10_140_PARTS[] = { &I020_V1_10_140_VALUE, NULL }; static const AsterixField I020_V1_10_140 = { FIXED, 3, 0, 0, &hf_020_V1_10_140, I020_V1_10_140_PARTS, { NULL } }; static int hf_020_V1_10_161; static int hf_020_V1_10_161_TRN; static const FieldPart I020_V1_10_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_020_V1_10_161_TRN, NULL }; static const FieldPart *I020_V1_10_161_PARTS[] = { &IXXX_4bit_spare, &I020_V1_10_161_TRN, NULL }; static const AsterixField I020_V1_10_161 = { FIXED, 2, 0, 0, &hf_020_V1_10_161, I020_V1_10_161_PARTS, { NULL } }; static int hf_020_V1_10_170; static int hf_020_V1_10_170_CNF; static const value_string valstr_020_V1_10_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Track in initiation phase" }, { 0, NULL } }; static const FieldPart I020_V1_10_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_170_CNF, NULL }; static int hf_020_V1_10_170_TRE; static const value_string valstr_020_V1_10_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I020_V1_10_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_170_TRE, NULL }; static int hf_020_V1_10_170_CST; static const value_string valstr_020_V1_10_170_CST[] = { { 0, "Not Coasted" }, { 1, "Coasted" }, { 0, NULL } }; static const FieldPart I020_V1_10_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_170_CST, NULL }; static int hf_020_V1_10_170_CDM; static const value_string valstr_020_V1_10_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I020_V1_10_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_020_V1_10_170_CDM, NULL }; static int hf_020_V1_10_170_MAH; static const value_string valstr_020_V1_10_170_MAH[] = { { 0, "Default" }, { 1, "Horizontal manoeuvre" }, { 0, NULL } }; static const FieldPart I020_V1_10_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_170_MAH, NULL }; static int hf_020_V1_10_170_STH; static const value_string valstr_020_V1_10_170_STH[] = { { 0, "Measured position" }, { 1, "Smoothed position" }, { 0, NULL } }; static const FieldPart I020_V1_10_170_STH = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_170_STH, NULL }; static int hf_020_V1_10_170_GHO; static const value_string valstr_020_V1_10_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I020_V1_10_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_170_GHO, NULL }; static const FieldPart *I020_V1_10_170_PARTS[] = { &I020_V1_10_170_CNF, &I020_V1_10_170_TRE, &I020_V1_10_170_CST, &I020_V1_10_170_CDM, &I020_V1_10_170_MAH, &I020_V1_10_170_STH, &IXXX_FX, &I020_V1_10_170_GHO, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I020_V1_10_170 = { FX, 1, 0, 0, &hf_020_V1_10_170, I020_V1_10_170_PARTS, { NULL } }; static int hf_020_V1_10_202; static int hf_020_V1_10_202_VX; static const FieldPart I020_V1_10_202_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_V1_10_202_VX, NULL }; static int hf_020_V1_10_202_VY; static const FieldPart I020_V1_10_202_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_V1_10_202_VY, NULL }; static const FieldPart *I020_V1_10_202_PARTS[] = { &I020_V1_10_202_VX, &I020_V1_10_202_VY, NULL }; static const AsterixField I020_V1_10_202 = { FIXED, 4, 0, 0, &hf_020_V1_10_202, I020_V1_10_202_PARTS, { NULL } }; static int hf_020_V1_10_210; static int hf_020_V1_10_210_AX; static const FieldPart I020_V1_10_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_020_V1_10_210_AX, NULL }; static int hf_020_V1_10_210_AY; static const FieldPart I020_V1_10_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_020_V1_10_210_AY, NULL }; static const FieldPart *I020_V1_10_210_PARTS[] = { &I020_V1_10_210_AX, &I020_V1_10_210_AY, NULL }; static const AsterixField I020_V1_10_210 = { FIXED, 2, 0, 0, &hf_020_V1_10_210, I020_V1_10_210_PARTS, { NULL } }; static int hf_020_V1_10_220; static int hf_020_V1_10_220_VALUE; static const FieldPart I020_V1_10_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_020_V1_10_220_VALUE, NULL }; static const FieldPart *I020_V1_10_220_PARTS[] = { &I020_V1_10_220_VALUE, NULL }; static const AsterixField I020_V1_10_220 = { FIXED, 3, 0, 0, &hf_020_V1_10_220, I020_V1_10_220_PARTS, { NULL } }; static int hf_020_V1_10_230; static int hf_020_V1_10_230_COM; static const value_string valstr_020_V1_10_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I020_V1_10_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_020_V1_10_230_COM, NULL }; static int hf_020_V1_10_230_STAT; static const value_string valstr_020_V1_10_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "Not assigned" }, { 7, "Information not yet extracted" }, { 0, NULL } }; static const FieldPart I020_V1_10_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_020_V1_10_230_STAT, NULL }; static int hf_020_V1_10_230_MSSC; static const value_string valstr_020_V1_10_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I020_V1_10_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_230_MSSC, NULL }; static int hf_020_V1_10_230_ARC; static const value_string valstr_020_V1_10_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I020_V1_10_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_230_ARC, NULL }; static int hf_020_V1_10_230_AIC; static const value_string valstr_020_V1_10_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I020_V1_10_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_230_AIC, NULL }; static int hf_020_V1_10_230_B1A; static const FieldPart I020_V1_10_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_020_V1_10_230_B1A, NULL }; static int hf_020_V1_10_230_B1B; static const FieldPart I020_V1_10_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_020_V1_10_230_B1B, NULL }; static const FieldPart *I020_V1_10_230_PARTS[] = { &I020_V1_10_230_COM, &I020_V1_10_230_STAT, &IXXX_2bit_spare, &I020_V1_10_230_MSSC, &I020_V1_10_230_ARC, &I020_V1_10_230_AIC, &I020_V1_10_230_B1A, &I020_V1_10_230_B1B, NULL }; static const AsterixField I020_V1_10_230 = { FIXED, 2, 0, 0, &hf_020_V1_10_230, I020_V1_10_230_PARTS, { NULL } }; static int hf_020_V1_10_245; static int hf_020_V1_10_245_STI; static const value_string valstr_020_V1_10_245_STI[] = { { 0, "Callsign or registration not downlinked from transponder" }, { 1, "Registration downlinked from transponder" }, { 2, "Callsign downlinked from transponder" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I020_V1_10_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_020_V1_10_245_STI, NULL }; static int hf_020_V1_10_245_CHR; static const FieldPart I020_V1_10_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_020_V1_10_245_CHR, NULL }; static const FieldPart *I020_V1_10_245_PARTS[] = { &I020_V1_10_245_STI, &IXXX_6bit_spare, &I020_V1_10_245_CHR, NULL }; static const AsterixField I020_V1_10_245 = { FIXED, 7, 0, 0, &hf_020_V1_10_245, I020_V1_10_245_PARTS, { NULL } }; static int hf_020_V1_10_250; static int hf_020_V1_10_250_MBDATA; static const FieldPart I020_V1_10_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_020_V1_10_250_MBDATA, NULL }; static int hf_020_V1_10_250_BDS1; static const FieldPart I020_V1_10_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_020_V1_10_250_BDS1, NULL }; static int hf_020_V1_10_250_BDS2; static const FieldPart I020_V1_10_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_020_V1_10_250_BDS2, NULL }; static const FieldPart *I020_V1_10_250_PARTS[] = { &I020_V1_10_250_MBDATA, &I020_V1_10_250_BDS1, &I020_V1_10_250_BDS2, NULL }; static const AsterixField I020_V1_10_250 = { REPETITIVE, 8, 1, 0, &hf_020_V1_10_250, I020_V1_10_250_PARTS, { NULL } }; static int hf_020_V1_10_260; static int hf_020_V1_10_260_VALUE; static const FieldPart I020_V1_10_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_020_V1_10_260_VALUE, NULL }; static const FieldPart *I020_V1_10_260_PARTS[] = { &I020_V1_10_260_VALUE, NULL }; static const AsterixField I020_V1_10_260 = { FIXED, 7, 0, 0, &hf_020_V1_10_260, I020_V1_10_260_PARTS, { NULL } }; static int hf_020_V1_10_300; static int hf_020_V1_10_300_VALUE; static const value_string valstr_020_V1_10_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I020_V1_10_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_020_V1_10_300_VALUE, NULL }; static const FieldPart *I020_V1_10_300_PARTS[] = { &I020_V1_10_300_VALUE, NULL }; static const AsterixField I020_V1_10_300 = { FIXED, 1, 0, 0, &hf_020_V1_10_300, I020_V1_10_300_PARTS, { NULL } }; static int hf_020_V1_10_310; static int hf_020_V1_10_310_TRB; static const value_string valstr_020_V1_10_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I020_V1_10_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_310_TRB, NULL }; static int hf_020_V1_10_310_MSG; static const value_string valstr_020_V1_10_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "FOLLOW-ME operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I020_V1_10_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_020_V1_10_310_MSG, NULL }; static const FieldPart *I020_V1_10_310_PARTS[] = { &I020_V1_10_310_TRB, &I020_V1_10_310_MSG, NULL }; static const AsterixField I020_V1_10_310 = { FIXED, 1, 0, 0, &hf_020_V1_10_310, I020_V1_10_310_PARTS, { NULL } }; static int hf_020_V1_10_400; static int hf_020_V1_10_400_BIT1; static const value_string valstr_020_V1_10_400_BIT1[] = { { 0, "TU1/RU1 has NOT contributed to the target detection" }, { 1, "TU1/RU1 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT1, NULL }; static int hf_020_V1_10_400_BIT2; static const value_string valstr_020_V1_10_400_BIT2[] = { { 0, "TU2/RU2 has NOT contributed to the target detection" }, { 1, "TU2/RU2 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT2, NULL }; static int hf_020_V1_10_400_BIT3; static const value_string valstr_020_V1_10_400_BIT3[] = { { 0, "TU3/RU3 has NOT contributed to the target detection" }, { 1, "TU3/RU3 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT3 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT3, NULL }; static int hf_020_V1_10_400_BIT4; static const value_string valstr_020_V1_10_400_BIT4[] = { { 0, "TU4/RU4 has NOT contributed to the target detection" }, { 1, "TU4/RU4 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT4, NULL }; static int hf_020_V1_10_400_BIT5; static const value_string valstr_020_V1_10_400_BIT5[] = { { 0, "TU5/RU5 has NOT contributed to the target detection" }, { 1, "TU5/RU5 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT5 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT5, NULL }; static int hf_020_V1_10_400_BIT6; static const value_string valstr_020_V1_10_400_BIT6[] = { { 0, "TU6/RU6 has NOT contributed to the target detection" }, { 1, "TU6/RU6 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT6 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT6, NULL }; static int hf_020_V1_10_400_BIT7; static const value_string valstr_020_V1_10_400_BIT7[] = { { 0, "TU7/RU7 has NOT contributed to the target detection" }, { 1, "TU7/RU7 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT7 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT7, NULL }; static int hf_020_V1_10_400_BIT8; static const value_string valstr_020_V1_10_400_BIT8[] = { { 0, "TU8/RU8 has NOT contributed to the target detection" }, { 1, "TU8/RU8 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_V1_10_400_BIT8 = { 1, 1.0, FIELD_PART_UINT, &hf_020_V1_10_400_BIT8, NULL }; static const FieldPart *I020_V1_10_400_PARTS[] = { &I020_V1_10_400_BIT1, &I020_V1_10_400_BIT2, &I020_V1_10_400_BIT3, &I020_V1_10_400_BIT4, &I020_V1_10_400_BIT5, &I020_V1_10_400_BIT6, &I020_V1_10_400_BIT7, &I020_V1_10_400_BIT8, NULL }; static const AsterixField I020_V1_10_400 = { REPETITIVE, 1, 1, 0, &hf_020_V1_10_400, I020_V1_10_400_PARTS, { NULL } }; static int hf_020_V1_10_500; static int hf_020_V1_10_500_DOP; static int hf_020_V1_10_500_DOP_X; static const FieldPart I020_V1_10_500_DOP_X = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_10_500_DOP_X, NULL }; static int hf_020_V1_10_500_DOP_Y; static const FieldPart I020_V1_10_500_DOP_Y = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_10_500_DOP_Y, NULL }; static int hf_020_V1_10_500_DOP_XY; static const FieldPart I020_V1_10_500_DOP_XY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_10_500_DOP_XY, NULL }; static const FieldPart *I020_V1_10_500_DOP_PARTS[] = { &I020_V1_10_500_DOP_X, &I020_V1_10_500_DOP_Y, &I020_V1_10_500_DOP_XY, NULL }; static const AsterixField I020_V1_10_500_DOP = { FIXED, 6, 0, 0, &hf_020_V1_10_500_DOP, I020_V1_10_500_DOP_PARTS, { NULL } }; static int hf_020_V1_10_500_SDP; static int hf_020_V1_10_500_SDP_X; static const FieldPart I020_V1_10_500_SDP_X = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_10_500_SDP_X, NULL }; static int hf_020_V1_10_500_SDP_Y; static const FieldPart I020_V1_10_500_SDP_Y = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_10_500_SDP_Y, NULL }; static int hf_020_V1_10_500_SDP_XY; static const FieldPart I020_V1_10_500_SDP_XY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_V1_10_500_SDP_XY, NULL }; static const FieldPart *I020_V1_10_500_SDP_PARTS[] = { &I020_V1_10_500_SDP_X, &I020_V1_10_500_SDP_Y, &I020_V1_10_500_SDP_XY, NULL }; static const AsterixField I020_V1_10_500_SDP = { FIXED, 6, 0, 0, &hf_020_V1_10_500_SDP, I020_V1_10_500_SDP_PARTS, { NULL } }; static int hf_020_V1_10_500_SDH; static int hf_020_V1_10_500_SDH_VALUE; static const FieldPart I020_V1_10_500_SDH_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_020_V1_10_500_SDH_VALUE, NULL }; static const FieldPart *I020_V1_10_500_SDH_PARTS[] = { &I020_V1_10_500_SDH_VALUE, NULL }; static const AsterixField I020_V1_10_500_SDH = { FIXED, 2, 0, 0, &hf_020_V1_10_500_SDH, I020_V1_10_500_SDH_PARTS, { NULL } }; static const AsterixField I020_V1_10_500 = { COMPOUND, 0, 0, 0, &hf_020_V1_10_500, NULL, { &I020_V1_10_500_DOP, &I020_V1_10_500_SDP, &I020_V1_10_500_SDH, NULL } }; static int hf_020_V1_10_RE; static const AsterixField I020_V1_10_RE = { EXP, 0, 0, 1, &hf_020_V1_10_RE, NULL, { NULL } }; static int hf_020_V1_10_SP; static const AsterixField I020_V1_10_SP = { EXP, 0, 0, 1, &hf_020_V1_10_SP, NULL, { NULL } }; /* Category 020, edition 1.10 (latest) */ static int hf_020_010; static int hf_020_010_SAC; static const FieldPart I020_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_020_010_SAC, NULL }; static int hf_020_010_SIC; static const FieldPart I020_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_020_010_SIC, NULL }; static const FieldPart *I020_010_PARTS[] = { &I020_010_SAC, &I020_010_SIC, NULL }; static const AsterixField I020_010 = { FIXED, 2, 0, 0, &hf_020_010, I020_010_PARTS, { NULL } }; static int hf_020_020; static int hf_020_020_SSR; static const value_string valstr_020_020_SSR[] = { { 0, "Non-Mode S 1090MHz multilateration" }, { 1, "No Non-Mode S 1090MHz multilat" }, { 0, NULL } }; static const FieldPart I020_020_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_SSR, NULL }; static int hf_020_020_MS; static const value_string valstr_020_020_MS[] = { { 0, "Mode-S 1090 MHz multilateration" }, { 1, "No Mode-S 1090 MHz multilateration" }, { 0, NULL } }; static const FieldPart I020_020_MS = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_MS, NULL }; static int hf_020_020_HF; static const value_string valstr_020_020_HF[] = { { 0, "HF multilateration" }, { 1, "No HF multilateration" }, { 0, NULL } }; static const FieldPart I020_020_HF = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_HF, NULL }; static int hf_020_020_VDL4; static const value_string valstr_020_020_VDL4[] = { { 0, "VDL Mode 4 multilateration" }, { 1, "No VDL Mode 4 multilateration" }, { 0, NULL } }; static const FieldPart I020_020_VDL4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_VDL4, NULL }; static int hf_020_020_UAT; static const value_string valstr_020_020_UAT[] = { { 0, "UAT multilateration" }, { 1, "No UAT multilateration" }, { 0, NULL } }; static const FieldPart I020_020_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_UAT, NULL }; static int hf_020_020_DME; static const value_string valstr_020_020_DME[] = { { 0, "DME/TACAN multilateration" }, { 1, "No DME/TACAN multilateration" }, { 0, NULL } }; static const FieldPart I020_020_DME = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_DME, NULL }; static int hf_020_020_OT; static const value_string valstr_020_020_OT[] = { { 0, "Other Technology Multilateration" }, { 1, "No Other Technology Multilateration" }, { 0, NULL } }; static const FieldPart I020_020_OT = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_OT, NULL }; static int hf_020_020_RAB; static const value_string valstr_020_020_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (element transponder)" }, { 0, NULL } }; static const FieldPart I020_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_RAB, NULL }; static int hf_020_020_SPI; static const value_string valstr_020_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I020_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_SPI, NULL }; static int hf_020_020_CHN; static const value_string valstr_020_020_CHN[] = { { 0, "Chain 1" }, { 1, "Chain 2" }, { 0, NULL } }; static const FieldPart I020_020_CHN = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_CHN, NULL }; static int hf_020_020_GBS; static const value_string valstr_020_020_GBS[] = { { 0, "Transponder Ground bit not set" }, { 1, "Transponder Ground bit set" }, { 0, NULL } }; static const FieldPart I020_020_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_GBS, NULL }; static int hf_020_020_CRT; static const value_string valstr_020_020_CRT[] = { { 0, "No Corrupted reply in multilateration" }, { 1, "Corrupted replies in multilateration" }, { 0, NULL } }; static const FieldPart I020_020_CRT = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_CRT, NULL }; static int hf_020_020_SIM; static const value_string valstr_020_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I020_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_SIM, NULL }; static int hf_020_020_TST; static const value_string valstr_020_020_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I020_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_TST, NULL }; static const FieldPart *I020_020_PARTS[] = { &I020_020_SSR, &I020_020_MS, &I020_020_HF, &I020_020_VDL4, &I020_020_UAT, &I020_020_DME, &I020_020_OT, &IXXX_FX, &I020_020_RAB, &I020_020_SPI, &I020_020_CHN, &I020_020_GBS, &I020_020_CRT, &I020_020_SIM, &I020_020_TST, &IXXX_FX, NULL }; static const AsterixField I020_020 = { FX, 1, 0, 0, &hf_020_020, I020_020_PARTS, { NULL } }; static int hf_020_030; static int hf_020_030_Subitem; static const value_string valstr_020_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 3, "Split plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 0, NULL } }; static const FieldPart I020_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_020_030_Subitem, NULL }; static const FieldPart *I020_030_PARTS[] = { &I020_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I020_030 = { FX, 1, 0, 0, &hf_020_030, I020_030_PARTS, { NULL } }; static int hf_020_041; static int hf_020_041_LAT; static const FieldPart I020_041_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_020_041_LAT, NULL }; static int hf_020_041_LON; static const FieldPart I020_041_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_020_041_LON, NULL }; static const FieldPart *I020_041_PARTS[] = { &I020_041_LAT, &I020_041_LON, NULL }; static const AsterixField I020_041 = { FIXED, 8, 0, 0, &hf_020_041, I020_041_PARTS, { NULL } }; static int hf_020_042; static int hf_020_042_X; static const FieldPart I020_042_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_020_042_X, NULL }; static int hf_020_042_Y; static const FieldPart I020_042_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_020_042_Y, NULL }; static const FieldPart *I020_042_PARTS[] = { &I020_042_X, &I020_042_Y, NULL }; static const AsterixField I020_042 = { FIXED, 6, 0, 0, &hf_020_042, I020_042_PARTS, { NULL } }; static int hf_020_050; static int hf_020_050_V; static const value_string valstr_020_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_050_V, NULL }; static int hf_020_050_G; static const value_string valstr_020_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_050_G, NULL }; static int hf_020_050_L; static const value_string valstr_020_050_L[] = { { 0, "Mode-2 code derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker n" }, { 0, NULL } }; static const FieldPart I020_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_050_L, NULL }; static int hf_020_050_MODE2; static const FieldPart I020_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_050_MODE2, NULL }; static const FieldPart *I020_050_PARTS[] = { &I020_050_V, &I020_050_G, &I020_050_L, &IXXX_1bit_spare, &I020_050_MODE2, NULL }; static const AsterixField I020_050 = { FIXED, 2, 0, 0, &hf_020_050, I020_050_PARTS, { NULL } }; static int hf_020_055; static int hf_020_055_V; static const value_string valstr_020_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_055_V, NULL }; static int hf_020_055_G; static const value_string valstr_020_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_055_G, NULL }; static int hf_020_055_L; static const value_string valstr_020_055_L[] = { { 0, "Mode-1 code derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I020_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_055_L, NULL }; static int hf_020_055_MODE1; static const FieldPart I020_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_020_055_MODE1, NULL }; static const FieldPart *I020_055_PARTS[] = { &I020_055_V, &I020_055_G, &I020_055_L, &I020_055_MODE1, NULL }; static const AsterixField I020_055 = { FIXED, 1, 0, 0, &hf_020_055, I020_055_PARTS, { NULL } }; static int hf_020_070; static int hf_020_070_V; static const value_string valstr_020_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_070_V, NULL }; static int hf_020_070_G; static const value_string valstr_020_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_070_G, NULL }; static int hf_020_070_L; static const value_string valstr_020_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last update period" }, { 0, NULL } }; static const FieldPart I020_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_070_L, NULL }; static int hf_020_070_MODE3A; static const FieldPart I020_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_070_MODE3A, NULL }; static const FieldPart *I020_070_PARTS[] = { &I020_070_V, &I020_070_G, &I020_070_L, &IXXX_1bit_spare, &I020_070_MODE3A, NULL }; static const AsterixField I020_070 = { FIXED, 2, 0, 0, &hf_020_070, I020_070_PARTS, { NULL } }; static int hf_020_090; static int hf_020_090_V; static const value_string valstr_020_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_090_V, NULL }; static int hf_020_090_G; static const value_string valstr_020_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_090_G, NULL }; static int hf_020_090_FL; static const FieldPart I020_090_FL = { 14, 0.25, FIELD_PART_FLOAT, &hf_020_090_FL, NULL }; static const FieldPart *I020_090_PARTS[] = { &I020_090_V, &I020_090_G, &I020_090_FL, NULL }; static const AsterixField I020_090 = { FIXED, 2, 0, 0, &hf_020_090, I020_090_PARTS, { NULL } }; static int hf_020_100; static int hf_020_100_V; static const value_string valstr_020_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I020_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_V, NULL }; static int hf_020_100_G; static const value_string valstr_020_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I020_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_G, NULL }; static int hf_020_100_MODEC; static const FieldPart I020_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_020_100_MODEC, NULL }; static int hf_020_100_QC1; static const value_string valstr_020_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I020_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QC1, NULL }; static int hf_020_100_QA1; static const value_string valstr_020_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I020_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QA1, NULL }; static int hf_020_100_QC2; static const value_string valstr_020_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I020_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QC2, NULL }; static int hf_020_100_QA2; static const value_string valstr_020_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I020_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QA2, NULL }; static int hf_020_100_QC4; static const value_string valstr_020_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I020_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QC4, NULL }; static int hf_020_100_QA4; static const value_string valstr_020_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I020_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QA4, NULL }; static int hf_020_100_QB1; static const value_string valstr_020_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I020_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QB1, NULL }; static int hf_020_100_QD1; static const value_string valstr_020_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I020_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QD1, NULL }; static int hf_020_100_QB2; static const value_string valstr_020_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I020_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QB2, NULL }; static int hf_020_100_QD2; static const value_string valstr_020_100_QD2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I020_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QD2, NULL }; static int hf_020_100_QB4; static const value_string valstr_020_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I020_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QB4, NULL }; static int hf_020_100_QD4; static const value_string valstr_020_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I020_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_QD4, NULL }; static const FieldPart *I020_100_PARTS[] = { &I020_100_V, &I020_100_G, &IXXX_2bit_spare, &I020_100_MODEC, &IXXX_4bit_spare, &I020_100_QC1, &I020_100_QA1, &I020_100_QC2, &I020_100_QA2, &I020_100_QC4, &I020_100_QA4, &I020_100_QB1, &I020_100_QD1, &I020_100_QB2, &I020_100_QD2, &I020_100_QB4, &I020_100_QD4, NULL }; static const AsterixField I020_100 = { FIXED, 4, 0, 0, &hf_020_100, I020_100_PARTS, { NULL } }; static int hf_020_105; static int hf_020_105_VALUE; static const FieldPart I020_105_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_105_VALUE, NULL }; static const FieldPart *I020_105_PARTS[] = { &I020_105_VALUE, NULL }; static const AsterixField I020_105 = { FIXED, 2, 0, 0, &hf_020_105, I020_105_PARTS, { NULL } }; static int hf_020_110; static int hf_020_110_VALUE; static const FieldPart I020_110_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_110_VALUE, NULL }; static const FieldPart *I020_110_PARTS[] = { &I020_110_VALUE, NULL }; static const AsterixField I020_110 = { FIXED, 2, 0, 0, &hf_020_110, I020_110_PARTS, { NULL } }; static int hf_020_140; static int hf_020_140_VALUE; static const FieldPart I020_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_020_140_VALUE, NULL }; static const FieldPart *I020_140_PARTS[] = { &I020_140_VALUE, NULL }; static const AsterixField I020_140 = { FIXED, 3, 0, 0, &hf_020_140, I020_140_PARTS, { NULL } }; static int hf_020_161; static int hf_020_161_TRN; static const FieldPart I020_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_020_161_TRN, NULL }; static const FieldPart *I020_161_PARTS[] = { &IXXX_4bit_spare, &I020_161_TRN, NULL }; static const AsterixField I020_161 = { FIXED, 2, 0, 0, &hf_020_161, I020_161_PARTS, { NULL } }; static int hf_020_170; static int hf_020_170_CNF; static const value_string valstr_020_170_CNF[] = { { 0, "Confirmed track" }, { 1, "Track in initiation phase" }, { 0, NULL } }; static const FieldPart I020_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_CNF, NULL }; static int hf_020_170_TRE; static const value_string valstr_020_170_TRE[] = { { 0, "Default" }, { 1, "Last report for a track" }, { 0, NULL } }; static const FieldPart I020_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_TRE, NULL }; static int hf_020_170_CST; static const value_string valstr_020_170_CST[] = { { 0, "Not Coasted" }, { 1, "Coasted" }, { 0, NULL } }; static const FieldPart I020_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_CST, NULL }; static int hf_020_170_CDM; static const value_string valstr_020_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I020_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_020_170_CDM, NULL }; static int hf_020_170_MAH; static const value_string valstr_020_170_MAH[] = { { 0, "Default" }, { 1, "Horizontal manoeuvre" }, { 0, NULL } }; static const FieldPart I020_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_MAH, NULL }; static int hf_020_170_STH; static const value_string valstr_020_170_STH[] = { { 0, "Measured position" }, { 1, "Smoothed position" }, { 0, NULL } }; static const FieldPart I020_170_STH = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_STH, NULL }; static int hf_020_170_GHO; static const value_string valstr_020_170_GHO[] = { { 0, "Default" }, { 1, "Ghost track" }, { 0, NULL } }; static const FieldPart I020_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_GHO, NULL }; static const FieldPart *I020_170_PARTS[] = { &I020_170_CNF, &I020_170_TRE, &I020_170_CST, &I020_170_CDM, &I020_170_MAH, &I020_170_STH, &IXXX_FX, &I020_170_GHO, &IXXX_6bit_spare, &IXXX_FX, NULL }; static const AsterixField I020_170 = { FX, 1, 0, 0, &hf_020_170, I020_170_PARTS, { NULL } }; static int hf_020_202; static int hf_020_202_VX; static const FieldPart I020_202_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_202_VX, NULL }; static int hf_020_202_VY; static const FieldPart I020_202_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_202_VY, NULL }; static const FieldPart *I020_202_PARTS[] = { &I020_202_VX, &I020_202_VY, NULL }; static const AsterixField I020_202 = { FIXED, 4, 0, 0, &hf_020_202, I020_202_PARTS, { NULL } }; static int hf_020_210; static int hf_020_210_AX; static const FieldPart I020_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_020_210_AX, NULL }; static int hf_020_210_AY; static const FieldPart I020_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_020_210_AY, NULL }; static const FieldPart *I020_210_PARTS[] = { &I020_210_AX, &I020_210_AY, NULL }; static const AsterixField I020_210 = { FIXED, 2, 0, 0, &hf_020_210, I020_210_PARTS, { NULL } }; static int hf_020_220; static int hf_020_220_VALUE; static const FieldPart I020_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_020_220_VALUE, NULL }; static const FieldPart *I020_220_PARTS[] = { &I020_220_VALUE, NULL }; static const AsterixField I020_220 = { FIXED, 3, 0, 0, &hf_020_220, I020_220_PARTS, { NULL } }; static int hf_020_230; static int hf_020_230_COM; static const value_string valstr_020_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I020_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_020_230_COM, NULL }; static int hf_020_230_STAT; static const value_string valstr_020_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "Not assigned" }, { 7, "Information not yet extracted" }, { 0, NULL } }; static const FieldPart I020_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_020_230_STAT, NULL }; static int hf_020_230_MSSC; static const value_string valstr_020_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I020_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_020_230_MSSC, NULL }; static int hf_020_230_ARC; static const value_string valstr_020_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I020_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_020_230_ARC, NULL }; static int hf_020_230_AIC; static const value_string valstr_020_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I020_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_020_230_AIC, NULL }; static int hf_020_230_B1A; static const FieldPart I020_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_020_230_B1A, NULL }; static int hf_020_230_B1B; static const FieldPart I020_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_020_230_B1B, NULL }; static const FieldPart *I020_230_PARTS[] = { &I020_230_COM, &I020_230_STAT, &IXXX_2bit_spare, &I020_230_MSSC, &I020_230_ARC, &I020_230_AIC, &I020_230_B1A, &I020_230_B1B, NULL }; static const AsterixField I020_230 = { FIXED, 2, 0, 0, &hf_020_230, I020_230_PARTS, { NULL } }; static int hf_020_245; static int hf_020_245_STI; static const value_string valstr_020_245_STI[] = { { 0, "Callsign or registration not downlinked from transponder" }, { 1, "Registration downlinked from transponder" }, { 2, "Callsign downlinked from transponder" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I020_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_020_245_STI, NULL }; static int hf_020_245_CHR; static const FieldPart I020_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_020_245_CHR, NULL }; static const FieldPart *I020_245_PARTS[] = { &I020_245_STI, &IXXX_6bit_spare, &I020_245_CHR, NULL }; static const AsterixField I020_245 = { FIXED, 7, 0, 0, &hf_020_245, I020_245_PARTS, { NULL } }; static int hf_020_250; static int hf_020_250_MBDATA; static const FieldPart I020_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_020_250_MBDATA, NULL }; static int hf_020_250_BDS1; static const FieldPart I020_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_020_250_BDS1, NULL }; static int hf_020_250_BDS2; static const FieldPart I020_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_020_250_BDS2, NULL }; static const FieldPart *I020_250_PARTS[] = { &I020_250_MBDATA, &I020_250_BDS1, &I020_250_BDS2, NULL }; static const AsterixField I020_250 = { REPETITIVE, 8, 1, 0, &hf_020_250, I020_250_PARTS, { NULL } }; static int hf_020_260; static int hf_020_260_VALUE; static const FieldPart I020_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_020_260_VALUE, NULL }; static const FieldPart *I020_260_PARTS[] = { &I020_260_VALUE, NULL }; static const AsterixField I020_260 = { FIXED, 7, 0, 0, &hf_020_260, I020_260_PARTS, { NULL } }; static int hf_020_300; static int hf_020_300_VALUE; static const value_string valstr_020_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I020_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_020_300_VALUE, NULL }; static const FieldPart *I020_300_PARTS[] = { &I020_300_VALUE, NULL }; static const AsterixField I020_300 = { FIXED, 1, 0, 0, &hf_020_300, I020_300_PARTS, { NULL } }; static int hf_020_310; static int hf_020_310_TRB; static const value_string valstr_020_310_TRB[] = { { 0, "Default" }, { 1, "In Trouble" }, { 0, NULL } }; static const FieldPart I020_310_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_020_310_TRB, NULL }; static int hf_020_310_MSG; static const value_string valstr_020_310_MSG[] = { { 1, "Towing aircraft" }, { 2, "FOLLOW-ME operation" }, { 3, "Runway check" }, { 4, "Emergency operation (fire, medical...)" }, { 5, "Work in progress (maintenance, birds scarer, sweepers...)" }, { 0, NULL } }; static const FieldPart I020_310_MSG = { 7, 1.0, FIELD_PART_UINT, &hf_020_310_MSG, NULL }; static const FieldPart *I020_310_PARTS[] = { &I020_310_TRB, &I020_310_MSG, NULL }; static const AsterixField I020_310 = { FIXED, 1, 0, 0, &hf_020_310, I020_310_PARTS, { NULL } }; static int hf_020_400; static int hf_020_400_BIT1; static const value_string valstr_020_400_BIT1[] = { { 0, "TU1/RU1 has NOT contributed to the target detection" }, { 1, "TU1/RU1 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT1, NULL }; static int hf_020_400_BIT2; static const value_string valstr_020_400_BIT2[] = { { 0, "TU2/RU2 has NOT contributed to the target detection" }, { 1, "TU2/RU2 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT2, NULL }; static int hf_020_400_BIT3; static const value_string valstr_020_400_BIT3[] = { { 0, "TU3/RU3 has NOT contributed to the target detection" }, { 1, "TU3/RU3 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT3 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT3, NULL }; static int hf_020_400_BIT4; static const value_string valstr_020_400_BIT4[] = { { 0, "TU4/RU4 has NOT contributed to the target detection" }, { 1, "TU4/RU4 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT4, NULL }; static int hf_020_400_BIT5; static const value_string valstr_020_400_BIT5[] = { { 0, "TU5/RU5 has NOT contributed to the target detection" }, { 1, "TU5/RU5 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT5 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT5, NULL }; static int hf_020_400_BIT6; static const value_string valstr_020_400_BIT6[] = { { 0, "TU6/RU6 has NOT contributed to the target detection" }, { 1, "TU6/RU6 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT6 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT6, NULL }; static int hf_020_400_BIT7; static const value_string valstr_020_400_BIT7[] = { { 0, "TU7/RU7 has NOT contributed to the target detection" }, { 1, "TU7/RU7 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT7 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT7, NULL }; static int hf_020_400_BIT8; static const value_string valstr_020_400_BIT8[] = { { 0, "TU8/RU8 has NOT contributed to the target detection" }, { 1, "TU8/RU8 has contributed to the target detection" }, { 0, NULL } }; static const FieldPart I020_400_BIT8 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_BIT8, NULL }; static const FieldPart *I020_400_PARTS[] = { &I020_400_BIT1, &I020_400_BIT2, &I020_400_BIT3, &I020_400_BIT4, &I020_400_BIT5, &I020_400_BIT6, &I020_400_BIT7, &I020_400_BIT8, NULL }; static const AsterixField I020_400 = { REPETITIVE, 1, 1, 0, &hf_020_400, I020_400_PARTS, { NULL } }; static int hf_020_500; static int hf_020_500_DOP; static int hf_020_500_DOP_X; static const FieldPart I020_500_DOP_X = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_DOP_X, NULL }; static int hf_020_500_DOP_Y; static const FieldPart I020_500_DOP_Y = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_DOP_Y, NULL }; static int hf_020_500_DOP_XY; static const FieldPart I020_500_DOP_XY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_DOP_XY, NULL }; static const FieldPart *I020_500_DOP_PARTS[] = { &I020_500_DOP_X, &I020_500_DOP_Y, &I020_500_DOP_XY, NULL }; static const AsterixField I020_500_DOP = { FIXED, 6, 0, 0, &hf_020_500_DOP, I020_500_DOP_PARTS, { NULL } }; static int hf_020_500_SDP; static int hf_020_500_SDP_X; static const FieldPart I020_500_SDP_X = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_SDP_X, NULL }; static int hf_020_500_SDP_Y; static const FieldPart I020_500_SDP_Y = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_SDP_Y, NULL }; static int hf_020_500_SDP_XY; static const FieldPart I020_500_SDP_XY = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_SDP_XY, NULL }; static const FieldPart *I020_500_SDP_PARTS[] = { &I020_500_SDP_X, &I020_500_SDP_Y, &I020_500_SDP_XY, NULL }; static const AsterixField I020_500_SDP = { FIXED, 6, 0, 0, &hf_020_500_SDP, I020_500_SDP_PARTS, { NULL } }; static int hf_020_500_SDH; static int hf_020_500_SDH_VALUE; static const FieldPart I020_500_SDH_VALUE = { 16, 0.5, FIELD_PART_UFLOAT, &hf_020_500_SDH_VALUE, NULL }; static const FieldPart *I020_500_SDH_PARTS[] = { &I020_500_SDH_VALUE, NULL }; static const AsterixField I020_500_SDH = { FIXED, 2, 0, 0, &hf_020_500_SDH, I020_500_SDH_PARTS, { NULL } }; static const AsterixField I020_500 = { COMPOUND, 0, 0, 0, &hf_020_500, NULL, { &I020_500_DOP, &I020_500_SDP, &I020_500_SDH, NULL } }; static int hf_020_RE; static const AsterixField I020_RE = { EXP, 0, 0, 1, &hf_020_RE, NULL, { NULL } }; static int hf_020_SP; static const AsterixField I020_SP = { EXP, 0, 0, 1, &hf_020_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I020_V1_10_uap[] = { &I020_V1_10_010, &I020_V1_10_020, &I020_V1_10_140, &I020_V1_10_041, &I020_V1_10_042, &I020_V1_10_161, &I020_V1_10_170, &I020_V1_10_070, &I020_V1_10_202, &I020_V1_10_090, &I020_V1_10_100, &I020_V1_10_220, &I020_V1_10_245, &I020_V1_10_110, &I020_V1_10_105, &I020_V1_10_210, &I020_V1_10_300, &I020_V1_10_310, &I020_V1_10_500, &I020_V1_10_400, &I020_V1_10_250, &I020_V1_10_230, &I020_V1_10_260, &I020_V1_10_030, &I020_V1_10_055, &I020_V1_10_050, &I020_V1_10_RE, &I020_V1_10_SP, NULL }; static const AsterixField **I020_V1_10[] = { I020_V1_10_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I020_uap[] = { &I020_010, &I020_020, &I020_140, &I020_041, &I020_042, &I020_161, &I020_170, &I020_070, &I020_202, &I020_090, &I020_100, &I020_220, &I020_245, &I020_110, &I020_105, &I020_210, &I020_300, &I020_310, &I020_500, &I020_400, &I020_250, &I020_230, &I020_260, &I020_030, &I020_055, &I020_050, &I020_RE, &I020_SP, NULL }; static const AsterixField **I020[] = { I020_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 0.23 */ static int hf_021_V0_23_010; static int hf_021_V0_23_010_SAC; static const FieldPart I021_V0_23_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_23_010_SAC, NULL }; static int hf_021_V0_23_010_SIC; static const FieldPart I021_V0_23_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_23_010_SIC, NULL }; static const FieldPart *I021_V0_23_010_PARTS[] = { &I021_V0_23_010_SAC, &I021_V0_23_010_SIC, NULL }; static const AsterixField I021_V0_23_010 = { FIXED, 2, 0, 0, &hf_021_V0_23_010, I021_V0_23_010_PARTS, { NULL } }; static int hf_021_V0_23_020; static int hf_021_V0_23_020_VALUE; static const value_string valstr_021_V0_23_020_VALUE[] = { { 1, "Light aircraft <= 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < Medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= Heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V0_23_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_23_020_VALUE, NULL }; static const FieldPart *I021_V0_23_020_PARTS[] = { &I021_V0_23_020_VALUE, NULL }; static const AsterixField I021_V0_23_020 = { FIXED, 1, 0, 0, &hf_021_V0_23_020, I021_V0_23_020_PARTS, { NULL } }; static int hf_021_V0_23_030; static int hf_021_V0_23_030_VALUE; static const FieldPart I021_V0_23_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V0_23_030_VALUE, NULL }; static const FieldPart *I021_V0_23_030_PARTS[] = { &I021_V0_23_030_VALUE, NULL }; static const AsterixField I021_V0_23_030 = { FIXED, 3, 0, 0, &hf_021_V0_23_030, I021_V0_23_030_PARTS, { NULL } }; static int hf_021_V0_23_032; static int hf_021_V0_23_032_VALUE; static const FieldPart I021_V0_23_032_VALUE = { 8, 0.00390625, FIELD_PART_UFLOAT, &hf_021_V0_23_032_VALUE, NULL }; static const FieldPart *I021_V0_23_032_PARTS[] = { &I021_V0_23_032_VALUE, NULL }; static const AsterixField I021_V0_23_032 = { FIXED, 1, 0, 0, &hf_021_V0_23_032, I021_V0_23_032_PARTS, { NULL } }; static int hf_021_V0_23_040; static int hf_021_V0_23_040_DCR; static const value_string valstr_021_V0_23_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_DCR, NULL }; static int hf_021_V0_23_040_GBS; static const value_string valstr_021_V0_23_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_GBS, NULL }; static int hf_021_V0_23_040_SIM; static const value_string valstr_021_V0_23_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_SIM, NULL }; static int hf_021_V0_23_040_TST; static const value_string valstr_021_V0_23_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_TST, NULL }; static int hf_021_V0_23_040_RAB; static const value_string valstr_021_V0_23_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_RAB, NULL }; static int hf_021_V0_23_040_SAA; static const value_string valstr_021_V0_23_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_SAA, NULL }; static int hf_021_V0_23_040_SPI; static const value_string valstr_021_V0_23_040_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_SPI, NULL }; static int hf_021_V0_23_040_ATP; static const value_string valstr_021_V0_23_040_ATP[] = { { 0, "Non unique address" }, { 1, "24-Bit ICAO address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_ATP, NULL }; static int hf_021_V0_23_040_ARC; static const value_string valstr_021_V0_23_040_ARC[] = { { 0, "Unknown" }, { 1, "25 ft" }, { 2, "100 ft" }, { 0, NULL } }; static const FieldPart I021_V0_23_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_23_040_ARC, NULL }; static const FieldPart *I021_V0_23_040_PARTS[] = { &I021_V0_23_040_DCR, &I021_V0_23_040_GBS, &I021_V0_23_040_SIM, &I021_V0_23_040_TST, &I021_V0_23_040_RAB, &I021_V0_23_040_SAA, &I021_V0_23_040_SPI, &IXXX_1bit_spare, &I021_V0_23_040_ATP, &I021_V0_23_040_ARC, &IXXX_3bit_spare, NULL }; static const AsterixField I021_V0_23_040 = { FIXED, 2, 0, 0, &hf_021_V0_23_040, I021_V0_23_040_PARTS, { NULL } }; static int hf_021_V0_23_080; static int hf_021_V0_23_080_VALUE; static const FieldPart I021_V0_23_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V0_23_080_VALUE, NULL }; static const FieldPart *I021_V0_23_080_PARTS[] = { &I021_V0_23_080_VALUE, NULL }; static const AsterixField I021_V0_23_080 = { FIXED, 3, 0, 0, &hf_021_V0_23_080, I021_V0_23_080_PARTS, { NULL } }; static int hf_021_V0_23_090; static int hf_021_V0_23_090_AC; static const value_string valstr_021_V0_23_090_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_23_090_AC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_23_090_AC, NULL }; static int hf_021_V0_23_090_MN; static const value_string valstr_021_V0_23_090_MN[] = { { 0, "Unknown" }, { 1, "Multiple Navigation not operational" }, { 2, "Multiple Navigation operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_23_090_MN = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_23_090_MN, NULL }; static int hf_021_V0_23_090_DC; static const value_string valstr_021_V0_23_090_DC[] = { { 0, "Unknown" }, { 1, "Differencial Correction" }, { 2, "NO Differencial Correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_23_090_DC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_23_090_DC, NULL }; static int hf_021_V0_23_090_PA; static const FieldPart I021_V0_23_090_PA = { 4, 1.0, FIELD_PART_FLOAT, &hf_021_V0_23_090_PA, NULL }; static const FieldPart *I021_V0_23_090_PARTS[] = { &I021_V0_23_090_AC, &I021_V0_23_090_MN, &I021_V0_23_090_DC, &IXXX_6bit_spare, &I021_V0_23_090_PA, NULL }; static const AsterixField I021_V0_23_090 = { FIXED, 2, 0, 0, &hf_021_V0_23_090, I021_V0_23_090_PARTS, { NULL } }; static int hf_021_V0_23_095; static int hf_021_V0_23_095_VALUE; static const FieldPart I021_V0_23_095_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_23_095_VALUE, NULL }; static const FieldPart *I021_V0_23_095_PARTS[] = { &I021_V0_23_095_VALUE, NULL }; static const AsterixField I021_V0_23_095 = { FIXED, 1, 0, 0, &hf_021_V0_23_095, I021_V0_23_095_PARTS, { NULL } }; static int hf_021_V0_23_110; static int hf_021_V0_23_110_TIS; static int hf_021_V0_23_110_TIS_NAV; static const value_string valstr_021_V0_23_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TIS_NAV, NULL }; static int hf_021_V0_23_110_TIS_NVB; static const value_string valstr_021_V0_23_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TIS_NVB, NULL }; static const FieldPart *I021_V0_23_110_TIS_PARTS[] = { &I021_V0_23_110_TIS_NAV, &I021_V0_23_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V0_23_110_TIS = { FX, 1, 0, 0, &hf_021_V0_23_110_TIS, I021_V0_23_110_TIS_PARTS, { NULL } }; static int hf_021_V0_23_110_TID; static int hf_021_V0_23_110_TID_TCA; static const value_string valstr_021_V0_23_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TID_TCA, NULL }; static int hf_021_V0_23_110_TID_NC; static const value_string valstr_021_V0_23_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TID_NC, NULL }; static int hf_021_V0_23_110_TID_TCPN; static const FieldPart I021_V0_23_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V0_23_110_TID_TCPN, NULL }; static int hf_021_V0_23_110_TID_ALT; static const FieldPart I021_V0_23_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V0_23_110_TID_ALT, NULL }; static int hf_021_V0_23_110_TID_LAT; static const FieldPart I021_V0_23_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_23_110_TID_LAT, NULL }; static int hf_021_V0_23_110_TID_LON; static const FieldPart I021_V0_23_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_23_110_TID_LON, NULL }; static int hf_021_V0_23_110_TID_PT; static const value_string valstr_021_V0_23_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TID_PT, NULL }; static int hf_021_V0_23_110_TID_TD; static const value_string valstr_021_V0_23_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TID_TD, NULL }; static int hf_021_V0_23_110_TID_TRA; static const value_string valstr_021_V0_23_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TID_TRA, NULL }; static int hf_021_V0_23_110_TID_TOA; static const value_string valstr_021_V0_23_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V0_23_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_110_TID_TOA, NULL }; static int hf_021_V0_23_110_TID_TOV; static const FieldPart I021_V0_23_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_23_110_TID_TOV, NULL }; static int hf_021_V0_23_110_TID_TTR; static const FieldPart I021_V0_23_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V0_23_110_TID_TTR, NULL }; static const FieldPart *I021_V0_23_110_TID_PARTS[] = { &I021_V0_23_110_TID_TCA, &I021_V0_23_110_TID_NC, &I021_V0_23_110_TID_TCPN, &I021_V0_23_110_TID_ALT, &I021_V0_23_110_TID_LAT, &I021_V0_23_110_TID_LON, &I021_V0_23_110_TID_PT, &I021_V0_23_110_TID_TD, &I021_V0_23_110_TID_TRA, &I021_V0_23_110_TID_TOA, &I021_V0_23_110_TID_TOV, &I021_V0_23_110_TID_TTR, NULL }; static const AsterixField I021_V0_23_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V0_23_110_TID, I021_V0_23_110_TID_PARTS, { NULL } }; static const AsterixField I021_V0_23_110 = { COMPOUND, 0, 0, 0, &hf_021_V0_23_110, NULL, { &I021_V0_23_110_TIS, &I021_V0_23_110_TID, NULL } }; static int hf_021_V0_23_130; static int hf_021_V0_23_130_LAT; static const FieldPart I021_V0_23_130_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_23_130_LAT, NULL }; static int hf_021_V0_23_130_LON; static const FieldPart I021_V0_23_130_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_23_130_LON, NULL }; static const FieldPart *I021_V0_23_130_PARTS[] = { &I021_V0_23_130_LAT, &I021_V0_23_130_LON, NULL }; static const AsterixField I021_V0_23_130 = { FIXED, 6, 0, 0, &hf_021_V0_23_130, I021_V0_23_130_PARTS, { NULL } }; static int hf_021_V0_23_140; static int hf_021_V0_23_140_VALUE; static const FieldPart I021_V0_23_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_23_140_VALUE, NULL }; static const FieldPart *I021_V0_23_140_PARTS[] = { &I021_V0_23_140_VALUE, NULL }; static const AsterixField I021_V0_23_140 = { FIXED, 2, 0, 0, &hf_021_V0_23_140, I021_V0_23_140_PARTS, { NULL } }; static int hf_021_V0_23_145; static int hf_021_V0_23_145_VALUE; static const FieldPart I021_V0_23_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_23_145_VALUE, NULL }; static const FieldPart *I021_V0_23_145_PARTS[] = { &I021_V0_23_145_VALUE, NULL }; static const AsterixField I021_V0_23_145 = { FIXED, 2, 0, 0, &hf_021_V0_23_145, I021_V0_23_145_PARTS, { NULL } }; static int hf_021_V0_23_146; static int hf_021_V0_23_146_SAS; static const value_string valstr_021_V0_23_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V0_23_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_146_SAS, NULL }; static int hf_021_V0_23_146_SRC; static const value_string valstr_021_V0_23_146_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_23_146_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_23_146_SRC, NULL }; static int hf_021_V0_23_146_ALT; static const FieldPart I021_V0_23_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_23_146_ALT, NULL }; static const FieldPart *I021_V0_23_146_PARTS[] = { &I021_V0_23_146_SAS, &I021_V0_23_146_SRC, &I021_V0_23_146_ALT, NULL }; static const AsterixField I021_V0_23_146 = { FIXED, 2, 0, 0, &hf_021_V0_23_146, I021_V0_23_146_PARTS, { NULL } }; static int hf_021_V0_23_148; static int hf_021_V0_23_148_MV; static const value_string valstr_021_V0_23_148_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_23_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_148_MV, NULL }; static int hf_021_V0_23_148_AH; static const value_string valstr_021_V0_23_148_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_23_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_148_AH, NULL }; static int hf_021_V0_23_148_AM; static const value_string valstr_021_V0_23_148_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_23_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_148_AM, NULL }; static int hf_021_V0_23_148_ALT; static const FieldPart I021_V0_23_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_23_148_ALT, NULL }; static const FieldPart *I021_V0_23_148_PARTS[] = { &I021_V0_23_148_MV, &I021_V0_23_148_AH, &I021_V0_23_148_AM, &I021_V0_23_148_ALT, NULL }; static const AsterixField I021_V0_23_148 = { FIXED, 2, 0, 0, &hf_021_V0_23_148, I021_V0_23_148_PARTS, { NULL } }; static int hf_021_V0_23_150; static int hf_021_V0_23_150_IM; static const value_string valstr_021_V0_23_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V0_23_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_150_IM, NULL }; static int hf_021_V0_23_150_AS; static const FieldPart I021_V0_23_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V0_23_150_AS, NULL }; static const FieldPart *I021_V0_23_150_PARTS[] = { &I021_V0_23_150_IM, &I021_V0_23_150_AS, NULL }; static const AsterixField I021_V0_23_150 = { FIXED, 2, 0, 0, &hf_021_V0_23_150, I021_V0_23_150_PARTS, { NULL } }; static int hf_021_V0_23_151; static int hf_021_V0_23_151_VALUE; static const FieldPart I021_V0_23_151_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_23_151_VALUE, NULL }; static const FieldPart *I021_V0_23_151_PARTS[] = { &I021_V0_23_151_VALUE, NULL }; static const AsterixField I021_V0_23_151 = { FIXED, 2, 0, 0, &hf_021_V0_23_151, I021_V0_23_151_PARTS, { NULL } }; static int hf_021_V0_23_152; static int hf_021_V0_23_152_VALUE; static const FieldPart I021_V0_23_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_23_152_VALUE, NULL }; static const FieldPart *I021_V0_23_152_PARTS[] = { &I021_V0_23_152_VALUE, NULL }; static const AsterixField I021_V0_23_152 = { FIXED, 2, 0, 0, &hf_021_V0_23_152, I021_V0_23_152_PARTS, { NULL } }; static int hf_021_V0_23_155; static int hf_021_V0_23_155_VALUE; static const FieldPart I021_V0_23_155_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_23_155_VALUE, NULL }; static const FieldPart *I021_V0_23_155_PARTS[] = { &I021_V0_23_155_VALUE, NULL }; static const AsterixField I021_V0_23_155 = { FIXED, 2, 0, 0, &hf_021_V0_23_155, I021_V0_23_155_PARTS, { NULL } }; static int hf_021_V0_23_157; static int hf_021_V0_23_157_VALUE; static const FieldPart I021_V0_23_157_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_23_157_VALUE, NULL }; static const FieldPart *I021_V0_23_157_PARTS[] = { &I021_V0_23_157_VALUE, NULL }; static const AsterixField I021_V0_23_157 = { FIXED, 2, 0, 0, &hf_021_V0_23_157, I021_V0_23_157_PARTS, { NULL } }; static int hf_021_V0_23_160; static int hf_021_V0_23_160_GS; static const FieldPart I021_V0_23_160_GS = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_021_V0_23_160_GS, NULL }; static int hf_021_V0_23_160_TA; static const FieldPart I021_V0_23_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_23_160_TA, NULL }; static const FieldPart *I021_V0_23_160_PARTS[] = { &I021_V0_23_160_GS, &I021_V0_23_160_TA, NULL }; static const AsterixField I021_V0_23_160 = { FIXED, 4, 0, 0, &hf_021_V0_23_160, I021_V0_23_160_PARTS, { NULL } }; static int hf_021_V0_23_165; static int hf_021_V0_23_165_TI; static const value_string valstr_021_V0_23_165_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I021_V0_23_165_TI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_23_165_TI, NULL }; static int hf_021_V0_23_165_ROT; static const FieldPart I021_V0_23_165_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_021_V0_23_165_ROT, NULL }; static const FieldPart *I021_V0_23_165_PARTS[] = { &I021_V0_23_165_TI, &IXXX_5bit_spare, &IXXX_FX, &I021_V0_23_165_ROT, &IXXX_FX, NULL }; static const AsterixField I021_V0_23_165 = { FX, 1, 0, 0, &hf_021_V0_23_165, I021_V0_23_165_PARTS, { NULL } }; static int hf_021_V0_23_170; static int hf_021_V0_23_170_VALUE; static const FieldPart I021_V0_23_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V0_23_170_VALUE, NULL }; static const FieldPart *I021_V0_23_170_PARTS[] = { &I021_V0_23_170_VALUE, NULL }; static const AsterixField I021_V0_23_170 = { FIXED, 6, 0, 0, &hf_021_V0_23_170, I021_V0_23_170_PARTS, { NULL } }; static int hf_021_V0_23_200; static int hf_021_V0_23_200_VALUE; static const value_string valstr_021_V0_23_200_VALUE[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 0, NULL } }; static const FieldPart I021_V0_23_200_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_23_200_VALUE, NULL }; static const FieldPart *I021_V0_23_200_PARTS[] = { &I021_V0_23_200_VALUE, NULL }; static const AsterixField I021_V0_23_200 = { FIXED, 1, 0, 0, &hf_021_V0_23_200, I021_V0_23_200_PARTS, { NULL } }; static int hf_021_V0_23_210; static int hf_021_V0_23_210_DTI; static const value_string valstr_021_V0_23_210_DTI[] = { { 0, "Unknown" }, { 1, "Aircraft equiped with CDTI" }, { 0, NULL } }; static const FieldPart I021_V0_23_210_DTI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_210_DTI, NULL }; static int hf_021_V0_23_210_MDS; static const value_string valstr_021_V0_23_210_MDS[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_23_210_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_210_MDS, NULL }; static int hf_021_V0_23_210_UAT; static const value_string valstr_021_V0_23_210_UAT[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_23_210_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_210_UAT, NULL }; static int hf_021_V0_23_210_VDL; static const value_string valstr_021_V0_23_210_VDL[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_23_210_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_210_VDL, NULL }; static int hf_021_V0_23_210_OTR; static const value_string valstr_021_V0_23_210_OTR[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_23_210_OTR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_23_210_OTR, NULL }; static const FieldPart *I021_V0_23_210_PARTS[] = { &IXXX_3bit_spare, &I021_V0_23_210_DTI, &I021_V0_23_210_MDS, &I021_V0_23_210_UAT, &I021_V0_23_210_VDL, &I021_V0_23_210_OTR, NULL }; static const AsterixField I021_V0_23_210 = { FIXED, 1, 0, 0, &hf_021_V0_23_210, I021_V0_23_210_PARTS, { NULL } }; static int hf_021_V0_23_220; static int hf_021_V0_23_220_WS; static int hf_021_V0_23_220_WS_VALUE; static const FieldPart I021_V0_23_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_23_220_WS_VALUE, NULL }; static const FieldPart *I021_V0_23_220_WS_PARTS[] = { &I021_V0_23_220_WS_VALUE, NULL }; static const AsterixField I021_V0_23_220_WS = { FIXED, 2, 0, 0, &hf_021_V0_23_220_WS, I021_V0_23_220_WS_PARTS, { NULL } }; static int hf_021_V0_23_220_WD; static int hf_021_V0_23_220_WD_VALUE; static const FieldPart I021_V0_23_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_23_220_WD_VALUE, NULL }; static const FieldPart *I021_V0_23_220_WD_PARTS[] = { &I021_V0_23_220_WD_VALUE, NULL }; static const AsterixField I021_V0_23_220_WD = { FIXED, 2, 0, 0, &hf_021_V0_23_220_WD, I021_V0_23_220_WD_PARTS, { NULL } }; static int hf_021_V0_23_220_TMP; static int hf_021_V0_23_220_TMP_VALUE; static const FieldPart I021_V0_23_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_23_220_TMP_VALUE, NULL }; static const FieldPart *I021_V0_23_220_TMP_PARTS[] = { &I021_V0_23_220_TMP_VALUE, NULL }; static const AsterixField I021_V0_23_220_TMP = { FIXED, 2, 0, 0, &hf_021_V0_23_220_TMP, I021_V0_23_220_TMP_PARTS, { NULL } }; static int hf_021_V0_23_220_TRB; static int hf_021_V0_23_220_TRB_VALUE; static const FieldPart I021_V0_23_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_23_220_TRB_VALUE, NULL }; static const FieldPart *I021_V0_23_220_TRB_PARTS[] = { &I021_V0_23_220_TRB_VALUE, NULL }; static const AsterixField I021_V0_23_220_TRB = { FIXED, 1, 0, 0, &hf_021_V0_23_220_TRB, I021_V0_23_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V0_23_220 = { COMPOUND, 0, 0, 0, &hf_021_V0_23_220, NULL, { &I021_V0_23_220_WS, &I021_V0_23_220_WD, &I021_V0_23_220_TMP, &I021_V0_23_220_TRB, NULL } }; static int hf_021_V0_23_230; static int hf_021_V0_23_230_VALUE; static const FieldPart I021_V0_23_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V0_23_230_VALUE, NULL }; static const FieldPart *I021_V0_23_230_PARTS[] = { &I021_V0_23_230_VALUE, NULL }; static const AsterixField I021_V0_23_230 = { FIXED, 2, 0, 0, &hf_021_V0_23_230, I021_V0_23_230_PARTS, { NULL } }; static int hf_021_V0_23_RE; static const AsterixField I021_V0_23_RE = { EXP, 0, 0, 1, &hf_021_V0_23_RE, NULL, { NULL } }; static int hf_021_V0_23_SP; static const AsterixField I021_V0_23_SP = { EXP, 0, 0, 1, &hf_021_V0_23_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V0_23_uap[] = { &I021_V0_23_010, &I021_V0_23_040, &I021_V0_23_030, &I021_V0_23_130, &I021_V0_23_080, &I021_V0_23_140, &I021_V0_23_090, &I021_V0_23_210, &I021_V0_23_230, &I021_V0_23_145, &I021_V0_23_150, &I021_V0_23_151, &I021_V0_23_152, &I021_V0_23_155, &I021_V0_23_157, &I021_V0_23_160, &I021_V0_23_165, &I021_V0_23_170, &I021_V0_23_095, &I021_V0_23_032, &I021_V0_23_200, &I021_V0_23_020, &I021_V0_23_220, &I021_V0_23_146, &I021_V0_23_148, &I021_V0_23_110, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V0_23_RE, &I021_V0_23_SP, NULL }; static const AsterixField **I021_V0_23[] = { I021_V0_23_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 0.24 */ static int hf_021_V0_24_010; static int hf_021_V0_24_010_SAC; static const FieldPart I021_V0_24_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_24_010_SAC, NULL }; static int hf_021_V0_24_010_SIC; static const FieldPart I021_V0_24_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_24_010_SIC, NULL }; static const FieldPart *I021_V0_24_010_PARTS[] = { &I021_V0_24_010_SAC, &I021_V0_24_010_SIC, NULL }; static const AsterixField I021_V0_24_010 = { FIXED, 2, 0, 0, &hf_021_V0_24_010, I021_V0_24_010_PARTS, { NULL } }; static int hf_021_V0_24_020; static int hf_021_V0_24_020_VALUE; static const value_string valstr_021_V0_24_020_VALUE[] = { { 1, "Light aircraft <= 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < Medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= Heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V0_24_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_24_020_VALUE, NULL }; static const FieldPart *I021_V0_24_020_PARTS[] = { &I021_V0_24_020_VALUE, NULL }; static const AsterixField I021_V0_24_020 = { FIXED, 1, 0, 0, &hf_021_V0_24_020, I021_V0_24_020_PARTS, { NULL } }; static int hf_021_V0_24_030; static int hf_021_V0_24_030_VALUE; static const FieldPart I021_V0_24_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V0_24_030_VALUE, NULL }; static const FieldPart *I021_V0_24_030_PARTS[] = { &I021_V0_24_030_VALUE, NULL }; static const AsterixField I021_V0_24_030 = { FIXED, 3, 0, 0, &hf_021_V0_24_030, I021_V0_24_030_PARTS, { NULL } }; static int hf_021_V0_24_032; static int hf_021_V0_24_032_VALUE; static const FieldPart I021_V0_24_032_VALUE = { 8, 0.00390625, FIELD_PART_UFLOAT, &hf_021_V0_24_032_VALUE, NULL }; static const FieldPart *I021_V0_24_032_PARTS[] = { &I021_V0_24_032_VALUE, NULL }; static const AsterixField I021_V0_24_032 = { FIXED, 1, 0, 0, &hf_021_V0_24_032, I021_V0_24_032_PARTS, { NULL } }; static int hf_021_V0_24_040; static int hf_021_V0_24_040_DCR; static const value_string valstr_021_V0_24_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_DCR, NULL }; static int hf_021_V0_24_040_GBS; static const value_string valstr_021_V0_24_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_GBS, NULL }; static int hf_021_V0_24_040_SIM; static const value_string valstr_021_V0_24_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_SIM, NULL }; static int hf_021_V0_24_040_TST; static const value_string valstr_021_V0_24_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_TST, NULL }; static int hf_021_V0_24_040_RAB; static const value_string valstr_021_V0_24_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_RAB, NULL }; static int hf_021_V0_24_040_SAA; static const value_string valstr_021_V0_24_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_SAA, NULL }; static int hf_021_V0_24_040_SPI; static const value_string valstr_021_V0_24_040_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_SPI, NULL }; static int hf_021_V0_24_040_ATP; static const value_string valstr_021_V0_24_040_ATP[] = { { 0, "Non unique address" }, { 1, "24-Bit ICAO address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_ATP, NULL }; static int hf_021_V0_24_040_ARC; static const value_string valstr_021_V0_24_040_ARC[] = { { 0, "Unknown" }, { 1, "25 ft" }, { 2, "100 ft" }, { 0, NULL } }; static const FieldPart I021_V0_24_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_24_040_ARC, NULL }; static const FieldPart *I021_V0_24_040_PARTS[] = { &I021_V0_24_040_DCR, &I021_V0_24_040_GBS, &I021_V0_24_040_SIM, &I021_V0_24_040_TST, &I021_V0_24_040_RAB, &I021_V0_24_040_SAA, &I021_V0_24_040_SPI, &IXXX_1bit_spare, &I021_V0_24_040_ATP, &I021_V0_24_040_ARC, &IXXX_3bit_spare, NULL }; static const AsterixField I021_V0_24_040 = { FIXED, 2, 0, 0, &hf_021_V0_24_040, I021_V0_24_040_PARTS, { NULL } }; static int hf_021_V0_24_080; static int hf_021_V0_24_080_VALUE; static const FieldPart I021_V0_24_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V0_24_080_VALUE, NULL }; static const FieldPart *I021_V0_24_080_PARTS[] = { &I021_V0_24_080_VALUE, NULL }; static const AsterixField I021_V0_24_080 = { FIXED, 3, 0, 0, &hf_021_V0_24_080, I021_V0_24_080_PARTS, { NULL } }; static int hf_021_V0_24_090; static int hf_021_V0_24_090_AC; static const value_string valstr_021_V0_24_090_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_24_090_AC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_24_090_AC, NULL }; static int hf_021_V0_24_090_MN; static const value_string valstr_021_V0_24_090_MN[] = { { 0, "Unknown" }, { 1, "Multiple Navigation not operational" }, { 2, "Multiple Navigation operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_24_090_MN = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_24_090_MN, NULL }; static int hf_021_V0_24_090_DC; static const value_string valstr_021_V0_24_090_DC[] = { { 0, "Unknown" }, { 1, "Differencial Correction" }, { 2, "NO Differencial Correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_24_090_DC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_24_090_DC, NULL }; static int hf_021_V0_24_090_PA; static const FieldPart I021_V0_24_090_PA = { 4, 1.0, FIELD_PART_FLOAT, &hf_021_V0_24_090_PA, NULL }; static const FieldPart *I021_V0_24_090_PARTS[] = { &I021_V0_24_090_AC, &I021_V0_24_090_MN, &I021_V0_24_090_DC, &IXXX_6bit_spare, &I021_V0_24_090_PA, NULL }; static const AsterixField I021_V0_24_090 = { FIXED, 2, 0, 0, &hf_021_V0_24_090, I021_V0_24_090_PARTS, { NULL } }; static int hf_021_V0_24_095; static int hf_021_V0_24_095_VALUE; static const FieldPart I021_V0_24_095_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_24_095_VALUE, NULL }; static const FieldPart *I021_V0_24_095_PARTS[] = { &I021_V0_24_095_VALUE, NULL }; static const AsterixField I021_V0_24_095 = { FIXED, 1, 0, 0, &hf_021_V0_24_095, I021_V0_24_095_PARTS, { NULL } }; static int hf_021_V0_24_110; static int hf_021_V0_24_110_TIS; static int hf_021_V0_24_110_TIS_NAV; static const value_string valstr_021_V0_24_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TIS_NAV, NULL }; static int hf_021_V0_24_110_TIS_NVB; static const value_string valstr_021_V0_24_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TIS_NVB, NULL }; static const FieldPart *I021_V0_24_110_TIS_PARTS[] = { &I021_V0_24_110_TIS_NAV, &I021_V0_24_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V0_24_110_TIS = { FX, 1, 0, 0, &hf_021_V0_24_110_TIS, I021_V0_24_110_TIS_PARTS, { NULL } }; static int hf_021_V0_24_110_TID; static int hf_021_V0_24_110_TID_TCA; static const value_string valstr_021_V0_24_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TID_TCA, NULL }; static int hf_021_V0_24_110_TID_NC; static const value_string valstr_021_V0_24_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TID_NC, NULL }; static int hf_021_V0_24_110_TID_TCPN; static const FieldPart I021_V0_24_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V0_24_110_TID_TCPN, NULL }; static int hf_021_V0_24_110_TID_ALT; static const FieldPart I021_V0_24_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V0_24_110_TID_ALT, NULL }; static int hf_021_V0_24_110_TID_LAT; static const FieldPart I021_V0_24_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_24_110_TID_LAT, NULL }; static int hf_021_V0_24_110_TID_LON; static const FieldPart I021_V0_24_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_24_110_TID_LON, NULL }; static int hf_021_V0_24_110_TID_PT; static const value_string valstr_021_V0_24_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TID_PT, NULL }; static int hf_021_V0_24_110_TID_TD; static const value_string valstr_021_V0_24_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TID_TD, NULL }; static int hf_021_V0_24_110_TID_TRA; static const value_string valstr_021_V0_24_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TID_TRA, NULL }; static int hf_021_V0_24_110_TID_TOA; static const value_string valstr_021_V0_24_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V0_24_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_110_TID_TOA, NULL }; static int hf_021_V0_24_110_TID_TOV; static const FieldPart I021_V0_24_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_24_110_TID_TOV, NULL }; static int hf_021_V0_24_110_TID_TTR; static const FieldPart I021_V0_24_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V0_24_110_TID_TTR, NULL }; static const FieldPart *I021_V0_24_110_TID_PARTS[] = { &I021_V0_24_110_TID_TCA, &I021_V0_24_110_TID_NC, &I021_V0_24_110_TID_TCPN, &I021_V0_24_110_TID_ALT, &I021_V0_24_110_TID_LAT, &I021_V0_24_110_TID_LON, &I021_V0_24_110_TID_PT, &I021_V0_24_110_TID_TD, &I021_V0_24_110_TID_TRA, &I021_V0_24_110_TID_TOA, &I021_V0_24_110_TID_TOV, &I021_V0_24_110_TID_TTR, NULL }; static const AsterixField I021_V0_24_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V0_24_110_TID, I021_V0_24_110_TID_PARTS, { NULL } }; static const AsterixField I021_V0_24_110 = { COMPOUND, 0, 0, 0, &hf_021_V0_24_110, NULL, { &I021_V0_24_110_TIS, &I021_V0_24_110_TID, NULL } }; static int hf_021_V0_24_130; static int hf_021_V0_24_130_LAT; static const FieldPart I021_V0_24_130_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_021_V0_24_130_LAT, NULL }; static int hf_021_V0_24_130_LON; static const FieldPart I021_V0_24_130_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_021_V0_24_130_LON, NULL }; static const FieldPart *I021_V0_24_130_PARTS[] = { &I021_V0_24_130_LAT, &I021_V0_24_130_LON, NULL }; static const AsterixField I021_V0_24_130 = { FIXED, 8, 0, 0, &hf_021_V0_24_130, I021_V0_24_130_PARTS, { NULL } }; static int hf_021_V0_24_140; static int hf_021_V0_24_140_VALUE; static const FieldPart I021_V0_24_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_24_140_VALUE, NULL }; static const FieldPart *I021_V0_24_140_PARTS[] = { &I021_V0_24_140_VALUE, NULL }; static const AsterixField I021_V0_24_140 = { FIXED, 2, 0, 0, &hf_021_V0_24_140, I021_V0_24_140_PARTS, { NULL } }; static int hf_021_V0_24_145; static int hf_021_V0_24_145_VALUE; static const FieldPart I021_V0_24_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_24_145_VALUE, NULL }; static const FieldPart *I021_V0_24_145_PARTS[] = { &I021_V0_24_145_VALUE, NULL }; static const AsterixField I021_V0_24_145 = { FIXED, 2, 0, 0, &hf_021_V0_24_145, I021_V0_24_145_PARTS, { NULL } }; static int hf_021_V0_24_146; static int hf_021_V0_24_146_SAS; static const value_string valstr_021_V0_24_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V0_24_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_146_SAS, NULL }; static int hf_021_V0_24_146_SRC; static const value_string valstr_021_V0_24_146_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_24_146_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_24_146_SRC, NULL }; static int hf_021_V0_24_146_ALT; static const FieldPart I021_V0_24_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_24_146_ALT, NULL }; static const FieldPart *I021_V0_24_146_PARTS[] = { &I021_V0_24_146_SAS, &I021_V0_24_146_SRC, &I021_V0_24_146_ALT, NULL }; static const AsterixField I021_V0_24_146 = { FIXED, 2, 0, 0, &hf_021_V0_24_146, I021_V0_24_146_PARTS, { NULL } }; static int hf_021_V0_24_148; static int hf_021_V0_24_148_MV; static const value_string valstr_021_V0_24_148_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_24_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_148_MV, NULL }; static int hf_021_V0_24_148_AH; static const value_string valstr_021_V0_24_148_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_24_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_148_AH, NULL }; static int hf_021_V0_24_148_AM; static const value_string valstr_021_V0_24_148_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_24_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_148_AM, NULL }; static int hf_021_V0_24_148_ALT; static const FieldPart I021_V0_24_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_24_148_ALT, NULL }; static const FieldPart *I021_V0_24_148_PARTS[] = { &I021_V0_24_148_MV, &I021_V0_24_148_AH, &I021_V0_24_148_AM, &I021_V0_24_148_ALT, NULL }; static const AsterixField I021_V0_24_148 = { FIXED, 2, 0, 0, &hf_021_V0_24_148, I021_V0_24_148_PARTS, { NULL } }; static int hf_021_V0_24_150; static int hf_021_V0_24_150_IM; static const value_string valstr_021_V0_24_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V0_24_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_150_IM, NULL }; static int hf_021_V0_24_150_AS; static const FieldPart I021_V0_24_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V0_24_150_AS, NULL }; static const FieldPart *I021_V0_24_150_PARTS[] = { &I021_V0_24_150_IM, &I021_V0_24_150_AS, NULL }; static const AsterixField I021_V0_24_150 = { FIXED, 2, 0, 0, &hf_021_V0_24_150, I021_V0_24_150_PARTS, { NULL } }; static int hf_021_V0_24_151; static int hf_021_V0_24_151_VALUE; static const FieldPart I021_V0_24_151_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_24_151_VALUE, NULL }; static const FieldPart *I021_V0_24_151_PARTS[] = { &I021_V0_24_151_VALUE, NULL }; static const AsterixField I021_V0_24_151 = { FIXED, 2, 0, 0, &hf_021_V0_24_151, I021_V0_24_151_PARTS, { NULL } }; static int hf_021_V0_24_152; static int hf_021_V0_24_152_VALUE; static const FieldPart I021_V0_24_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_24_152_VALUE, NULL }; static const FieldPart *I021_V0_24_152_PARTS[] = { &I021_V0_24_152_VALUE, NULL }; static const AsterixField I021_V0_24_152 = { FIXED, 2, 0, 0, &hf_021_V0_24_152, I021_V0_24_152_PARTS, { NULL } }; static int hf_021_V0_24_155; static int hf_021_V0_24_155_VALUE; static const FieldPart I021_V0_24_155_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_24_155_VALUE, NULL }; static const FieldPart *I021_V0_24_155_PARTS[] = { &I021_V0_24_155_VALUE, NULL }; static const AsterixField I021_V0_24_155 = { FIXED, 2, 0, 0, &hf_021_V0_24_155, I021_V0_24_155_PARTS, { NULL } }; static int hf_021_V0_24_157; static int hf_021_V0_24_157_VALUE; static const FieldPart I021_V0_24_157_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_24_157_VALUE, NULL }; static const FieldPart *I021_V0_24_157_PARTS[] = { &I021_V0_24_157_VALUE, NULL }; static const AsterixField I021_V0_24_157 = { FIXED, 2, 0, 0, &hf_021_V0_24_157, I021_V0_24_157_PARTS, { NULL } }; static int hf_021_V0_24_160; static int hf_021_V0_24_160_GS; static const FieldPart I021_V0_24_160_GS = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_021_V0_24_160_GS, NULL }; static int hf_021_V0_24_160_TA; static const FieldPart I021_V0_24_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_24_160_TA, NULL }; static const FieldPart *I021_V0_24_160_PARTS[] = { &I021_V0_24_160_GS, &I021_V0_24_160_TA, NULL }; static const AsterixField I021_V0_24_160 = { FIXED, 4, 0, 0, &hf_021_V0_24_160, I021_V0_24_160_PARTS, { NULL } }; static int hf_021_V0_24_165; static int hf_021_V0_24_165_TI; static const value_string valstr_021_V0_24_165_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I021_V0_24_165_TI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_24_165_TI, NULL }; static int hf_021_V0_24_165_ROT; static const FieldPart I021_V0_24_165_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_021_V0_24_165_ROT, NULL }; static const FieldPart *I021_V0_24_165_PARTS[] = { &I021_V0_24_165_TI, &IXXX_5bit_spare, &IXXX_FX, &I021_V0_24_165_ROT, &IXXX_FX, NULL }; static const AsterixField I021_V0_24_165 = { FX, 1, 0, 0, &hf_021_V0_24_165, I021_V0_24_165_PARTS, { NULL } }; static int hf_021_V0_24_170; static int hf_021_V0_24_170_VALUE; static const FieldPart I021_V0_24_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V0_24_170_VALUE, NULL }; static const FieldPart *I021_V0_24_170_PARTS[] = { &I021_V0_24_170_VALUE, NULL }; static const AsterixField I021_V0_24_170 = { FIXED, 6, 0, 0, &hf_021_V0_24_170, I021_V0_24_170_PARTS, { NULL } }; static int hf_021_V0_24_200; static int hf_021_V0_24_200_VALUE; static const value_string valstr_021_V0_24_200_VALUE[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 0, NULL } }; static const FieldPart I021_V0_24_200_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_24_200_VALUE, NULL }; static const FieldPart *I021_V0_24_200_PARTS[] = { &I021_V0_24_200_VALUE, NULL }; static const AsterixField I021_V0_24_200 = { FIXED, 1, 0, 0, &hf_021_V0_24_200, I021_V0_24_200_PARTS, { NULL } }; static int hf_021_V0_24_210; static int hf_021_V0_24_210_DTI; static const value_string valstr_021_V0_24_210_DTI[] = { { 0, "Unknown" }, { 1, "Aircraft equiped with CDTI" }, { 0, NULL } }; static const FieldPart I021_V0_24_210_DTI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_210_DTI, NULL }; static int hf_021_V0_24_210_MDS; static const value_string valstr_021_V0_24_210_MDS[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_24_210_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_210_MDS, NULL }; static int hf_021_V0_24_210_UAT; static const value_string valstr_021_V0_24_210_UAT[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_24_210_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_210_UAT, NULL }; static int hf_021_V0_24_210_VDL; static const value_string valstr_021_V0_24_210_VDL[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_24_210_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_210_VDL, NULL }; static int hf_021_V0_24_210_OTR; static const value_string valstr_021_V0_24_210_OTR[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_24_210_OTR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_24_210_OTR, NULL }; static const FieldPart *I021_V0_24_210_PARTS[] = { &IXXX_3bit_spare, &I021_V0_24_210_DTI, &I021_V0_24_210_MDS, &I021_V0_24_210_UAT, &I021_V0_24_210_VDL, &I021_V0_24_210_OTR, NULL }; static const AsterixField I021_V0_24_210 = { FIXED, 1, 0, 0, &hf_021_V0_24_210, I021_V0_24_210_PARTS, { NULL } }; static int hf_021_V0_24_220; static int hf_021_V0_24_220_WS; static int hf_021_V0_24_220_WS_VALUE; static const FieldPart I021_V0_24_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_24_220_WS_VALUE, NULL }; static const FieldPart *I021_V0_24_220_WS_PARTS[] = { &I021_V0_24_220_WS_VALUE, NULL }; static const AsterixField I021_V0_24_220_WS = { FIXED, 2, 0, 0, &hf_021_V0_24_220_WS, I021_V0_24_220_WS_PARTS, { NULL } }; static int hf_021_V0_24_220_WD; static int hf_021_V0_24_220_WD_VALUE; static const FieldPart I021_V0_24_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_24_220_WD_VALUE, NULL }; static const FieldPart *I021_V0_24_220_WD_PARTS[] = { &I021_V0_24_220_WD_VALUE, NULL }; static const AsterixField I021_V0_24_220_WD = { FIXED, 2, 0, 0, &hf_021_V0_24_220_WD, I021_V0_24_220_WD_PARTS, { NULL } }; static int hf_021_V0_24_220_TMP; static int hf_021_V0_24_220_TMP_VALUE; static const FieldPart I021_V0_24_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_24_220_TMP_VALUE, NULL }; static const FieldPart *I021_V0_24_220_TMP_PARTS[] = { &I021_V0_24_220_TMP_VALUE, NULL }; static const AsterixField I021_V0_24_220_TMP = { FIXED, 2, 0, 0, &hf_021_V0_24_220_TMP, I021_V0_24_220_TMP_PARTS, { NULL } }; static int hf_021_V0_24_220_TRB; static int hf_021_V0_24_220_TRB_VALUE; static const FieldPart I021_V0_24_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_24_220_TRB_VALUE, NULL }; static const FieldPart *I021_V0_24_220_TRB_PARTS[] = { &I021_V0_24_220_TRB_VALUE, NULL }; static const AsterixField I021_V0_24_220_TRB = { FIXED, 1, 0, 0, &hf_021_V0_24_220_TRB, I021_V0_24_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V0_24_220 = { COMPOUND, 0, 0, 0, &hf_021_V0_24_220, NULL, { &I021_V0_24_220_WS, &I021_V0_24_220_WD, &I021_V0_24_220_TMP, &I021_V0_24_220_TRB, NULL } }; static int hf_021_V0_24_230; static int hf_021_V0_24_230_VALUE; static const FieldPart I021_V0_24_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V0_24_230_VALUE, NULL }; static const FieldPart *I021_V0_24_230_PARTS[] = { &I021_V0_24_230_VALUE, NULL }; static const AsterixField I021_V0_24_230 = { FIXED, 2, 0, 0, &hf_021_V0_24_230, I021_V0_24_230_PARTS, { NULL } }; static int hf_021_V0_24_RE; static const AsterixField I021_V0_24_RE = { EXP, 0, 0, 1, &hf_021_V0_24_RE, NULL, { NULL } }; static int hf_021_V0_24_SP; static const AsterixField I021_V0_24_SP = { EXP, 0, 0, 1, &hf_021_V0_24_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V0_24_uap[] = { &I021_V0_24_010, &I021_V0_24_040, &I021_V0_24_030, &I021_V0_24_130, &I021_V0_24_080, &I021_V0_24_140, &I021_V0_24_090, &I021_V0_24_210, &I021_V0_24_230, &I021_V0_24_145, &I021_V0_24_150, &I021_V0_24_151, &I021_V0_24_152, &I021_V0_24_155, &I021_V0_24_157, &I021_V0_24_160, &I021_V0_24_165, &I021_V0_24_170, &I021_V0_24_095, &I021_V0_24_032, &I021_V0_24_200, &I021_V0_24_020, &I021_V0_24_220, &I021_V0_24_146, &I021_V0_24_148, &I021_V0_24_110, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V0_24_RE, &I021_V0_24_SP, NULL }; static const AsterixField **I021_V0_24[] = { I021_V0_24_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 0.25 */ static int hf_021_V0_25_010; static int hf_021_V0_25_010_SAC; static const FieldPart I021_V0_25_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_25_010_SAC, NULL }; static int hf_021_V0_25_010_SIC; static const FieldPart I021_V0_25_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_25_010_SIC, NULL }; static const FieldPart *I021_V0_25_010_PARTS[] = { &I021_V0_25_010_SAC, &I021_V0_25_010_SIC, NULL }; static const AsterixField I021_V0_25_010 = { FIXED, 2, 0, 0, &hf_021_V0_25_010, I021_V0_25_010_PARTS, { NULL } }; static int hf_021_V0_25_020; static int hf_021_V0_25_020_VALUE; static const value_string valstr_021_V0_25_020_VALUE[] = { { 1, "Light aircraft <= 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < Medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= Heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V0_25_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_25_020_VALUE, NULL }; static const FieldPart *I021_V0_25_020_PARTS[] = { &I021_V0_25_020_VALUE, NULL }; static const AsterixField I021_V0_25_020 = { FIXED, 1, 0, 0, &hf_021_V0_25_020, I021_V0_25_020_PARTS, { NULL } }; static int hf_021_V0_25_030; static int hf_021_V0_25_030_VALUE; static const FieldPart I021_V0_25_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V0_25_030_VALUE, NULL }; static const FieldPart *I021_V0_25_030_PARTS[] = { &I021_V0_25_030_VALUE, NULL }; static const AsterixField I021_V0_25_030 = { FIXED, 3, 0, 0, &hf_021_V0_25_030, I021_V0_25_030_PARTS, { NULL } }; static int hf_021_V0_25_032; static int hf_021_V0_25_032_VALUE; static const FieldPart I021_V0_25_032_VALUE = { 8, 0.00390625, FIELD_PART_UFLOAT, &hf_021_V0_25_032_VALUE, NULL }; static const FieldPart *I021_V0_25_032_PARTS[] = { &I021_V0_25_032_VALUE, NULL }; static const AsterixField I021_V0_25_032 = { FIXED, 1, 0, 0, &hf_021_V0_25_032, I021_V0_25_032_PARTS, { NULL } }; static int hf_021_V0_25_040; static int hf_021_V0_25_040_DCR; static const value_string valstr_021_V0_25_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_DCR, NULL }; static int hf_021_V0_25_040_GBS; static const value_string valstr_021_V0_25_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_GBS, NULL }; static int hf_021_V0_25_040_SIM; static const value_string valstr_021_V0_25_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_SIM, NULL }; static int hf_021_V0_25_040_TST; static const value_string valstr_021_V0_25_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_TST, NULL }; static int hf_021_V0_25_040_RAB; static const value_string valstr_021_V0_25_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_RAB, NULL }; static int hf_021_V0_25_040_SAA; static const value_string valstr_021_V0_25_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_SAA, NULL }; static int hf_021_V0_25_040_SPI; static const value_string valstr_021_V0_25_040_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_SPI, NULL }; static int hf_021_V0_25_040_ATP; static const value_string valstr_021_V0_25_040_ATP[] = { { 0, "Non unique address" }, { 1, "24-Bit ICAO address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_ATP, NULL }; static int hf_021_V0_25_040_ARC; static const value_string valstr_021_V0_25_040_ARC[] = { { 0, "Unknown" }, { 1, "25 ft" }, { 2, "100 ft" }, { 0, NULL } }; static const FieldPart I021_V0_25_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_25_040_ARC, NULL }; static const FieldPart *I021_V0_25_040_PARTS[] = { &I021_V0_25_040_DCR, &I021_V0_25_040_GBS, &I021_V0_25_040_SIM, &I021_V0_25_040_TST, &I021_V0_25_040_RAB, &I021_V0_25_040_SAA, &I021_V0_25_040_SPI, &IXXX_1bit_spare, &I021_V0_25_040_ATP, &I021_V0_25_040_ARC, &IXXX_3bit_spare, NULL }; static const AsterixField I021_V0_25_040 = { FIXED, 2, 0, 0, &hf_021_V0_25_040, I021_V0_25_040_PARTS, { NULL } }; static int hf_021_V0_25_080; static int hf_021_V0_25_080_VALUE; static const FieldPart I021_V0_25_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V0_25_080_VALUE, NULL }; static const FieldPart *I021_V0_25_080_PARTS[] = { &I021_V0_25_080_VALUE, NULL }; static const AsterixField I021_V0_25_080 = { FIXED, 3, 0, 0, &hf_021_V0_25_080, I021_V0_25_080_PARTS, { NULL } }; static int hf_021_V0_25_090; static int hf_021_V0_25_090_AC; static const value_string valstr_021_V0_25_090_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_25_090_AC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_25_090_AC, NULL }; static int hf_021_V0_25_090_MN; static const value_string valstr_021_V0_25_090_MN[] = { { 0, "Unknown" }, { 1, "Multiple Navigation not operational" }, { 2, "Multiple Navigation operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_25_090_MN = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_25_090_MN, NULL }; static int hf_021_V0_25_090_DC; static const value_string valstr_021_V0_25_090_DC[] = { { 0, "Unknown" }, { 1, "Differencial Correction" }, { 2, "NO Differencial Correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_25_090_DC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_25_090_DC, NULL }; static int hf_021_V0_25_090_PA; static const FieldPart I021_V0_25_090_PA = { 4, 1.0, FIELD_PART_FLOAT, &hf_021_V0_25_090_PA, NULL }; static const FieldPart *I021_V0_25_090_PARTS[] = { &I021_V0_25_090_AC, &I021_V0_25_090_MN, &I021_V0_25_090_DC, &IXXX_6bit_spare, &I021_V0_25_090_PA, NULL }; static const AsterixField I021_V0_25_090 = { FIXED, 2, 0, 0, &hf_021_V0_25_090, I021_V0_25_090_PARTS, { NULL } }; static int hf_021_V0_25_095; static int hf_021_V0_25_095_VALUE; static const FieldPart I021_V0_25_095_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_25_095_VALUE, NULL }; static const FieldPart *I021_V0_25_095_PARTS[] = { &I021_V0_25_095_VALUE, NULL }; static const AsterixField I021_V0_25_095 = { FIXED, 1, 0, 0, &hf_021_V0_25_095, I021_V0_25_095_PARTS, { NULL } }; static int hf_021_V0_25_110; static int hf_021_V0_25_110_TIS; static int hf_021_V0_25_110_TIS_NAV; static const value_string valstr_021_V0_25_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TIS_NAV, NULL }; static int hf_021_V0_25_110_TIS_NVB; static const value_string valstr_021_V0_25_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TIS_NVB, NULL }; static const FieldPart *I021_V0_25_110_TIS_PARTS[] = { &I021_V0_25_110_TIS_NAV, &I021_V0_25_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V0_25_110_TIS = { FX, 1, 0, 0, &hf_021_V0_25_110_TIS, I021_V0_25_110_TIS_PARTS, { NULL } }; static int hf_021_V0_25_110_TID; static int hf_021_V0_25_110_TID_TCA; static const value_string valstr_021_V0_25_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TID_TCA, NULL }; static int hf_021_V0_25_110_TID_NC; static const value_string valstr_021_V0_25_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TID_NC, NULL }; static int hf_021_V0_25_110_TID_TCPN; static const FieldPart I021_V0_25_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V0_25_110_TID_TCPN, NULL }; static int hf_021_V0_25_110_TID_ALT; static const FieldPart I021_V0_25_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V0_25_110_TID_ALT, NULL }; static int hf_021_V0_25_110_TID_LAT; static const FieldPart I021_V0_25_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_25_110_TID_LAT, NULL }; static int hf_021_V0_25_110_TID_LON; static const FieldPart I021_V0_25_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_25_110_TID_LON, NULL }; static int hf_021_V0_25_110_TID_PT; static const value_string valstr_021_V0_25_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TID_PT, NULL }; static int hf_021_V0_25_110_TID_TD; static const value_string valstr_021_V0_25_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TID_TD, NULL }; static int hf_021_V0_25_110_TID_TRA; static const value_string valstr_021_V0_25_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TID_TRA, NULL }; static int hf_021_V0_25_110_TID_TOA; static const value_string valstr_021_V0_25_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V0_25_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_110_TID_TOA, NULL }; static int hf_021_V0_25_110_TID_TOV; static const FieldPart I021_V0_25_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_25_110_TID_TOV, NULL }; static int hf_021_V0_25_110_TID_TTR; static const FieldPart I021_V0_25_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V0_25_110_TID_TTR, NULL }; static const FieldPart *I021_V0_25_110_TID_PARTS[] = { &I021_V0_25_110_TID_TCA, &I021_V0_25_110_TID_NC, &I021_V0_25_110_TID_TCPN, &I021_V0_25_110_TID_ALT, &I021_V0_25_110_TID_LAT, &I021_V0_25_110_TID_LON, &I021_V0_25_110_TID_PT, &I021_V0_25_110_TID_TD, &I021_V0_25_110_TID_TRA, &I021_V0_25_110_TID_TOA, &I021_V0_25_110_TID_TOV, &I021_V0_25_110_TID_TTR, NULL }; static const AsterixField I021_V0_25_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V0_25_110_TID, I021_V0_25_110_TID_PARTS, { NULL } }; static const AsterixField I021_V0_25_110 = { COMPOUND, 0, 0, 0, &hf_021_V0_25_110, NULL, { &I021_V0_25_110_TIS, &I021_V0_25_110_TID, NULL } }; static int hf_021_V0_25_130; static int hf_021_V0_25_130_LAT; static const FieldPart I021_V0_25_130_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_021_V0_25_130_LAT, NULL }; static int hf_021_V0_25_130_LON; static const FieldPart I021_V0_25_130_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_021_V0_25_130_LON, NULL }; static const FieldPart *I021_V0_25_130_PARTS[] = { &I021_V0_25_130_LAT, &I021_V0_25_130_LON, NULL }; static const AsterixField I021_V0_25_130 = { FIXED, 8, 0, 0, &hf_021_V0_25_130, I021_V0_25_130_PARTS, { NULL } }; static int hf_021_V0_25_140; static int hf_021_V0_25_140_VALUE; static const FieldPart I021_V0_25_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_25_140_VALUE, NULL }; static const FieldPart *I021_V0_25_140_PARTS[] = { &I021_V0_25_140_VALUE, NULL }; static const AsterixField I021_V0_25_140 = { FIXED, 2, 0, 0, &hf_021_V0_25_140, I021_V0_25_140_PARTS, { NULL } }; static int hf_021_V0_25_145; static int hf_021_V0_25_145_VALUE; static const FieldPart I021_V0_25_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_25_145_VALUE, NULL }; static const FieldPart *I021_V0_25_145_PARTS[] = { &I021_V0_25_145_VALUE, NULL }; static const AsterixField I021_V0_25_145 = { FIXED, 2, 0, 0, &hf_021_V0_25_145, I021_V0_25_145_PARTS, { NULL } }; static int hf_021_V0_25_146; static int hf_021_V0_25_146_SAS; static const value_string valstr_021_V0_25_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V0_25_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_146_SAS, NULL }; static int hf_021_V0_25_146_SRC; static const value_string valstr_021_V0_25_146_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_25_146_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_25_146_SRC, NULL }; static int hf_021_V0_25_146_ALT; static const FieldPart I021_V0_25_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_25_146_ALT, NULL }; static const FieldPart *I021_V0_25_146_PARTS[] = { &I021_V0_25_146_SAS, &I021_V0_25_146_SRC, &I021_V0_25_146_ALT, NULL }; static const AsterixField I021_V0_25_146 = { FIXED, 2, 0, 0, &hf_021_V0_25_146, I021_V0_25_146_PARTS, { NULL } }; static int hf_021_V0_25_148; static int hf_021_V0_25_148_MV; static const value_string valstr_021_V0_25_148_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_25_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_148_MV, NULL }; static int hf_021_V0_25_148_AH; static const value_string valstr_021_V0_25_148_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_25_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_148_AH, NULL }; static int hf_021_V0_25_148_AM; static const value_string valstr_021_V0_25_148_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_25_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_148_AM, NULL }; static int hf_021_V0_25_148_ALT; static const FieldPart I021_V0_25_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_25_148_ALT, NULL }; static const FieldPart *I021_V0_25_148_PARTS[] = { &I021_V0_25_148_MV, &I021_V0_25_148_AH, &I021_V0_25_148_AM, &I021_V0_25_148_ALT, NULL }; static const AsterixField I021_V0_25_148 = { FIXED, 2, 0, 0, &hf_021_V0_25_148, I021_V0_25_148_PARTS, { NULL } }; static int hf_021_V0_25_150; static int hf_021_V0_25_150_IM; static const value_string valstr_021_V0_25_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V0_25_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_150_IM, NULL }; static int hf_021_V0_25_150_AS; static const FieldPart I021_V0_25_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V0_25_150_AS, NULL }; static const FieldPart *I021_V0_25_150_PARTS[] = { &I021_V0_25_150_IM, &I021_V0_25_150_AS, NULL }; static const AsterixField I021_V0_25_150 = { FIXED, 2, 0, 0, &hf_021_V0_25_150, I021_V0_25_150_PARTS, { NULL } }; static int hf_021_V0_25_151; static int hf_021_V0_25_151_VALUE; static const FieldPart I021_V0_25_151_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_25_151_VALUE, NULL }; static const FieldPart *I021_V0_25_151_PARTS[] = { &I021_V0_25_151_VALUE, NULL }; static const AsterixField I021_V0_25_151 = { FIXED, 2, 0, 0, &hf_021_V0_25_151, I021_V0_25_151_PARTS, { NULL } }; static int hf_021_V0_25_152; static int hf_021_V0_25_152_VALUE; static const FieldPart I021_V0_25_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_25_152_VALUE, NULL }; static const FieldPart *I021_V0_25_152_PARTS[] = { &I021_V0_25_152_VALUE, NULL }; static const AsterixField I021_V0_25_152 = { FIXED, 2, 0, 0, &hf_021_V0_25_152, I021_V0_25_152_PARTS, { NULL } }; static int hf_021_V0_25_155; static int hf_021_V0_25_155_VALUE; static const FieldPart I021_V0_25_155_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_25_155_VALUE, NULL }; static const FieldPart *I021_V0_25_155_PARTS[] = { &I021_V0_25_155_VALUE, NULL }; static const AsterixField I021_V0_25_155 = { FIXED, 2, 0, 0, &hf_021_V0_25_155, I021_V0_25_155_PARTS, { NULL } }; static int hf_021_V0_25_157; static int hf_021_V0_25_157_VALUE; static const FieldPart I021_V0_25_157_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_25_157_VALUE, NULL }; static const FieldPart *I021_V0_25_157_PARTS[] = { &I021_V0_25_157_VALUE, NULL }; static const AsterixField I021_V0_25_157 = { FIXED, 2, 0, 0, &hf_021_V0_25_157, I021_V0_25_157_PARTS, { NULL } }; static int hf_021_V0_25_160; static int hf_021_V0_25_160_GS; static const FieldPart I021_V0_25_160_GS = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_021_V0_25_160_GS, NULL }; static int hf_021_V0_25_160_TA; static const FieldPart I021_V0_25_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_25_160_TA, NULL }; static const FieldPart *I021_V0_25_160_PARTS[] = { &I021_V0_25_160_GS, &I021_V0_25_160_TA, NULL }; static const AsterixField I021_V0_25_160 = { FIXED, 4, 0, 0, &hf_021_V0_25_160, I021_V0_25_160_PARTS, { NULL } }; static int hf_021_V0_25_165; static int hf_021_V0_25_165_TI; static const value_string valstr_021_V0_25_165_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I021_V0_25_165_TI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_25_165_TI, NULL }; static int hf_021_V0_25_165_ROT; static const FieldPart I021_V0_25_165_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_021_V0_25_165_ROT, NULL }; static const FieldPart *I021_V0_25_165_PARTS[] = { &I021_V0_25_165_TI, &IXXX_5bit_spare, &IXXX_FX, &I021_V0_25_165_ROT, &IXXX_FX, NULL }; static const AsterixField I021_V0_25_165 = { FX, 1, 0, 0, &hf_021_V0_25_165, I021_V0_25_165_PARTS, { NULL } }; static int hf_021_V0_25_170; static int hf_021_V0_25_170_VALUE; static const FieldPart I021_V0_25_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V0_25_170_VALUE, NULL }; static const FieldPart *I021_V0_25_170_PARTS[] = { &I021_V0_25_170_VALUE, NULL }; static const AsterixField I021_V0_25_170 = { FIXED, 6, 0, 0, &hf_021_V0_25_170, I021_V0_25_170_PARTS, { NULL } }; static int hf_021_V0_25_200; static int hf_021_V0_25_200_VALUE; static const value_string valstr_021_V0_25_200_VALUE[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 0, NULL } }; static const FieldPart I021_V0_25_200_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_25_200_VALUE, NULL }; static const FieldPart *I021_V0_25_200_PARTS[] = { &I021_V0_25_200_VALUE, NULL }; static const AsterixField I021_V0_25_200 = { FIXED, 1, 0, 0, &hf_021_V0_25_200, I021_V0_25_200_PARTS, { NULL } }; static int hf_021_V0_25_210; static int hf_021_V0_25_210_DTI; static const value_string valstr_021_V0_25_210_DTI[] = { { 0, "Unknown" }, { 1, "Aircraft equiped with CDTI" }, { 0, NULL } }; static const FieldPart I021_V0_25_210_DTI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_210_DTI, NULL }; static int hf_021_V0_25_210_MDS; static const value_string valstr_021_V0_25_210_MDS[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_25_210_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_210_MDS, NULL }; static int hf_021_V0_25_210_UAT; static const value_string valstr_021_V0_25_210_UAT[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_25_210_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_210_UAT, NULL }; static int hf_021_V0_25_210_VDL; static const value_string valstr_021_V0_25_210_VDL[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_25_210_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_210_VDL, NULL }; static int hf_021_V0_25_210_OTR; static const value_string valstr_021_V0_25_210_OTR[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_25_210_OTR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_25_210_OTR, NULL }; static const FieldPart *I021_V0_25_210_PARTS[] = { &IXXX_3bit_spare, &I021_V0_25_210_DTI, &I021_V0_25_210_MDS, &I021_V0_25_210_UAT, &I021_V0_25_210_VDL, &I021_V0_25_210_OTR, NULL }; static const AsterixField I021_V0_25_210 = { FIXED, 1, 0, 0, &hf_021_V0_25_210, I021_V0_25_210_PARTS, { NULL } }; static int hf_021_V0_25_220; static int hf_021_V0_25_220_WS; static int hf_021_V0_25_220_WS_VALUE; static const FieldPart I021_V0_25_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_25_220_WS_VALUE, NULL }; static const FieldPart *I021_V0_25_220_WS_PARTS[] = { &I021_V0_25_220_WS_VALUE, NULL }; static const AsterixField I021_V0_25_220_WS = { FIXED, 2, 0, 0, &hf_021_V0_25_220_WS, I021_V0_25_220_WS_PARTS, { NULL } }; static int hf_021_V0_25_220_WD; static int hf_021_V0_25_220_WD_VALUE; static const FieldPart I021_V0_25_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_25_220_WD_VALUE, NULL }; static const FieldPart *I021_V0_25_220_WD_PARTS[] = { &I021_V0_25_220_WD_VALUE, NULL }; static const AsterixField I021_V0_25_220_WD = { FIXED, 2, 0, 0, &hf_021_V0_25_220_WD, I021_V0_25_220_WD_PARTS, { NULL } }; static int hf_021_V0_25_220_TMP; static int hf_021_V0_25_220_TMP_VALUE; static const FieldPart I021_V0_25_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_25_220_TMP_VALUE, NULL }; static const FieldPart *I021_V0_25_220_TMP_PARTS[] = { &I021_V0_25_220_TMP_VALUE, NULL }; static const AsterixField I021_V0_25_220_TMP = { FIXED, 2, 0, 0, &hf_021_V0_25_220_TMP, I021_V0_25_220_TMP_PARTS, { NULL } }; static int hf_021_V0_25_220_TRB; static int hf_021_V0_25_220_TRB_VALUE; static const FieldPart I021_V0_25_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_25_220_TRB_VALUE, NULL }; static const FieldPart *I021_V0_25_220_TRB_PARTS[] = { &I021_V0_25_220_TRB_VALUE, NULL }; static const AsterixField I021_V0_25_220_TRB = { FIXED, 1, 0, 0, &hf_021_V0_25_220_TRB, I021_V0_25_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V0_25_220 = { COMPOUND, 0, 0, 0, &hf_021_V0_25_220, NULL, { &I021_V0_25_220_WS, &I021_V0_25_220_WD, &I021_V0_25_220_TMP, &I021_V0_25_220_TRB, NULL } }; static int hf_021_V0_25_230; static int hf_021_V0_25_230_VALUE; static const FieldPart I021_V0_25_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V0_25_230_VALUE, NULL }; static const FieldPart *I021_V0_25_230_PARTS[] = { &I021_V0_25_230_VALUE, NULL }; static const AsterixField I021_V0_25_230 = { FIXED, 2, 0, 0, &hf_021_V0_25_230, I021_V0_25_230_PARTS, { NULL } }; static int hf_021_V0_25_RE; static const AsterixField I021_V0_25_RE = { EXP, 0, 0, 1, &hf_021_V0_25_RE, NULL, { NULL } }; static int hf_021_V0_25_SP; static const AsterixField I021_V0_25_SP = { EXP, 0, 0, 1, &hf_021_V0_25_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V0_25_uap[] = { &I021_V0_25_010, &I021_V0_25_040, &I021_V0_25_030, &I021_V0_25_130, &I021_V0_25_080, &I021_V0_25_140, &I021_V0_25_090, &I021_V0_25_210, &I021_V0_25_230, &I021_V0_25_145, &I021_V0_25_150, &I021_V0_25_151, &I021_V0_25_152, &I021_V0_25_155, &I021_V0_25_157, &I021_V0_25_160, &I021_V0_25_165, &I021_V0_25_170, &I021_V0_25_095, &I021_V0_25_032, &I021_V0_25_200, &I021_V0_25_020, &I021_V0_25_220, &I021_V0_25_146, &I021_V0_25_148, &I021_V0_25_110, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V0_25_RE, &I021_V0_25_SP, NULL }; static const AsterixField **I021_V0_25[] = { I021_V0_25_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 0.26 */ static int hf_021_V0_26_010; static int hf_021_V0_26_010_SAC; static const FieldPart I021_V0_26_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_26_010_SAC, NULL }; static int hf_021_V0_26_010_SIC; static const FieldPart I021_V0_26_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_26_010_SIC, NULL }; static const FieldPart *I021_V0_26_010_PARTS[] = { &I021_V0_26_010_SAC, &I021_V0_26_010_SIC, NULL }; static const AsterixField I021_V0_26_010 = { FIXED, 2, 0, 0, &hf_021_V0_26_010, I021_V0_26_010_PARTS, { NULL } }; static int hf_021_V0_26_020; static int hf_021_V0_26_020_VALUE; static const value_string valstr_021_V0_26_020_VALUE[] = { { 1, "Light aircraft <= 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < Medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= Heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V0_26_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_26_020_VALUE, NULL }; static const FieldPart *I021_V0_26_020_PARTS[] = { &I021_V0_26_020_VALUE, NULL }; static const AsterixField I021_V0_26_020 = { FIXED, 1, 0, 0, &hf_021_V0_26_020, I021_V0_26_020_PARTS, { NULL } }; static int hf_021_V0_26_030; static int hf_021_V0_26_030_VALUE; static const FieldPart I021_V0_26_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V0_26_030_VALUE, NULL }; static const FieldPart *I021_V0_26_030_PARTS[] = { &I021_V0_26_030_VALUE, NULL }; static const AsterixField I021_V0_26_030 = { FIXED, 3, 0, 0, &hf_021_V0_26_030, I021_V0_26_030_PARTS, { NULL } }; static int hf_021_V0_26_032; static int hf_021_V0_26_032_VALUE; static const FieldPart I021_V0_26_032_VALUE = { 8, 0.00390625, FIELD_PART_UFLOAT, &hf_021_V0_26_032_VALUE, NULL }; static const FieldPart *I021_V0_26_032_PARTS[] = { &I021_V0_26_032_VALUE, NULL }; static const AsterixField I021_V0_26_032 = { FIXED, 1, 0, 0, &hf_021_V0_26_032, I021_V0_26_032_PARTS, { NULL } }; static int hf_021_V0_26_040; static int hf_021_V0_26_040_DCR; static const value_string valstr_021_V0_26_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_DCR, NULL }; static int hf_021_V0_26_040_GBS; static const value_string valstr_021_V0_26_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_GBS, NULL }; static int hf_021_V0_26_040_SIM; static const value_string valstr_021_V0_26_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_SIM, NULL }; static int hf_021_V0_26_040_TST; static const value_string valstr_021_V0_26_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_TST, NULL }; static int hf_021_V0_26_040_RAB; static const value_string valstr_021_V0_26_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_RAB, NULL }; static int hf_021_V0_26_040_SAA; static const value_string valstr_021_V0_26_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_SAA, NULL }; static int hf_021_V0_26_040_SPI; static const value_string valstr_021_V0_26_040_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_SPI, NULL }; static int hf_021_V0_26_040_ATP; static const value_string valstr_021_V0_26_040_ATP[] = { { 0, "Non unique address" }, { 1, "24-Bit ICAO address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_ATP, NULL }; static int hf_021_V0_26_040_ARC; static const value_string valstr_021_V0_26_040_ARC[] = { { 0, "Unknown" }, { 1, "25 ft" }, { 2, "100 ft" }, { 0, NULL } }; static const FieldPart I021_V0_26_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_26_040_ARC, NULL }; static const FieldPart *I021_V0_26_040_PARTS[] = { &I021_V0_26_040_DCR, &I021_V0_26_040_GBS, &I021_V0_26_040_SIM, &I021_V0_26_040_TST, &I021_V0_26_040_RAB, &I021_V0_26_040_SAA, &I021_V0_26_040_SPI, &IXXX_1bit_spare, &I021_V0_26_040_ATP, &I021_V0_26_040_ARC, &IXXX_3bit_spare, NULL }; static const AsterixField I021_V0_26_040 = { FIXED, 2, 0, 0, &hf_021_V0_26_040, I021_V0_26_040_PARTS, { NULL } }; static int hf_021_V0_26_070; static int hf_021_V0_26_070_V; static const value_string valstr_021_V0_26_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I021_V0_26_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_070_V, NULL }; static int hf_021_V0_26_070_G; static const value_string valstr_021_V0_26_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I021_V0_26_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_070_G, NULL }; static int hf_021_V0_26_070_L; static const value_string valstr_021_V0_26_070_L[] = { { 0, "Mode-3/A code derived during last update" }, { 1, "Mode-3/A code not extracted during the last update" }, { 0, NULL } }; static const FieldPart I021_V0_26_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_070_L, NULL }; static int hf_021_V0_26_070_MODE3A; static const FieldPart I021_V0_26_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_V0_26_070_MODE3A, NULL }; static const FieldPart *I021_V0_26_070_PARTS[] = { &I021_V0_26_070_V, &I021_V0_26_070_G, &I021_V0_26_070_L, &IXXX_1bit_spare, &I021_V0_26_070_MODE3A, NULL }; static const AsterixField I021_V0_26_070 = { FIXED, 2, 0, 0, &hf_021_V0_26_070, I021_V0_26_070_PARTS, { NULL } }; static int hf_021_V0_26_080; static int hf_021_V0_26_080_VALUE; static const FieldPart I021_V0_26_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V0_26_080_VALUE, NULL }; static const FieldPart *I021_V0_26_080_PARTS[] = { &I021_V0_26_080_VALUE, NULL }; static const AsterixField I021_V0_26_080 = { FIXED, 3, 0, 0, &hf_021_V0_26_080, I021_V0_26_080_PARTS, { NULL } }; static int hf_021_V0_26_090; static int hf_021_V0_26_090_AC; static const value_string valstr_021_V0_26_090_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_26_090_AC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_26_090_AC, NULL }; static int hf_021_V0_26_090_MN; static const value_string valstr_021_V0_26_090_MN[] = { { 0, "Unknown" }, { 1, "Multiple Navigation not operational" }, { 2, "Multiple Navigation operartional" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_26_090_MN = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_26_090_MN, NULL }; static int hf_021_V0_26_090_DC; static const value_string valstr_021_V0_26_090_DC[] = { { 0, "Unknown" }, { 1, "Differencial Correction" }, { 2, "NO Differencial Correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V0_26_090_DC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_26_090_DC, NULL }; static int hf_021_V0_26_090_PA; static const FieldPart I021_V0_26_090_PA = { 4, 1.0, FIELD_PART_FLOAT, &hf_021_V0_26_090_PA, NULL }; static const FieldPart *I021_V0_26_090_PARTS[] = { &I021_V0_26_090_AC, &I021_V0_26_090_MN, &I021_V0_26_090_DC, &IXXX_6bit_spare, &I021_V0_26_090_PA, NULL }; static const AsterixField I021_V0_26_090 = { FIXED, 2, 0, 0, &hf_021_V0_26_090, I021_V0_26_090_PARTS, { NULL } }; static int hf_021_V0_26_095; static int hf_021_V0_26_095_VALUE; static const FieldPart I021_V0_26_095_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_26_095_VALUE, NULL }; static const FieldPart *I021_V0_26_095_PARTS[] = { &I021_V0_26_095_VALUE, NULL }; static const AsterixField I021_V0_26_095 = { FIXED, 1, 0, 0, &hf_021_V0_26_095, I021_V0_26_095_PARTS, { NULL } }; static int hf_021_V0_26_110; static int hf_021_V0_26_110_TIS; static int hf_021_V0_26_110_TIS_NAV; static const value_string valstr_021_V0_26_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TIS_NAV, NULL }; static int hf_021_V0_26_110_TIS_NVB; static const value_string valstr_021_V0_26_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TIS_NVB, NULL }; static const FieldPart *I021_V0_26_110_TIS_PARTS[] = { &I021_V0_26_110_TIS_NAV, &I021_V0_26_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V0_26_110_TIS = { FX, 1, 0, 0, &hf_021_V0_26_110_TIS, I021_V0_26_110_TIS_PARTS, { NULL } }; static int hf_021_V0_26_110_TID; static int hf_021_V0_26_110_TID_TCA; static const value_string valstr_021_V0_26_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TID_TCA, NULL }; static int hf_021_V0_26_110_TID_NC; static const value_string valstr_021_V0_26_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TID_NC, NULL }; static int hf_021_V0_26_110_TID_TCPN; static const FieldPart I021_V0_26_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V0_26_110_TID_TCPN, NULL }; static int hf_021_V0_26_110_TID_ALT; static const FieldPart I021_V0_26_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V0_26_110_TID_ALT, NULL }; static int hf_021_V0_26_110_TID_LAT; static const FieldPart I021_V0_26_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_26_110_TID_LAT, NULL }; static int hf_021_V0_26_110_TID_LON; static const FieldPart I021_V0_26_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V0_26_110_TID_LON, NULL }; static int hf_021_V0_26_110_TID_PT; static const value_string valstr_021_V0_26_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TID_PT, NULL }; static int hf_021_V0_26_110_TID_TD; static const value_string valstr_021_V0_26_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TID_TD, NULL }; static int hf_021_V0_26_110_TID_TRA; static const value_string valstr_021_V0_26_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TID_TRA, NULL }; static int hf_021_V0_26_110_TID_TOA; static const value_string valstr_021_V0_26_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V0_26_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_110_TID_TOA, NULL }; static int hf_021_V0_26_110_TID_TOV; static const FieldPart I021_V0_26_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_26_110_TID_TOV, NULL }; static int hf_021_V0_26_110_TID_TTR; static const FieldPart I021_V0_26_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V0_26_110_TID_TTR, NULL }; static const FieldPart *I021_V0_26_110_TID_PARTS[] = { &I021_V0_26_110_TID_TCA, &I021_V0_26_110_TID_NC, &I021_V0_26_110_TID_TCPN, &I021_V0_26_110_TID_ALT, &I021_V0_26_110_TID_LAT, &I021_V0_26_110_TID_LON, &I021_V0_26_110_TID_PT, &I021_V0_26_110_TID_TD, &I021_V0_26_110_TID_TRA, &I021_V0_26_110_TID_TOA, &I021_V0_26_110_TID_TOV, &I021_V0_26_110_TID_TTR, NULL }; static const AsterixField I021_V0_26_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V0_26_110_TID, I021_V0_26_110_TID_PARTS, { NULL } }; static const AsterixField I021_V0_26_110 = { COMPOUND, 0, 0, 0, &hf_021_V0_26_110, NULL, { &I021_V0_26_110_TIS, &I021_V0_26_110_TID, NULL } }; static int hf_021_V0_26_130; static int hf_021_V0_26_130_LAT; static const FieldPart I021_V0_26_130_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_021_V0_26_130_LAT, NULL }; static int hf_021_V0_26_130_LON; static const FieldPart I021_V0_26_130_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_021_V0_26_130_LON, NULL }; static const FieldPart *I021_V0_26_130_PARTS[] = { &I021_V0_26_130_LAT, &I021_V0_26_130_LON, NULL }; static const AsterixField I021_V0_26_130 = { FIXED, 8, 0, 0, &hf_021_V0_26_130, I021_V0_26_130_PARTS, { NULL } }; static int hf_021_V0_26_131; static int hf_021_V0_26_131_VALUE; static const FieldPart I021_V0_26_131_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V0_26_131_VALUE, NULL }; static const FieldPart *I021_V0_26_131_PARTS[] = { &I021_V0_26_131_VALUE, NULL }; static const AsterixField I021_V0_26_131 = { FIXED, 1, 0, 0, &hf_021_V0_26_131, I021_V0_26_131_PARTS, { NULL } }; static int hf_021_V0_26_140; static int hf_021_V0_26_140_VALUE; static const FieldPart I021_V0_26_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_26_140_VALUE, NULL }; static const FieldPart *I021_V0_26_140_PARTS[] = { &I021_V0_26_140_VALUE, NULL }; static const AsterixField I021_V0_26_140 = { FIXED, 2, 0, 0, &hf_021_V0_26_140, I021_V0_26_140_PARTS, { NULL } }; static int hf_021_V0_26_145; static int hf_021_V0_26_145_VALUE; static const FieldPart I021_V0_26_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_26_145_VALUE, NULL }; static const FieldPart *I021_V0_26_145_PARTS[] = { &I021_V0_26_145_VALUE, NULL }; static const AsterixField I021_V0_26_145 = { FIXED, 2, 0, 0, &hf_021_V0_26_145, I021_V0_26_145_PARTS, { NULL } }; static int hf_021_V0_26_146; static int hf_021_V0_26_146_SAS; static const value_string valstr_021_V0_26_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V0_26_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_146_SAS, NULL }; static int hf_021_V0_26_146_SRC; static const value_string valstr_021_V0_26_146_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V0_26_146_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_26_146_SRC, NULL }; static int hf_021_V0_26_146_ALT; static const FieldPart I021_V0_26_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_26_146_ALT, NULL }; static const FieldPart *I021_V0_26_146_PARTS[] = { &I021_V0_26_146_SAS, &I021_V0_26_146_SRC, &I021_V0_26_146_ALT, NULL }; static const AsterixField I021_V0_26_146 = { FIXED, 2, 0, 0, &hf_021_V0_26_146, I021_V0_26_146_PARTS, { NULL } }; static int hf_021_V0_26_148; static int hf_021_V0_26_148_MV; static const value_string valstr_021_V0_26_148_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_26_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_148_MV, NULL }; static int hf_021_V0_26_148_AH; static const value_string valstr_021_V0_26_148_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_26_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_148_AH, NULL }; static int hf_021_V0_26_148_AM; static const value_string valstr_021_V0_26_148_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V0_26_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_148_AM, NULL }; static int hf_021_V0_26_148_ALT; static const FieldPart I021_V0_26_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V0_26_148_ALT, NULL }; static const FieldPart *I021_V0_26_148_PARTS[] = { &I021_V0_26_148_MV, &I021_V0_26_148_AH, &I021_V0_26_148_AM, &I021_V0_26_148_ALT, NULL }; static const AsterixField I021_V0_26_148 = { FIXED, 2, 0, 0, &hf_021_V0_26_148, I021_V0_26_148_PARTS, { NULL } }; static int hf_021_V0_26_150; static int hf_021_V0_26_150_IM; static const value_string valstr_021_V0_26_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V0_26_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_150_IM, NULL }; static int hf_021_V0_26_150_AS; static const FieldPart I021_V0_26_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V0_26_150_AS, NULL }; static const FieldPart *I021_V0_26_150_PARTS[] = { &I021_V0_26_150_IM, &I021_V0_26_150_AS, NULL }; static const AsterixField I021_V0_26_150 = { FIXED, 2, 0, 0, &hf_021_V0_26_150, I021_V0_26_150_PARTS, { NULL } }; static int hf_021_V0_26_151; static int hf_021_V0_26_151_VALUE; static const FieldPart I021_V0_26_151_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_26_151_VALUE, NULL }; static const FieldPart *I021_V0_26_151_PARTS[] = { &I021_V0_26_151_VALUE, NULL }; static const AsterixField I021_V0_26_151 = { FIXED, 2, 0, 0, &hf_021_V0_26_151, I021_V0_26_151_PARTS, { NULL } }; static int hf_021_V0_26_152; static int hf_021_V0_26_152_VALUE; static const FieldPart I021_V0_26_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_26_152_VALUE, NULL }; static const FieldPart *I021_V0_26_152_PARTS[] = { &I021_V0_26_152_VALUE, NULL }; static const AsterixField I021_V0_26_152 = { FIXED, 2, 0, 0, &hf_021_V0_26_152, I021_V0_26_152_PARTS, { NULL } }; static int hf_021_V0_26_155; static int hf_021_V0_26_155_VALUE; static const FieldPart I021_V0_26_155_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_26_155_VALUE, NULL }; static const FieldPart *I021_V0_26_155_PARTS[] = { &I021_V0_26_155_VALUE, NULL }; static const AsterixField I021_V0_26_155 = { FIXED, 2, 0, 0, &hf_021_V0_26_155, I021_V0_26_155_PARTS, { NULL } }; static int hf_021_V0_26_157; static int hf_021_V0_26_157_VALUE; static const FieldPart I021_V0_26_157_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V0_26_157_VALUE, NULL }; static const FieldPart *I021_V0_26_157_PARTS[] = { &I021_V0_26_157_VALUE, NULL }; static const AsterixField I021_V0_26_157 = { FIXED, 2, 0, 0, &hf_021_V0_26_157, I021_V0_26_157_PARTS, { NULL } }; static int hf_021_V0_26_160; static int hf_021_V0_26_160_GS; static const FieldPart I021_V0_26_160_GS = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_021_V0_26_160_GS, NULL }; static int hf_021_V0_26_160_TA; static const FieldPart I021_V0_26_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V0_26_160_TA, NULL }; static const FieldPart *I021_V0_26_160_PARTS[] = { &I021_V0_26_160_GS, &I021_V0_26_160_TA, NULL }; static const AsterixField I021_V0_26_160 = { FIXED, 4, 0, 0, &hf_021_V0_26_160, I021_V0_26_160_PARTS, { NULL } }; static int hf_021_V0_26_165; static int hf_021_V0_26_165_TI; static const value_string valstr_021_V0_26_165_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I021_V0_26_165_TI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V0_26_165_TI, NULL }; static int hf_021_V0_26_165_ROT; static const FieldPart I021_V0_26_165_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_021_V0_26_165_ROT, NULL }; static const FieldPart *I021_V0_26_165_PARTS[] = { &I021_V0_26_165_TI, &IXXX_5bit_spare, &IXXX_FX, &I021_V0_26_165_ROT, &IXXX_FX, NULL }; static const AsterixField I021_V0_26_165 = { FX, 1, 0, 0, &hf_021_V0_26_165, I021_V0_26_165_PARTS, { NULL } }; static int hf_021_V0_26_170; static int hf_021_V0_26_170_VALUE; static const FieldPart I021_V0_26_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V0_26_170_VALUE, NULL }; static const FieldPart *I021_V0_26_170_PARTS[] = { &I021_V0_26_170_VALUE, NULL }; static const AsterixField I021_V0_26_170 = { FIXED, 6, 0, 0, &hf_021_V0_26_170, I021_V0_26_170_PARTS, { NULL } }; static int hf_021_V0_26_200; static int hf_021_V0_26_200_VALUE; static const value_string valstr_021_V0_26_200_VALUE[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 0, NULL } }; static const FieldPart I021_V0_26_200_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_26_200_VALUE, NULL }; static const FieldPart *I021_V0_26_200_PARTS[] = { &I021_V0_26_200_VALUE, NULL }; static const AsterixField I021_V0_26_200 = { FIXED, 1, 0, 0, &hf_021_V0_26_200, I021_V0_26_200_PARTS, { NULL } }; static int hf_021_V0_26_210; static int hf_021_V0_26_210_DTI; static const value_string valstr_021_V0_26_210_DTI[] = { { 0, "Unknown" }, { 1, "Aircraft equiped with CDTI" }, { 0, NULL } }; static const FieldPart I021_V0_26_210_DTI = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_210_DTI, NULL }; static int hf_021_V0_26_210_MDS; static const value_string valstr_021_V0_26_210_MDS[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_26_210_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_210_MDS, NULL }; static int hf_021_V0_26_210_UAT; static const value_string valstr_021_V0_26_210_UAT[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_26_210_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_210_UAT, NULL }; static int hf_021_V0_26_210_VDL; static const value_string valstr_021_V0_26_210_VDL[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_26_210_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_210_VDL, NULL }; static int hf_021_V0_26_210_OTR; static const value_string valstr_021_V0_26_210_OTR[] = { { 0, "Not used" }, { 1, "Used" }, { 0, NULL } }; static const FieldPart I021_V0_26_210_OTR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V0_26_210_OTR, NULL }; static const FieldPart *I021_V0_26_210_PARTS[] = { &IXXX_3bit_spare, &I021_V0_26_210_DTI, &I021_V0_26_210_MDS, &I021_V0_26_210_UAT, &I021_V0_26_210_VDL, &I021_V0_26_210_OTR, NULL }; static const AsterixField I021_V0_26_210 = { FIXED, 1, 0, 0, &hf_021_V0_26_210, I021_V0_26_210_PARTS, { NULL } }; static int hf_021_V0_26_220; static int hf_021_V0_26_220_WS; static int hf_021_V0_26_220_WS_VALUE; static const FieldPart I021_V0_26_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_26_220_WS_VALUE, NULL }; static const FieldPart *I021_V0_26_220_WS_PARTS[] = { &I021_V0_26_220_WS_VALUE, NULL }; static const AsterixField I021_V0_26_220_WS = { FIXED, 2, 0, 0, &hf_021_V0_26_220_WS, I021_V0_26_220_WS_PARTS, { NULL } }; static int hf_021_V0_26_220_WD; static int hf_021_V0_26_220_WD_VALUE; static const FieldPart I021_V0_26_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V0_26_220_WD_VALUE, NULL }; static const FieldPart *I021_V0_26_220_WD_PARTS[] = { &I021_V0_26_220_WD_VALUE, NULL }; static const AsterixField I021_V0_26_220_WD = { FIXED, 2, 0, 0, &hf_021_V0_26_220_WD, I021_V0_26_220_WD_PARTS, { NULL } }; static int hf_021_V0_26_220_TMP; static int hf_021_V0_26_220_TMP_VALUE; static const FieldPart I021_V0_26_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V0_26_220_TMP_VALUE, NULL }; static const FieldPart *I021_V0_26_220_TMP_PARTS[] = { &I021_V0_26_220_TMP_VALUE, NULL }; static const AsterixField I021_V0_26_220_TMP = { FIXED, 2, 0, 0, &hf_021_V0_26_220_TMP, I021_V0_26_220_TMP_PARTS, { NULL } }; static int hf_021_V0_26_220_TRB; static int hf_021_V0_26_220_TRB_VALUE; static const FieldPart I021_V0_26_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V0_26_220_TRB_VALUE, NULL }; static const FieldPart *I021_V0_26_220_TRB_PARTS[] = { &I021_V0_26_220_TRB_VALUE, NULL }; static const AsterixField I021_V0_26_220_TRB = { FIXED, 1, 0, 0, &hf_021_V0_26_220_TRB, I021_V0_26_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V0_26_220 = { COMPOUND, 0, 0, 0, &hf_021_V0_26_220, NULL, { &I021_V0_26_220_WS, &I021_V0_26_220_WD, &I021_V0_26_220_TMP, &I021_V0_26_220_TRB, NULL } }; static int hf_021_V0_26_230; static int hf_021_V0_26_230_VALUE; static const FieldPart I021_V0_26_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V0_26_230_VALUE, NULL }; static const FieldPart *I021_V0_26_230_PARTS[] = { &I021_V0_26_230_VALUE, NULL }; static const AsterixField I021_V0_26_230 = { FIXED, 2, 0, 0, &hf_021_V0_26_230, I021_V0_26_230_PARTS, { NULL } }; static int hf_021_V0_26_RE; static const AsterixField I021_V0_26_RE = { EXP, 0, 0, 1, &hf_021_V0_26_RE, NULL, { NULL } }; static int hf_021_V0_26_SP; static const AsterixField I021_V0_26_SP = { EXP, 0, 0, 1, &hf_021_V0_26_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V0_26_uap[] = { &I021_V0_26_010, &I021_V0_26_040, &I021_V0_26_030, &I021_V0_26_130, &I021_V0_26_080, &I021_V0_26_140, &I021_V0_26_090, &I021_V0_26_210, &I021_V0_26_230, &I021_V0_26_145, &I021_V0_26_150, &I021_V0_26_151, &I021_V0_26_152, &I021_V0_26_155, &I021_V0_26_157, &I021_V0_26_160, &I021_V0_26_165, &I021_V0_26_170, &I021_V0_26_095, &I021_V0_26_032, &I021_V0_26_200, &I021_V0_26_020, &I021_V0_26_220, &I021_V0_26_146, &I021_V0_26_148, &I021_V0_26_110, &I021_V0_26_070, &I021_V0_26_131, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V0_26_RE, &I021_V0_26_SP, NULL }; static const AsterixField **I021_V0_26[] = { I021_V0_26_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 2.2 */ static int hf_021_V2_2_008; static int hf_021_V2_2_008_RA; static const value_string valstr_021_V2_2_008_RA[] = { { 0, "TCAS II or ACAS RA not active" }, { 1, "TCAS RA active" }, { 0, NULL } }; static const FieldPart I021_V2_2_008_RA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_008_RA, NULL }; static int hf_021_V2_2_008_TC; static const value_string valstr_021_V2_2_008_TC[] = { { 0, "No capability for Trajectory Change Reports" }, { 1, "Support for TC+0 reports only" }, { 2, "Support for multiple TC reports" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V2_2_008_TC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_008_TC, NULL }; static int hf_021_V2_2_008_TS; static const value_string valstr_021_V2_2_008_TS[] = { { 0, "No capability to support Target State Reports" }, { 1, "Capable of supporting target State Reports" }, { 0, NULL } }; static const FieldPart I021_V2_2_008_TS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_008_TS, NULL }; static int hf_021_V2_2_008_ARV; static const value_string valstr_021_V2_2_008_ARV[] = { { 0, "No capability to generate ARV-reports" }, { 1, "Capable of generate ARV-reports" }, { 0, NULL } }; static const FieldPart I021_V2_2_008_ARV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_008_ARV, NULL }; static int hf_021_V2_2_008_CDTIA; static const value_string valstr_021_V2_2_008_CDTIA[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_2_008_CDTIA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_008_CDTIA, NULL }; static int hf_021_V2_2_008_NOTTCAS; static const value_string valstr_021_V2_2_008_NOTTCAS[] = { { 0, "TCAS operational" }, { 1, "TCAS not operational" }, { 0, NULL } }; static const FieldPart I021_V2_2_008_NOTTCAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_008_NOTTCAS, NULL }; static int hf_021_V2_2_008_SA; static const value_string valstr_021_V2_2_008_SA[] = { { 0, "Antenna Diversity" }, { 1, "Single Antenna only" }, { 0, NULL } }; static const FieldPart I021_V2_2_008_SA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_008_SA, NULL }; static const FieldPart *I021_V2_2_008_PARTS[] = { &I021_V2_2_008_RA, &I021_V2_2_008_TC, &I021_V2_2_008_TS, &I021_V2_2_008_ARV, &I021_V2_2_008_CDTIA, &I021_V2_2_008_NOTTCAS, &I021_V2_2_008_SA, NULL }; static const AsterixField I021_V2_2_008 = { FIXED, 1, 0, 0, &hf_021_V2_2_008, I021_V2_2_008_PARTS, { NULL } }; static int hf_021_V2_2_010; static int hf_021_V2_2_010_SAC; static const FieldPart I021_V2_2_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_2_010_SAC, NULL }; static int hf_021_V2_2_010_SIC; static const FieldPart I021_V2_2_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_2_010_SIC, NULL }; static const FieldPart *I021_V2_2_010_PARTS[] = { &I021_V2_2_010_SAC, &I021_V2_2_010_SIC, NULL }; static const AsterixField I021_V2_2_010 = { FIXED, 2, 0, 0, &hf_021_V2_2_010, I021_V2_2_010_PARTS, { NULL } }; static int hf_021_V2_2_015; static int hf_021_V2_2_015_VALUE; static const FieldPart I021_V2_2_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_2_015_VALUE, NULL }; static const FieldPart *I021_V2_2_015_PARTS[] = { &I021_V2_2_015_VALUE, NULL }; static const AsterixField I021_V2_2_015 = { FIXED, 1, 0, 0, &hf_021_V2_2_015, I021_V2_2_015_PARTS, { NULL } }; static int hf_021_V2_2_016; static int hf_021_V2_2_016_VALUE; static const FieldPart I021_V2_2_016_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_021_V2_2_016_VALUE, NULL }; static const FieldPart *I021_V2_2_016_PARTS[] = { &I021_V2_2_016_VALUE, NULL }; static const AsterixField I021_V2_2_016 = { FIXED, 1, 0, 0, &hf_021_V2_2_016, I021_V2_2_016_PARTS, { NULL } }; static int hf_021_V2_2_020; static int hf_021_V2_2_020_VALUE; static const value_string valstr_021_V2_2_020_VALUE[] = { { 0, "No ADS-B Emitter Category Information" }, { 1, "Light aircraft <= 15500 lbs" }, { 2, "15500 lbs < small aircraft <75000 lbs" }, { 3, "75000 lbs < medium a/c < 300000 lbs" }, { 4, "High Vortex Large" }, { 5, "300000 lbs <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Cluster obstacle" }, { 24, "Line obstacle" }, { 0, NULL } }; static const FieldPart I021_V2_2_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_2_020_VALUE, NULL }; static const FieldPart *I021_V2_2_020_PARTS[] = { &I021_V2_2_020_VALUE, NULL }; static const AsterixField I021_V2_2_020 = { FIXED, 1, 0, 0, &hf_021_V2_2_020, I021_V2_2_020_PARTS, { NULL } }; static int hf_021_V2_2_040; static int hf_021_V2_2_040_ATP; static const value_string valstr_021_V2_2_040_ATP[] = { { 0, "24-Bit ICAO address" }, { 1, "Duplicate address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_ATP, NULL }; static int hf_021_V2_2_040_ARC; static const value_string valstr_021_V2_2_040_ARC[] = { { 0, "25 ft" }, { 1, "100 ft" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_ARC, NULL }; static int hf_021_V2_2_040_RC; static const value_string valstr_021_V2_2_040_RC[] = { { 0, "Default" }, { 1, "Range Check passed, CPR Validation pending" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_RC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_RC, NULL }; static int hf_021_V2_2_040_RAB; static const value_string valstr_021_V2_2_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_RAB, NULL }; static int hf_021_V2_2_040_DCR; static const value_string valstr_021_V2_2_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_DCR, NULL }; static int hf_021_V2_2_040_GBS; static const value_string valstr_021_V2_2_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_GBS, NULL }; static int hf_021_V2_2_040_SIM; static const value_string valstr_021_V2_2_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_SIM, NULL }; static int hf_021_V2_2_040_TST; static const value_string valstr_021_V2_2_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_TST, NULL }; static int hf_021_V2_2_040_SAA; static const value_string valstr_021_V2_2_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_SAA, NULL }; static int hf_021_V2_2_040_CL; static const value_string valstr_021_V2_2_040_CL[] = { { 0, "Report valid" }, { 1, "Report suspect" }, { 2, "No information" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_CL = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_CL, NULL }; static int hf_021_V2_2_040_IPC; static const value_string valstr_021_V2_2_040_IPC[] = { { 0, "Default (see note)" }, { 1, "Independent Position Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_IPC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_IPC, NULL }; static int hf_021_V2_2_040_NOGO; static const value_string valstr_021_V2_2_040_NOGO[] = { { 0, "NOGO-bit not set" }, { 1, "NOGO-bit set" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_NOGO, NULL }; static int hf_021_V2_2_040_CPR; static const value_string valstr_021_V2_2_040_CPR[] = { { 0, "CPR Validation correct" }, { 1, "CPR Validation failed" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_CPR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_CPR, NULL }; static int hf_021_V2_2_040_LDPJ; static const value_string valstr_021_V2_2_040_LDPJ[] = { { 0, "LDPJ not detected" }, { 1, "LDPJ detected" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_LDPJ = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_LDPJ, NULL }; static int hf_021_V2_2_040_RCF; static const value_string valstr_021_V2_2_040_RCF[] = { { 0, "Default" }, { 1, "Range Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_2_040_RCF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_040_RCF, NULL }; static const FieldPart *I021_V2_2_040_PARTS[] = { &I021_V2_2_040_ATP, &I021_V2_2_040_ARC, &I021_V2_2_040_RC, &I021_V2_2_040_RAB, &IXXX_FX, &I021_V2_2_040_DCR, &I021_V2_2_040_GBS, &I021_V2_2_040_SIM, &I021_V2_2_040_TST, &I021_V2_2_040_SAA, &I021_V2_2_040_CL, &IXXX_FX, &IXXX_2bit_spare, &I021_V2_2_040_IPC, &I021_V2_2_040_NOGO, &I021_V2_2_040_CPR, &I021_V2_2_040_LDPJ, &I021_V2_2_040_RCF, &IXXX_FX, NULL }; static const AsterixField I021_V2_2_040 = { FX, 1, 0, 0, &hf_021_V2_2_040, I021_V2_2_040_PARTS, { NULL } }; static int hf_021_V2_2_070; static int hf_021_V2_2_070_MODE3A; static const FieldPart I021_V2_2_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_V2_2_070_MODE3A, NULL }; static const FieldPart *I021_V2_2_070_PARTS[] = { &IXXX_4bit_spare, &I021_V2_2_070_MODE3A, NULL }; static const AsterixField I021_V2_2_070 = { FIXED, 2, 0, 0, &hf_021_V2_2_070, I021_V2_2_070_PARTS, { NULL } }; static int hf_021_V2_2_071; static int hf_021_V2_2_071_VALUE; static const FieldPart I021_V2_2_071_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_2_071_VALUE, NULL }; static const FieldPart *I021_V2_2_071_PARTS[] = { &I021_V2_2_071_VALUE, NULL }; static const AsterixField I021_V2_2_071 = { FIXED, 3, 0, 0, &hf_021_V2_2_071, I021_V2_2_071_PARTS, { NULL } }; static int hf_021_V2_2_072; static int hf_021_V2_2_072_VALUE; static const FieldPart I021_V2_2_072_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_2_072_VALUE, NULL }; static const FieldPart *I021_V2_2_072_PARTS[] = { &I021_V2_2_072_VALUE, NULL }; static const AsterixField I021_V2_2_072 = { FIXED, 3, 0, 0, &hf_021_V2_2_072, I021_V2_2_072_PARTS, { NULL } }; static int hf_021_V2_2_073; static int hf_021_V2_2_073_VALUE; static const FieldPart I021_V2_2_073_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_2_073_VALUE, NULL }; static const FieldPart *I021_V2_2_073_PARTS[] = { &I021_V2_2_073_VALUE, NULL }; static const AsterixField I021_V2_2_073 = { FIXED, 3, 0, 0, &hf_021_V2_2_073, I021_V2_2_073_PARTS, { NULL } }; static int hf_021_V2_2_074; static int hf_021_V2_2_074_FSI; static const value_string valstr_021_V2_2_074_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/073) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/073) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/073) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_2_074_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_074_FSI, NULL }; static int hf_021_V2_2_074_TOMRP; static const FieldPart I021_V2_2_074_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_2_074_TOMRP, NULL }; static const FieldPart *I021_V2_2_074_PARTS[] = { &I021_V2_2_074_FSI, &I021_V2_2_074_TOMRP, NULL }; static const AsterixField I021_V2_2_074 = { FIXED, 4, 0, 0, &hf_021_V2_2_074, I021_V2_2_074_PARTS, { NULL } }; static int hf_021_V2_2_075; static int hf_021_V2_2_075_VALUE; static const FieldPart I021_V2_2_075_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_2_075_VALUE, NULL }; static const FieldPart *I021_V2_2_075_PARTS[] = { &I021_V2_2_075_VALUE, NULL }; static const AsterixField I021_V2_2_075 = { FIXED, 3, 0, 0, &hf_021_V2_2_075, I021_V2_2_075_PARTS, { NULL } }; static int hf_021_V2_2_076; static int hf_021_V2_2_076_FSI; static const value_string valstr_021_V2_2_076_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/075) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/075) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/075) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_2_076_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_076_FSI, NULL }; static int hf_021_V2_2_076_TOMRP; static const FieldPart I021_V2_2_076_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_2_076_TOMRP, NULL }; static const FieldPart *I021_V2_2_076_PARTS[] = { &I021_V2_2_076_FSI, &I021_V2_2_076_TOMRP, NULL }; static const AsterixField I021_V2_2_076 = { FIXED, 4, 0, 0, &hf_021_V2_2_076, I021_V2_2_076_PARTS, { NULL } }; static int hf_021_V2_2_077; static int hf_021_V2_2_077_VALUE; static const FieldPart I021_V2_2_077_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_2_077_VALUE, NULL }; static const FieldPart *I021_V2_2_077_PARTS[] = { &I021_V2_2_077_VALUE, NULL }; static const AsterixField I021_V2_2_077 = { FIXED, 3, 0, 0, &hf_021_V2_2_077, I021_V2_2_077_PARTS, { NULL } }; static int hf_021_V2_2_080; static int hf_021_V2_2_080_VALUE; static const FieldPart I021_V2_2_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V2_2_080_VALUE, NULL }; static const FieldPart *I021_V2_2_080_PARTS[] = { &I021_V2_2_080_VALUE, NULL }; static const AsterixField I021_V2_2_080 = { FIXED, 3, 0, 0, &hf_021_V2_2_080, I021_V2_2_080_PARTS, { NULL } }; static int hf_021_V2_2_090; static int hf_021_V2_2_090_NUCRNACV; static const FieldPart I021_V2_2_090_NUCRNACV = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_NUCRNACV, NULL }; static int hf_021_V2_2_090_NUCPNIC; static const FieldPart I021_V2_2_090_NUCPNIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_NUCPNIC, NULL }; static int hf_021_V2_2_090_NICBARO; static const FieldPart I021_V2_2_090_NICBARO = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_NICBARO, NULL }; static int hf_021_V2_2_090_SIL; static const FieldPart I021_V2_2_090_SIL = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_SIL, NULL }; static int hf_021_V2_2_090_NACP; static const FieldPart I021_V2_2_090_NACP = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_NACP, NULL }; static int hf_021_V2_2_090_SILS; static const value_string valstr_021_V2_2_090_SILS[] = { { 0, "Measured per flight-hour" }, { 1, "Measured per sample" }, { 0, NULL } }; static const FieldPart I021_V2_2_090_SILS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_090_SILS, NULL }; static int hf_021_V2_2_090_SDA; static const FieldPart I021_V2_2_090_SDA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_SDA, NULL }; static int hf_021_V2_2_090_GVA; static const FieldPart I021_V2_2_090_GVA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_GVA, NULL }; static int hf_021_V2_2_090_PIC; static const FieldPart I021_V2_2_090_PIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_2_090_PIC, NULL }; static const FieldPart *I021_V2_2_090_PARTS[] = { &I021_V2_2_090_NUCRNACV, &I021_V2_2_090_NUCPNIC, &IXXX_FX, &I021_V2_2_090_NICBARO, &I021_V2_2_090_SIL, &I021_V2_2_090_NACP, &IXXX_FX, &IXXX_2bit_spare, &I021_V2_2_090_SILS, &I021_V2_2_090_SDA, &I021_V2_2_090_GVA, &IXXX_FX, &I021_V2_2_090_PIC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_2_090 = { FX, 1, 0, 0, &hf_021_V2_2_090, I021_V2_2_090_PARTS, { NULL } }; static int hf_021_V2_2_110; static int hf_021_V2_2_110_TIS; static int hf_021_V2_2_110_TIS_NAV; static const value_string valstr_021_V2_2_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TIS_NAV, NULL }; static int hf_021_V2_2_110_TIS_NVB; static const value_string valstr_021_V2_2_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TIS_NVB, NULL }; static const FieldPart *I021_V2_2_110_TIS_PARTS[] = { &I021_V2_2_110_TIS_NAV, &I021_V2_2_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_2_110_TIS = { FX, 1, 0, 0, &hf_021_V2_2_110_TIS, I021_V2_2_110_TIS_PARTS, { NULL } }; static int hf_021_V2_2_110_TID; static int hf_021_V2_2_110_TID_TCA; static const value_string valstr_021_V2_2_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TID_TCA, NULL }; static int hf_021_V2_2_110_TID_NC; static const value_string valstr_021_V2_2_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TID_NC, NULL }; static int hf_021_V2_2_110_TID_TCPN; static const FieldPart I021_V2_2_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V2_2_110_TID_TCPN, NULL }; static int hf_021_V2_2_110_TID_ALT; static const FieldPart I021_V2_2_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V2_2_110_TID_ALT, NULL }; static int hf_021_V2_2_110_TID_LAT; static const FieldPart I021_V2_2_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_2_110_TID_LAT, NULL }; static int hf_021_V2_2_110_TID_LON; static const FieldPart I021_V2_2_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_2_110_TID_LON, NULL }; static int hf_021_V2_2_110_TID_PT; static const value_string valstr_021_V2_2_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TID_PT, NULL }; static int hf_021_V2_2_110_TID_TD; static const value_string valstr_021_V2_2_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TID_TD, NULL }; static int hf_021_V2_2_110_TID_TRA; static const value_string valstr_021_V2_2_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TID_TRA, NULL }; static int hf_021_V2_2_110_TID_TOA; static const value_string valstr_021_V2_2_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V2_2_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_110_TID_TOA, NULL }; static int hf_021_V2_2_110_TID_TOV; static const FieldPart I021_V2_2_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_2_110_TID_TOV, NULL }; static int hf_021_V2_2_110_TID_TTR; static const FieldPart I021_V2_2_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V2_2_110_TID_TTR, NULL }; static const FieldPart *I021_V2_2_110_TID_PARTS[] = { &I021_V2_2_110_TID_TCA, &I021_V2_2_110_TID_NC, &I021_V2_2_110_TID_TCPN, &I021_V2_2_110_TID_ALT, &I021_V2_2_110_TID_LAT, &I021_V2_2_110_TID_LON, &I021_V2_2_110_TID_PT, &I021_V2_2_110_TID_TD, &I021_V2_2_110_TID_TRA, &I021_V2_2_110_TID_TOA, &I021_V2_2_110_TID_TOV, &I021_V2_2_110_TID_TTR, NULL }; static const AsterixField I021_V2_2_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V2_2_110_TID, I021_V2_2_110_TID_PARTS, { NULL } }; static const AsterixField I021_V2_2_110 = { COMPOUND, 0, 0, 0, &hf_021_V2_2_110, NULL, { &I021_V2_2_110_TIS, &I021_V2_2_110_TID, NULL } }; static int hf_021_V2_2_130; static int hf_021_V2_2_130_LAT; static const FieldPart I021_V2_2_130_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_2_130_LAT, NULL }; static int hf_021_V2_2_130_LON; static const FieldPart I021_V2_2_130_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_2_130_LON, NULL }; static const FieldPart *I021_V2_2_130_PARTS[] = { &I021_V2_2_130_LAT, &I021_V2_2_130_LON, NULL }; static const AsterixField I021_V2_2_130 = { FIXED, 6, 0, 0, &hf_021_V2_2_130, I021_V2_2_130_PARTS, { NULL } }; static int hf_021_V2_2_131; static int hf_021_V2_2_131_LAT; static const FieldPart I021_V2_2_131_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_2_131_LAT, NULL }; static int hf_021_V2_2_131_LON; static const FieldPart I021_V2_2_131_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_2_131_LON, NULL }; static const FieldPart *I021_V2_2_131_PARTS[] = { &I021_V2_2_131_LAT, &I021_V2_2_131_LON, NULL }; static const AsterixField I021_V2_2_131 = { FIXED, 8, 0, 0, &hf_021_V2_2_131, I021_V2_2_131_PARTS, { NULL } }; static int hf_021_V2_2_132; static int hf_021_V2_2_132_VALUE; static const FieldPart I021_V2_2_132_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_021_V2_2_132_VALUE, NULL }; static const FieldPart *I021_V2_2_132_PARTS[] = { &I021_V2_2_132_VALUE, NULL }; static const AsterixField I021_V2_2_132 = { FIXED, 1, 0, 0, &hf_021_V2_2_132, I021_V2_2_132_PARTS, { NULL } }; static int hf_021_V2_2_140; static int hf_021_V2_2_140_VALUE; static const FieldPart I021_V2_2_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V2_2_140_VALUE, NULL }; static const FieldPart *I021_V2_2_140_PARTS[] = { &I021_V2_2_140_VALUE, NULL }; static const AsterixField I021_V2_2_140 = { FIXED, 2, 0, 0, &hf_021_V2_2_140, I021_V2_2_140_PARTS, { NULL } }; static int hf_021_V2_2_145; static int hf_021_V2_2_145_VALUE; static const FieldPart I021_V2_2_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_2_145_VALUE, NULL }; static const FieldPart *I021_V2_2_145_PARTS[] = { &I021_V2_2_145_VALUE, NULL }; static const AsterixField I021_V2_2_145 = { FIXED, 2, 0, 0, &hf_021_V2_2_145, I021_V2_2_145_PARTS, { NULL } }; static int hf_021_V2_2_146; static int hf_021_V2_2_146_SAS; static const value_string valstr_021_V2_2_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V2_2_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_146_SAS, NULL }; static int hf_021_V2_2_146_S; static const value_string valstr_021_V2_2_146_S[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_2_146_S = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_146_S, NULL }; static int hf_021_V2_2_146_ALT; static const FieldPart I021_V2_2_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_2_146_ALT, NULL }; static const FieldPart *I021_V2_2_146_PARTS[] = { &I021_V2_2_146_SAS, &I021_V2_2_146_S, &I021_V2_2_146_ALT, NULL }; static const AsterixField I021_V2_2_146 = { FIXED, 2, 0, 0, &hf_021_V2_2_146, I021_V2_2_146_PARTS, { NULL } }; static int hf_021_V2_2_148; static int hf_021_V2_2_148_MV; static const value_string valstr_021_V2_2_148_MV[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_2_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_148_MV, NULL }; static int hf_021_V2_2_148_AH; static const value_string valstr_021_V2_2_148_AH[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_2_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_148_AH, NULL }; static int hf_021_V2_2_148_AM; static const value_string valstr_021_V2_2_148_AM[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_2_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_148_AM, NULL }; static int hf_021_V2_2_148_ALT; static const FieldPart I021_V2_2_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_2_148_ALT, NULL }; static const FieldPart *I021_V2_2_148_PARTS[] = { &I021_V2_2_148_MV, &I021_V2_2_148_AH, &I021_V2_2_148_AM, &I021_V2_2_148_ALT, NULL }; static const AsterixField I021_V2_2_148 = { FIXED, 2, 0, 0, &hf_021_V2_2_148, I021_V2_2_148_PARTS, { NULL } }; static int hf_021_V2_2_150; static int hf_021_V2_2_150_IM; static const value_string valstr_021_V2_2_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V2_2_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_150_IM, NULL }; static int hf_021_V2_2_150_AS; static const FieldPart I021_V2_2_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V2_2_150_AS, NULL }; static const FieldPart *I021_V2_2_150_PARTS[] = { &I021_V2_2_150_IM, &I021_V2_2_150_AS, NULL }; static const AsterixField I021_V2_2_150 = { FIXED, 2, 0, 0, &hf_021_V2_2_150, I021_V2_2_150_PARTS, { NULL } }; static int hf_021_V2_2_151; static int hf_021_V2_2_151_RE; static const value_string valstr_021_V2_2_151_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_2_151_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_151_RE, NULL }; static int hf_021_V2_2_151_TAS; static const FieldPart I021_V2_2_151_TAS = { 15, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_2_151_TAS, NULL }; static const FieldPart *I021_V2_2_151_PARTS[] = { &I021_V2_2_151_RE, &I021_V2_2_151_TAS, NULL }; static const AsterixField I021_V2_2_151 = { FIXED, 2, 0, 0, &hf_021_V2_2_151, I021_V2_2_151_PARTS, { NULL } }; static int hf_021_V2_2_152; static int hf_021_V2_2_152_VALUE; static const FieldPart I021_V2_2_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_2_152_VALUE, NULL }; static const FieldPart *I021_V2_2_152_PARTS[] = { &I021_V2_2_152_VALUE, NULL }; static const AsterixField I021_V2_2_152 = { FIXED, 2, 0, 0, &hf_021_V2_2_152, I021_V2_2_152_PARTS, { NULL } }; static int hf_021_V2_2_155; static int hf_021_V2_2_155_RE; static const value_string valstr_021_V2_2_155_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_2_155_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_155_RE, NULL }; static int hf_021_V2_2_155_BVR; static const FieldPart I021_V2_2_155_BVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_2_155_BVR, NULL }; static const FieldPart *I021_V2_2_155_PARTS[] = { &I021_V2_2_155_RE, &I021_V2_2_155_BVR, NULL }; static const AsterixField I021_V2_2_155 = { FIXED, 2, 0, 0, &hf_021_V2_2_155, I021_V2_2_155_PARTS, { NULL } }; static int hf_021_V2_2_157; static int hf_021_V2_2_157_RE; static const value_string valstr_021_V2_2_157_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_2_157_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_157_RE, NULL }; static int hf_021_V2_2_157_GVR; static const FieldPart I021_V2_2_157_GVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_2_157_GVR, NULL }; static const FieldPart *I021_V2_2_157_PARTS[] = { &I021_V2_2_157_RE, &I021_V2_2_157_GVR, NULL }; static const AsterixField I021_V2_2_157 = { FIXED, 2, 0, 0, &hf_021_V2_2_157, I021_V2_2_157_PARTS, { NULL } }; static int hf_021_V2_2_160; static int hf_021_V2_2_160_RE; static const value_string valstr_021_V2_2_160_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_2_160_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_160_RE, NULL }; static int hf_021_V2_2_160_GS; static const FieldPart I021_V2_2_160_GS = { 15, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_021_V2_2_160_GS, NULL }; static int hf_021_V2_2_160_TA; static const FieldPart I021_V2_2_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_2_160_TA, NULL }; static const FieldPart *I021_V2_2_160_PARTS[] = { &I021_V2_2_160_RE, &I021_V2_2_160_GS, &I021_V2_2_160_TA, NULL }; static const AsterixField I021_V2_2_160 = { FIXED, 4, 0, 0, &hf_021_V2_2_160, I021_V2_2_160_PARTS, { NULL } }; static int hf_021_V2_2_161; static int hf_021_V2_2_161_TRNUM; static const FieldPart I021_V2_2_161_TRNUM = { 12, 1.0, FIELD_PART_HEX, &hf_021_V2_2_161_TRNUM, NULL }; static const FieldPart *I021_V2_2_161_PARTS[] = { &IXXX_4bit_spare, &I021_V2_2_161_TRNUM, NULL }; static const AsterixField I021_V2_2_161 = { FIXED, 2, 0, 0, &hf_021_V2_2_161, I021_V2_2_161_PARTS, { NULL } }; static int hf_021_V2_2_165; static int hf_021_V2_2_165_TAR; static const FieldPart I021_V2_2_165_TAR = { 10, 0.03125, FIELD_PART_FLOAT, &hf_021_V2_2_165_TAR, NULL }; static const FieldPart *I021_V2_2_165_PARTS[] = { &IXXX_6bit_spare, &I021_V2_2_165_TAR, NULL }; static const AsterixField I021_V2_2_165 = { FIXED, 2, 0, 0, &hf_021_V2_2_165, I021_V2_2_165_PARTS, { NULL } }; static int hf_021_V2_2_170; static int hf_021_V2_2_170_VALUE; static const FieldPart I021_V2_2_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V2_2_170_VALUE, NULL }; static const FieldPart *I021_V2_2_170_PARTS[] = { &I021_V2_2_170_VALUE, NULL }; static const AsterixField I021_V2_2_170 = { FIXED, 6, 0, 0, &hf_021_V2_2_170, I021_V2_2_170_PARTS, { NULL } }; static int hf_021_V2_2_200; static int hf_021_V2_2_200_ICF; static const value_string valstr_021_V2_2_200_ICF[] = { { 0, "No intent change active" }, { 1, "Intent change flag raised" }, { 0, NULL } }; static const FieldPart I021_V2_2_200_ICF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_200_ICF, NULL }; static int hf_021_V2_2_200_LNAV; static const value_string valstr_021_V2_2_200_LNAV[] = { { 0, "LNAV Mode engaged" }, { 1, "LNAV Mode not engaged" }, { 0, NULL } }; static const FieldPart I021_V2_2_200_LNAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_200_LNAV, NULL }; static int hf_021_V2_2_200_ME; static const value_string valstr_021_V2_2_200_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I021_V2_2_200_ME = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_200_ME, NULL }; static int hf_021_V2_2_200_PS; static const value_string valstr_021_V2_2_200_PS[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical emergency" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "DOWNED Aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_2_200_PS = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_2_200_PS, NULL }; static int hf_021_V2_2_200_SS; static const value_string valstr_021_V2_2_200_SS[] = { { 0, "No condition reported" }, { 1, "Permanent Alert (Emergency condition)" }, { 2, "Temporary Alert (change in Mode 3/A Code other than emergency)" }, { 3, "SPI set" }, { 0, NULL } }; static const FieldPart I021_V2_2_200_SS = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_2_200_SS, NULL }; static const FieldPart *I021_V2_2_200_PARTS[] = { &I021_V2_2_200_ICF, &I021_V2_2_200_LNAV, &I021_V2_2_200_ME, &I021_V2_2_200_PS, &I021_V2_2_200_SS, NULL }; static const AsterixField I021_V2_2_200 = { FIXED, 1, 0, 0, &hf_021_V2_2_200, I021_V2_2_200_PARTS, { NULL } }; static int hf_021_V2_2_210; static int hf_021_V2_2_210_VNS; static const value_string valstr_021_V2_2_210_VNS[] = { { 0, "The MOPS Version is supported by the GS" }, { 1, "The MOPS Version is not supported by the GS" }, { 0, NULL } }; static const FieldPart I021_V2_2_210_VNS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_210_VNS, NULL }; static int hf_021_V2_2_210_VN; static const value_string valstr_021_V2_2_210_VN[] = { { 0, "ED102/DO-260 [Ref. 8]" }, { 1, "DO-260A [Ref. 9]" }, { 2, "ED102A/DO-260B [Ref. 11]" }, { 0, NULL } }; static const FieldPart I021_V2_2_210_VN = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_2_210_VN, NULL }; static int hf_021_V2_2_210_LTT; static const value_string valstr_021_V2_2_210_LTT[] = { { 0, "Other" }, { 1, "UAT" }, { 2, "1090 ES" }, { 3, "VDL 4" }, { 4, "Not assigned" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I021_V2_2_210_LTT = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_2_210_LTT, NULL }; static const FieldPart *I021_V2_2_210_PARTS[] = { &IXXX_1bit_spare, &I021_V2_2_210_VNS, &I021_V2_2_210_VN, &I021_V2_2_210_LTT, NULL }; static const AsterixField I021_V2_2_210 = { FIXED, 1, 0, 0, &hf_021_V2_2_210, I021_V2_2_210_PARTS, { NULL } }; static int hf_021_V2_2_220; static int hf_021_V2_2_220_WS; static int hf_021_V2_2_220_WS_VALUE; static const FieldPart I021_V2_2_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_2_220_WS_VALUE, NULL }; static const FieldPart *I021_V2_2_220_WS_PARTS[] = { &I021_V2_2_220_WS_VALUE, NULL }; static const AsterixField I021_V2_2_220_WS = { FIXED, 2, 0, 0, &hf_021_V2_2_220_WS, I021_V2_2_220_WS_PARTS, { NULL } }; static int hf_021_V2_2_220_WD; static int hf_021_V2_2_220_WD_VALUE; static const FieldPart I021_V2_2_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_2_220_WD_VALUE, NULL }; static const FieldPart *I021_V2_2_220_WD_PARTS[] = { &I021_V2_2_220_WD_VALUE, NULL }; static const AsterixField I021_V2_2_220_WD = { FIXED, 2, 0, 0, &hf_021_V2_2_220_WD, I021_V2_2_220_WD_PARTS, { NULL } }; static int hf_021_V2_2_220_TMP; static int hf_021_V2_2_220_TMP_VALUE; static const FieldPart I021_V2_2_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_2_220_TMP_VALUE, NULL }; static const FieldPart *I021_V2_2_220_TMP_PARTS[] = { &I021_V2_2_220_TMP_VALUE, NULL }; static const AsterixField I021_V2_2_220_TMP = { FIXED, 2, 0, 0, &hf_021_V2_2_220_TMP, I021_V2_2_220_TMP_PARTS, { NULL } }; static int hf_021_V2_2_220_TRB; static int hf_021_V2_2_220_TRB_VALUE; static const FieldPart I021_V2_2_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_2_220_TRB_VALUE, NULL }; static const FieldPart *I021_V2_2_220_TRB_PARTS[] = { &I021_V2_2_220_TRB_VALUE, NULL }; static const AsterixField I021_V2_2_220_TRB = { FIXED, 1, 0, 0, &hf_021_V2_2_220_TRB, I021_V2_2_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V2_2_220 = { COMPOUND, 0, 0, 0, &hf_021_V2_2_220, NULL, { &I021_V2_2_220_WS, &I021_V2_2_220_WD, &I021_V2_2_220_TMP, &I021_V2_2_220_TRB, NULL } }; static int hf_021_V2_2_230; static int hf_021_V2_2_230_VALUE; static const FieldPart I021_V2_2_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V2_2_230_VALUE, NULL }; static const FieldPart *I021_V2_2_230_PARTS[] = { &I021_V2_2_230_VALUE, NULL }; static const AsterixField I021_V2_2_230 = { FIXED, 2, 0, 0, &hf_021_V2_2_230, I021_V2_2_230_PARTS, { NULL } }; static int hf_021_V2_2_250; static int hf_021_V2_2_250_VALUE; static const FieldPart I021_V2_2_250_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_021_V2_2_250_VALUE, NULL }; static const FieldPart *I021_V2_2_250_PARTS[] = { &I021_V2_2_250_VALUE, NULL }; static const AsterixField I021_V2_2_250 = { REPETITIVE, 8, 1, 0, &hf_021_V2_2_250, I021_V2_2_250_PARTS, { NULL } }; static int hf_021_V2_2_260; static int hf_021_V2_2_260_TYP; static const FieldPart I021_V2_2_260_TYP = { 5, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_TYP, NULL }; static int hf_021_V2_2_260_STYP; static const FieldPart I021_V2_2_260_STYP = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_STYP, NULL }; static int hf_021_V2_2_260_ARA; static const FieldPart I021_V2_2_260_ARA = { 14, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_ARA, NULL }; static int hf_021_V2_2_260_RAC; static const FieldPart I021_V2_2_260_RAC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_RAC, NULL }; static int hf_021_V2_2_260_RAT; static const FieldPart I021_V2_2_260_RAT = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_RAT, NULL }; static int hf_021_V2_2_260_MTE; static const FieldPart I021_V2_2_260_MTE = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_MTE, NULL }; static int hf_021_V2_2_260_TTI; static const FieldPart I021_V2_2_260_TTI = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_TTI, NULL }; static int hf_021_V2_2_260_TID; static const FieldPart I021_V2_2_260_TID = { 26, 1.0, FIELD_PART_HEX, &hf_021_V2_2_260_TID, NULL }; static const FieldPart *I021_V2_2_260_PARTS[] = { &I021_V2_2_260_TYP, &I021_V2_2_260_STYP, &I021_V2_2_260_ARA, &I021_V2_2_260_RAC, &I021_V2_2_260_RAT, &I021_V2_2_260_MTE, &I021_V2_2_260_TTI, &I021_V2_2_260_TID, NULL }; static const AsterixField I021_V2_2_260 = { FIXED, 7, 0, 0, &hf_021_V2_2_260, I021_V2_2_260_PARTS, { NULL } }; static int hf_021_V2_2_271; static int hf_021_V2_2_271_POA; static const value_string valstr_021_V2_2_271_POA[] = { { 0, "Position transmitted is not ADS-B position reference point" }, { 1, "Position transmitted is the ADS-B position reference point" }, { 0, NULL } }; static const FieldPart I021_V2_2_271_POA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_271_POA, NULL }; static int hf_021_V2_2_271_CDTIS; static const value_string valstr_021_V2_2_271_CDTIS[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_2_271_CDTIS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_271_CDTIS, NULL }; static int hf_021_V2_2_271_B2LOW; static const value_string valstr_021_V2_2_271_B2LOW[] = { { 0, ">= 70 Watts" }, { 1, "< 70 Watts" }, { 0, NULL } }; static const FieldPart I021_V2_2_271_B2LOW = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_271_B2LOW, NULL }; static int hf_021_V2_2_271_RAS; static const value_string valstr_021_V2_2_271_RAS[] = { { 0, "Aircraft not receiving ATC-services" }, { 1, "Aircraft receiving ATC services" }, { 0, NULL } }; static const FieldPart I021_V2_2_271_RAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_271_RAS, NULL }; static int hf_021_V2_2_271_IDENT; static const value_string valstr_021_V2_2_271_IDENT[] = { { 0, "IDENT switch not active" }, { 1, "IDENT switch active" }, { 0, NULL } }; static const FieldPart I021_V2_2_271_IDENT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_2_271_IDENT, NULL }; static int hf_021_V2_2_271_LW; static const FieldPart I021_V2_2_271_LW = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_2_271_LW, NULL }; static const FieldPart *I021_V2_2_271_PARTS[] = { &IXXX_2bit_spare, &I021_V2_2_271_POA, &I021_V2_2_271_CDTIS, &I021_V2_2_271_B2LOW, &I021_V2_2_271_RAS, &I021_V2_2_271_IDENT, &IXXX_FX, &I021_V2_2_271_LW, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_2_271 = { FX, 1, 0, 0, &hf_021_V2_2_271, I021_V2_2_271_PARTS, { NULL } }; static int hf_021_V2_2_295; static int hf_021_V2_2_295_AOS; static int hf_021_V2_2_295_AOS_VALUE; static const FieldPart I021_V2_2_295_AOS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_AOS_VALUE, NULL }; static const FieldPart *I021_V2_2_295_AOS_PARTS[] = { &I021_V2_2_295_AOS_VALUE, NULL }; static const AsterixField I021_V2_2_295_AOS = { FIXED, 1, 0, 0, &hf_021_V2_2_295_AOS, I021_V2_2_295_AOS_PARTS, { NULL } }; static int hf_021_V2_2_295_TRD; static int hf_021_V2_2_295_TRD_VALUE; static const FieldPart I021_V2_2_295_TRD_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_TRD_VALUE, NULL }; static const FieldPart *I021_V2_2_295_TRD_PARTS[] = { &I021_V2_2_295_TRD_VALUE, NULL }; static const AsterixField I021_V2_2_295_TRD = { FIXED, 1, 0, 0, &hf_021_V2_2_295_TRD, I021_V2_2_295_TRD_PARTS, { NULL } }; static int hf_021_V2_2_295_M3A; static int hf_021_V2_2_295_M3A_VALUE; static const FieldPart I021_V2_2_295_M3A_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_M3A_VALUE, NULL }; static const FieldPart *I021_V2_2_295_M3A_PARTS[] = { &I021_V2_2_295_M3A_VALUE, NULL }; static const AsterixField I021_V2_2_295_M3A = { FIXED, 1, 0, 0, &hf_021_V2_2_295_M3A, I021_V2_2_295_M3A_PARTS, { NULL } }; static int hf_021_V2_2_295_QI; static int hf_021_V2_2_295_QI_VALUE; static const FieldPart I021_V2_2_295_QI_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_QI_VALUE, NULL }; static const FieldPart *I021_V2_2_295_QI_PARTS[] = { &I021_V2_2_295_QI_VALUE, NULL }; static const AsterixField I021_V2_2_295_QI = { FIXED, 1, 0, 0, &hf_021_V2_2_295_QI, I021_V2_2_295_QI_PARTS, { NULL } }; static int hf_021_V2_2_295_TI1; static int hf_021_V2_2_295_TI1_VALUE; static const FieldPart I021_V2_2_295_TI1_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_TI1_VALUE, NULL }; static const FieldPart *I021_V2_2_295_TI1_PARTS[] = { &I021_V2_2_295_TI1_VALUE, NULL }; static const AsterixField I021_V2_2_295_TI1 = { FIXED, 1, 0, 0, &hf_021_V2_2_295_TI1, I021_V2_2_295_TI1_PARTS, { NULL } }; static int hf_021_V2_2_295_MAM; static int hf_021_V2_2_295_MAM_VALUE; static const FieldPart I021_V2_2_295_MAM_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_MAM_VALUE, NULL }; static const FieldPart *I021_V2_2_295_MAM_PARTS[] = { &I021_V2_2_295_MAM_VALUE, NULL }; static const AsterixField I021_V2_2_295_MAM = { FIXED, 1, 0, 0, &hf_021_V2_2_295_MAM, I021_V2_2_295_MAM_PARTS, { NULL } }; static int hf_021_V2_2_295_GH; static int hf_021_V2_2_295_GH_VALUE; static const FieldPart I021_V2_2_295_GH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_GH_VALUE, NULL }; static const FieldPart *I021_V2_2_295_GH_PARTS[] = { &I021_V2_2_295_GH_VALUE, NULL }; static const AsterixField I021_V2_2_295_GH = { FIXED, 1, 0, 0, &hf_021_V2_2_295_GH, I021_V2_2_295_GH_PARTS, { NULL } }; static int hf_021_V2_2_295_FL; static int hf_021_V2_2_295_FL_VALUE; static const FieldPart I021_V2_2_295_FL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_FL_VALUE, NULL }; static const FieldPart *I021_V2_2_295_FL_PARTS[] = { &I021_V2_2_295_FL_VALUE, NULL }; static const AsterixField I021_V2_2_295_FL = { FIXED, 1, 0, 0, &hf_021_V2_2_295_FL, I021_V2_2_295_FL_PARTS, { NULL } }; static int hf_021_V2_2_295_ISA; static int hf_021_V2_2_295_ISA_VALUE; static const FieldPart I021_V2_2_295_ISA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_ISA_VALUE, NULL }; static const FieldPart *I021_V2_2_295_ISA_PARTS[] = { &I021_V2_2_295_ISA_VALUE, NULL }; static const AsterixField I021_V2_2_295_ISA = { FIXED, 1, 0, 0, &hf_021_V2_2_295_ISA, I021_V2_2_295_ISA_PARTS, { NULL } }; static int hf_021_V2_2_295_FSA; static int hf_021_V2_2_295_FSA_VALUE; static const FieldPart I021_V2_2_295_FSA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_FSA_VALUE, NULL }; static const FieldPart *I021_V2_2_295_FSA_PARTS[] = { &I021_V2_2_295_FSA_VALUE, NULL }; static const AsterixField I021_V2_2_295_FSA = { FIXED, 1, 0, 0, &hf_021_V2_2_295_FSA, I021_V2_2_295_FSA_PARTS, { NULL } }; static int hf_021_V2_2_295_AS; static int hf_021_V2_2_295_AS_VALUE; static const FieldPart I021_V2_2_295_AS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_AS_VALUE, NULL }; static const FieldPart *I021_V2_2_295_AS_PARTS[] = { &I021_V2_2_295_AS_VALUE, NULL }; static const AsterixField I021_V2_2_295_AS = { FIXED, 1, 0, 0, &hf_021_V2_2_295_AS, I021_V2_2_295_AS_PARTS, { NULL } }; static int hf_021_V2_2_295_TAS; static int hf_021_V2_2_295_TAS_VALUE; static const FieldPart I021_V2_2_295_TAS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_TAS_VALUE, NULL }; static const FieldPart *I021_V2_2_295_TAS_PARTS[] = { &I021_V2_2_295_TAS_VALUE, NULL }; static const AsterixField I021_V2_2_295_TAS = { FIXED, 1, 0, 0, &hf_021_V2_2_295_TAS, I021_V2_2_295_TAS_PARTS, { NULL } }; static int hf_021_V2_2_295_MH; static int hf_021_V2_2_295_MH_VALUE; static const FieldPart I021_V2_2_295_MH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_MH_VALUE, NULL }; static const FieldPart *I021_V2_2_295_MH_PARTS[] = { &I021_V2_2_295_MH_VALUE, NULL }; static const AsterixField I021_V2_2_295_MH = { FIXED, 1, 0, 0, &hf_021_V2_2_295_MH, I021_V2_2_295_MH_PARTS, { NULL } }; static int hf_021_V2_2_295_BVR; static int hf_021_V2_2_295_BVR_VALUE; static const FieldPart I021_V2_2_295_BVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_BVR_VALUE, NULL }; static const FieldPart *I021_V2_2_295_BVR_PARTS[] = { &I021_V2_2_295_BVR_VALUE, NULL }; static const AsterixField I021_V2_2_295_BVR = { FIXED, 1, 0, 0, &hf_021_V2_2_295_BVR, I021_V2_2_295_BVR_PARTS, { NULL } }; static int hf_021_V2_2_295_GVR; static int hf_021_V2_2_295_GVR_VALUE; static const FieldPart I021_V2_2_295_GVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_GVR_VALUE, NULL }; static const FieldPart *I021_V2_2_295_GVR_PARTS[] = { &I021_V2_2_295_GVR_VALUE, NULL }; static const AsterixField I021_V2_2_295_GVR = { FIXED, 1, 0, 0, &hf_021_V2_2_295_GVR, I021_V2_2_295_GVR_PARTS, { NULL } }; static int hf_021_V2_2_295_GV; static int hf_021_V2_2_295_GV_VALUE; static const FieldPart I021_V2_2_295_GV_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_GV_VALUE, NULL }; static const FieldPart *I021_V2_2_295_GV_PARTS[] = { &I021_V2_2_295_GV_VALUE, NULL }; static const AsterixField I021_V2_2_295_GV = { FIXED, 1, 0, 0, &hf_021_V2_2_295_GV, I021_V2_2_295_GV_PARTS, { NULL } }; static int hf_021_V2_2_295_TAR; static int hf_021_V2_2_295_TAR_VALUE; static const FieldPart I021_V2_2_295_TAR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_TAR_VALUE, NULL }; static const FieldPart *I021_V2_2_295_TAR_PARTS[] = { &I021_V2_2_295_TAR_VALUE, NULL }; static const AsterixField I021_V2_2_295_TAR = { FIXED, 1, 0, 0, &hf_021_V2_2_295_TAR, I021_V2_2_295_TAR_PARTS, { NULL } }; static int hf_021_V2_2_295_TI2; static int hf_021_V2_2_295_TI2_VALUE; static const FieldPart I021_V2_2_295_TI2_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_TI2_VALUE, NULL }; static const FieldPart *I021_V2_2_295_TI2_PARTS[] = { &I021_V2_2_295_TI2_VALUE, NULL }; static const AsterixField I021_V2_2_295_TI2 = { FIXED, 1, 0, 0, &hf_021_V2_2_295_TI2, I021_V2_2_295_TI2_PARTS, { NULL } }; static int hf_021_V2_2_295_TS; static int hf_021_V2_2_295_TS_VALUE; static const FieldPart I021_V2_2_295_TS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_TS_VALUE, NULL }; static const FieldPart *I021_V2_2_295_TS_PARTS[] = { &I021_V2_2_295_TS_VALUE, NULL }; static const AsterixField I021_V2_2_295_TS = { FIXED, 1, 0, 0, &hf_021_V2_2_295_TS, I021_V2_2_295_TS_PARTS, { NULL } }; static int hf_021_V2_2_295_MET; static int hf_021_V2_2_295_MET_VALUE; static const FieldPart I021_V2_2_295_MET_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_MET_VALUE, NULL }; static const FieldPart *I021_V2_2_295_MET_PARTS[] = { &I021_V2_2_295_MET_VALUE, NULL }; static const AsterixField I021_V2_2_295_MET = { FIXED, 1, 0, 0, &hf_021_V2_2_295_MET, I021_V2_2_295_MET_PARTS, { NULL } }; static int hf_021_V2_2_295_ROA; static int hf_021_V2_2_295_ROA_VALUE; static const FieldPart I021_V2_2_295_ROA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_ROA_VALUE, NULL }; static const FieldPart *I021_V2_2_295_ROA_PARTS[] = { &I021_V2_2_295_ROA_VALUE, NULL }; static const AsterixField I021_V2_2_295_ROA = { FIXED, 1, 0, 0, &hf_021_V2_2_295_ROA, I021_V2_2_295_ROA_PARTS, { NULL } }; static int hf_021_V2_2_295_ARA; static int hf_021_V2_2_295_ARA_VALUE; static const FieldPart I021_V2_2_295_ARA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_ARA_VALUE, NULL }; static const FieldPart *I021_V2_2_295_ARA_PARTS[] = { &I021_V2_2_295_ARA_VALUE, NULL }; static const AsterixField I021_V2_2_295_ARA = { FIXED, 1, 0, 0, &hf_021_V2_2_295_ARA, I021_V2_2_295_ARA_PARTS, { NULL } }; static int hf_021_V2_2_295_SCC; static int hf_021_V2_2_295_SCC_VALUE; static const FieldPart I021_V2_2_295_SCC_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_2_295_SCC_VALUE, NULL }; static const FieldPart *I021_V2_2_295_SCC_PARTS[] = { &I021_V2_2_295_SCC_VALUE, NULL }; static const AsterixField I021_V2_2_295_SCC = { FIXED, 1, 0, 0, &hf_021_V2_2_295_SCC, I021_V2_2_295_SCC_PARTS, { NULL } }; static const AsterixField I021_V2_2_295 = { COMPOUND, 0, 0, 0, &hf_021_V2_2_295, NULL, { &I021_V2_2_295_AOS, &I021_V2_2_295_TRD, &I021_V2_2_295_M3A, &I021_V2_2_295_QI, &I021_V2_2_295_TI1, &I021_V2_2_295_MAM, &I021_V2_2_295_GH, &I021_V2_2_295_FL, &I021_V2_2_295_ISA, &I021_V2_2_295_FSA, &I021_V2_2_295_AS, &I021_V2_2_295_TAS, &I021_V2_2_295_MH, &I021_V2_2_295_BVR, &I021_V2_2_295_GVR, &I021_V2_2_295_GV, &I021_V2_2_295_TAR, &I021_V2_2_295_TI2, &I021_V2_2_295_TS, &I021_V2_2_295_MET, &I021_V2_2_295_ROA, &I021_V2_2_295_ARA, &I021_V2_2_295_SCC, NULL } }; static int hf_021_V2_2_400; static int hf_021_V2_2_400_VALUE; static const FieldPart I021_V2_2_400_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_2_400_VALUE, NULL }; static const FieldPart *I021_V2_2_400_PARTS[] = { &I021_V2_2_400_VALUE, NULL }; static const AsterixField I021_V2_2_400 = { FIXED, 1, 0, 0, &hf_021_V2_2_400, I021_V2_2_400_PARTS, { NULL } }; static int hf_021_V2_2_RE; static const AsterixField I021_V2_2_RE = { EXP, 0, 0, 1, &hf_021_V2_2_RE, NULL, { NULL } }; static int hf_021_V2_2_SP; static const AsterixField I021_V2_2_SP = { EXP, 0, 0, 1, &hf_021_V2_2_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V2_2_uap[] = { &I021_V2_2_010, &I021_V2_2_040, &I021_V2_2_161, &I021_V2_2_015, &I021_V2_2_071, &I021_V2_2_130, &I021_V2_2_131, &I021_V2_2_072, &I021_V2_2_150, &I021_V2_2_151, &I021_V2_2_080, &I021_V2_2_073, &I021_V2_2_074, &I021_V2_2_075, &I021_V2_2_076, &I021_V2_2_140, &I021_V2_2_090, &I021_V2_2_210, &I021_V2_2_070, &I021_V2_2_230, &I021_V2_2_145, &I021_V2_2_152, &I021_V2_2_200, &I021_V2_2_155, &I021_V2_2_157, &I021_V2_2_160, &I021_V2_2_165, &I021_V2_2_077, &I021_V2_2_170, &I021_V2_2_020, &I021_V2_2_220, &I021_V2_2_146, &I021_V2_2_148, &I021_V2_2_110, &I021_V2_2_016, &I021_V2_2_008, &I021_V2_2_271, &I021_V2_2_132, &I021_V2_2_250, &I021_V2_2_260, &I021_V2_2_400, &I021_V2_2_295, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V2_2_RE, &I021_V2_2_SP, NULL }; static const AsterixField **I021_V2_2[] = { I021_V2_2_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 2.3 */ static int hf_021_V2_3_008; static int hf_021_V2_3_008_RA; static const value_string valstr_021_V2_3_008_RA[] = { { 0, "TCAS II or ACAS RA not active" }, { 1, "TCAS RA active" }, { 0, NULL } }; static const FieldPart I021_V2_3_008_RA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_008_RA, NULL }; static int hf_021_V2_3_008_TC; static const value_string valstr_021_V2_3_008_TC[] = { { 0, "No capability for Trajectory Change Reports" }, { 1, "Support for TC+0 reports only" }, { 2, "Support for multiple TC reports" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V2_3_008_TC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_008_TC, NULL }; static int hf_021_V2_3_008_TS; static const value_string valstr_021_V2_3_008_TS[] = { { 0, "No capability to support Target State Reports" }, { 1, "Capable of supporting target State Reports" }, { 0, NULL } }; static const FieldPart I021_V2_3_008_TS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_008_TS, NULL }; static int hf_021_V2_3_008_ARV; static const value_string valstr_021_V2_3_008_ARV[] = { { 0, "No capability to generate ARV-reports" }, { 1, "Capable of generate ARV-reports" }, { 0, NULL } }; static const FieldPart I021_V2_3_008_ARV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_008_ARV, NULL }; static int hf_021_V2_3_008_CDTIA; static const value_string valstr_021_V2_3_008_CDTIA[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_3_008_CDTIA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_008_CDTIA, NULL }; static int hf_021_V2_3_008_NOTTCAS; static const value_string valstr_021_V2_3_008_NOTTCAS[] = { { 0, "TCAS operational" }, { 1, "TCAS not operational" }, { 0, NULL } }; static const FieldPart I021_V2_3_008_NOTTCAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_008_NOTTCAS, NULL }; static int hf_021_V2_3_008_SA; static const value_string valstr_021_V2_3_008_SA[] = { { 0, "Antenna Diversity" }, { 1, "Single Antenna only" }, { 0, NULL } }; static const FieldPart I021_V2_3_008_SA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_008_SA, NULL }; static const FieldPart *I021_V2_3_008_PARTS[] = { &I021_V2_3_008_RA, &I021_V2_3_008_TC, &I021_V2_3_008_TS, &I021_V2_3_008_ARV, &I021_V2_3_008_CDTIA, &I021_V2_3_008_NOTTCAS, &I021_V2_3_008_SA, NULL }; static const AsterixField I021_V2_3_008 = { FIXED, 1, 0, 0, &hf_021_V2_3_008, I021_V2_3_008_PARTS, { NULL } }; static int hf_021_V2_3_010; static int hf_021_V2_3_010_SAC; static const FieldPart I021_V2_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_3_010_SAC, NULL }; static int hf_021_V2_3_010_SIC; static const FieldPart I021_V2_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_3_010_SIC, NULL }; static const FieldPart *I021_V2_3_010_PARTS[] = { &I021_V2_3_010_SAC, &I021_V2_3_010_SIC, NULL }; static const AsterixField I021_V2_3_010 = { FIXED, 2, 0, 0, &hf_021_V2_3_010, I021_V2_3_010_PARTS, { NULL } }; static int hf_021_V2_3_015; static int hf_021_V2_3_015_VALUE; static const FieldPart I021_V2_3_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_3_015_VALUE, NULL }; static const FieldPart *I021_V2_3_015_PARTS[] = { &I021_V2_3_015_VALUE, NULL }; static const AsterixField I021_V2_3_015 = { FIXED, 1, 0, 0, &hf_021_V2_3_015, I021_V2_3_015_PARTS, { NULL } }; static int hf_021_V2_3_016; static int hf_021_V2_3_016_VALUE; static const FieldPart I021_V2_3_016_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_021_V2_3_016_VALUE, NULL }; static const FieldPart *I021_V2_3_016_PARTS[] = { &I021_V2_3_016_VALUE, NULL }; static const AsterixField I021_V2_3_016 = { FIXED, 1, 0, 0, &hf_021_V2_3_016, I021_V2_3_016_PARTS, { NULL } }; static int hf_021_V2_3_020; static int hf_021_V2_3_020_VALUE; static const value_string valstr_021_V2_3_020_VALUE[] = { { 0, "No ADS-B Emitter Category Information" }, { 1, "Light aircraft <= 15500 lbs" }, { 2, "15500 lbs < small aircraft <75000 lbs" }, { 3, "75000 lbs < medium a/c < 300000 lbs" }, { 4, "High Vortex Large" }, { 5, "300000 lbs <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Cluster obstacle" }, { 24, "Line obstacle" }, { 0, NULL } }; static const FieldPart I021_V2_3_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_3_020_VALUE, NULL }; static const FieldPart *I021_V2_3_020_PARTS[] = { &I021_V2_3_020_VALUE, NULL }; static const AsterixField I021_V2_3_020 = { FIXED, 1, 0, 0, &hf_021_V2_3_020, I021_V2_3_020_PARTS, { NULL } }; static int hf_021_V2_3_040; static int hf_021_V2_3_040_ATP; static const value_string valstr_021_V2_3_040_ATP[] = { { 0, "24-Bit ICAO address" }, { 1, "Duplicate address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_ATP, NULL }; static int hf_021_V2_3_040_ARC; static const value_string valstr_021_V2_3_040_ARC[] = { { 0, "25 ft" }, { 1, "100 ft" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_ARC, NULL }; static int hf_021_V2_3_040_RC; static const value_string valstr_021_V2_3_040_RC[] = { { 0, "Default" }, { 1, "Range Check passed, CPR Validation pending" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_RC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_RC, NULL }; static int hf_021_V2_3_040_RAB; static const value_string valstr_021_V2_3_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_RAB, NULL }; static int hf_021_V2_3_040_DCR; static const value_string valstr_021_V2_3_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_DCR, NULL }; static int hf_021_V2_3_040_GBS; static const value_string valstr_021_V2_3_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_GBS, NULL }; static int hf_021_V2_3_040_SIM; static const value_string valstr_021_V2_3_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_SIM, NULL }; static int hf_021_V2_3_040_TST; static const value_string valstr_021_V2_3_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_TST, NULL }; static int hf_021_V2_3_040_SAA; static const value_string valstr_021_V2_3_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_SAA, NULL }; static int hf_021_V2_3_040_CL; static const value_string valstr_021_V2_3_040_CL[] = { { 0, "Report valid" }, { 1, "Report suspect" }, { 2, "No information" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_CL = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_CL, NULL }; static int hf_021_V2_3_040_LLC; static const value_string valstr_021_V2_3_040_LLC[] = { { 0, "Default" }, { 1, "List Lookup failed (see note)" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_LLC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_LLC, NULL }; static int hf_021_V2_3_040_IPC; static const value_string valstr_021_V2_3_040_IPC[] = { { 0, "Default (see note)" }, { 1, "Independent Position Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_IPC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_IPC, NULL }; static int hf_021_V2_3_040_NOGO; static const value_string valstr_021_V2_3_040_NOGO[] = { { 0, "NOGO-bit not set" }, { 1, "NOGO-bit set" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_NOGO, NULL }; static int hf_021_V2_3_040_CPR; static const value_string valstr_021_V2_3_040_CPR[] = { { 0, "CPR Validation correct" }, { 1, "CPR Validation failed" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_CPR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_CPR, NULL }; static int hf_021_V2_3_040_LDPJ; static const value_string valstr_021_V2_3_040_LDPJ[] = { { 0, "LDPJ not detected" }, { 1, "LDPJ detected" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_LDPJ = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_LDPJ, NULL }; static int hf_021_V2_3_040_RCF; static const value_string valstr_021_V2_3_040_RCF[] = { { 0, "Default" }, { 1, "Range Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_3_040_RCF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_040_RCF, NULL }; static const FieldPart *I021_V2_3_040_PARTS[] = { &I021_V2_3_040_ATP, &I021_V2_3_040_ARC, &I021_V2_3_040_RC, &I021_V2_3_040_RAB, &IXXX_FX, &I021_V2_3_040_DCR, &I021_V2_3_040_GBS, &I021_V2_3_040_SIM, &I021_V2_3_040_TST, &I021_V2_3_040_SAA, &I021_V2_3_040_CL, &IXXX_FX, &IXXX_1bit_spare, &I021_V2_3_040_LLC, &I021_V2_3_040_IPC, &I021_V2_3_040_NOGO, &I021_V2_3_040_CPR, &I021_V2_3_040_LDPJ, &I021_V2_3_040_RCF, &IXXX_FX, NULL }; static const AsterixField I021_V2_3_040 = { FX, 1, 0, 0, &hf_021_V2_3_040, I021_V2_3_040_PARTS, { NULL } }; static int hf_021_V2_3_070; static int hf_021_V2_3_070_MODE3A; static const FieldPart I021_V2_3_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_V2_3_070_MODE3A, NULL }; static const FieldPart *I021_V2_3_070_PARTS[] = { &IXXX_4bit_spare, &I021_V2_3_070_MODE3A, NULL }; static const AsterixField I021_V2_3_070 = { FIXED, 2, 0, 0, &hf_021_V2_3_070, I021_V2_3_070_PARTS, { NULL } }; static int hf_021_V2_3_071; static int hf_021_V2_3_071_VALUE; static const FieldPart I021_V2_3_071_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_3_071_VALUE, NULL }; static const FieldPart *I021_V2_3_071_PARTS[] = { &I021_V2_3_071_VALUE, NULL }; static const AsterixField I021_V2_3_071 = { FIXED, 3, 0, 0, &hf_021_V2_3_071, I021_V2_3_071_PARTS, { NULL } }; static int hf_021_V2_3_072; static int hf_021_V2_3_072_VALUE; static const FieldPart I021_V2_3_072_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_3_072_VALUE, NULL }; static const FieldPart *I021_V2_3_072_PARTS[] = { &I021_V2_3_072_VALUE, NULL }; static const AsterixField I021_V2_3_072 = { FIXED, 3, 0, 0, &hf_021_V2_3_072, I021_V2_3_072_PARTS, { NULL } }; static int hf_021_V2_3_073; static int hf_021_V2_3_073_VALUE; static const FieldPart I021_V2_3_073_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_3_073_VALUE, NULL }; static const FieldPart *I021_V2_3_073_PARTS[] = { &I021_V2_3_073_VALUE, NULL }; static const AsterixField I021_V2_3_073 = { FIXED, 3, 0, 0, &hf_021_V2_3_073, I021_V2_3_073_PARTS, { NULL } }; static int hf_021_V2_3_074; static int hf_021_V2_3_074_FSI; static const value_string valstr_021_V2_3_074_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/073) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/073) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/073) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_3_074_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_074_FSI, NULL }; static int hf_021_V2_3_074_TOMRP; static const FieldPart I021_V2_3_074_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_3_074_TOMRP, NULL }; static const FieldPart *I021_V2_3_074_PARTS[] = { &I021_V2_3_074_FSI, &I021_V2_3_074_TOMRP, NULL }; static const AsterixField I021_V2_3_074 = { FIXED, 4, 0, 0, &hf_021_V2_3_074, I021_V2_3_074_PARTS, { NULL } }; static int hf_021_V2_3_075; static int hf_021_V2_3_075_VALUE; static const FieldPart I021_V2_3_075_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_3_075_VALUE, NULL }; static const FieldPart *I021_V2_3_075_PARTS[] = { &I021_V2_3_075_VALUE, NULL }; static const AsterixField I021_V2_3_075 = { FIXED, 3, 0, 0, &hf_021_V2_3_075, I021_V2_3_075_PARTS, { NULL } }; static int hf_021_V2_3_076; static int hf_021_V2_3_076_FSI; static const value_string valstr_021_V2_3_076_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/075) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/075) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/075) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_3_076_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_076_FSI, NULL }; static int hf_021_V2_3_076_TOMRP; static const FieldPart I021_V2_3_076_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_3_076_TOMRP, NULL }; static const FieldPart *I021_V2_3_076_PARTS[] = { &I021_V2_3_076_FSI, &I021_V2_3_076_TOMRP, NULL }; static const AsterixField I021_V2_3_076 = { FIXED, 4, 0, 0, &hf_021_V2_3_076, I021_V2_3_076_PARTS, { NULL } }; static int hf_021_V2_3_077; static int hf_021_V2_3_077_VALUE; static const FieldPart I021_V2_3_077_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_3_077_VALUE, NULL }; static const FieldPart *I021_V2_3_077_PARTS[] = { &I021_V2_3_077_VALUE, NULL }; static const AsterixField I021_V2_3_077 = { FIXED, 3, 0, 0, &hf_021_V2_3_077, I021_V2_3_077_PARTS, { NULL } }; static int hf_021_V2_3_080; static int hf_021_V2_3_080_VALUE; static const FieldPart I021_V2_3_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V2_3_080_VALUE, NULL }; static const FieldPart *I021_V2_3_080_PARTS[] = { &I021_V2_3_080_VALUE, NULL }; static const AsterixField I021_V2_3_080 = { FIXED, 3, 0, 0, &hf_021_V2_3_080, I021_V2_3_080_PARTS, { NULL } }; static int hf_021_V2_3_090; static int hf_021_V2_3_090_NUCRNACV; static const FieldPart I021_V2_3_090_NUCRNACV = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_NUCRNACV, NULL }; static int hf_021_V2_3_090_NUCPNIC; static const FieldPart I021_V2_3_090_NUCPNIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_NUCPNIC, NULL }; static int hf_021_V2_3_090_NICBARO; static const FieldPart I021_V2_3_090_NICBARO = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_NICBARO, NULL }; static int hf_021_V2_3_090_SIL; static const FieldPart I021_V2_3_090_SIL = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_SIL, NULL }; static int hf_021_V2_3_090_NACP; static const FieldPart I021_V2_3_090_NACP = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_NACP, NULL }; static int hf_021_V2_3_090_SILS; static const value_string valstr_021_V2_3_090_SILS[] = { { 0, "Measured per flight-hour" }, { 1, "Measured per sample" }, { 0, NULL } }; static const FieldPart I021_V2_3_090_SILS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_090_SILS, NULL }; static int hf_021_V2_3_090_SDA; static const FieldPart I021_V2_3_090_SDA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_SDA, NULL }; static int hf_021_V2_3_090_GVA; static const FieldPart I021_V2_3_090_GVA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_GVA, NULL }; static int hf_021_V2_3_090_PIC; static const FieldPart I021_V2_3_090_PIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_3_090_PIC, NULL }; static const FieldPart *I021_V2_3_090_PARTS[] = { &I021_V2_3_090_NUCRNACV, &I021_V2_3_090_NUCPNIC, &IXXX_FX, &I021_V2_3_090_NICBARO, &I021_V2_3_090_SIL, &I021_V2_3_090_NACP, &IXXX_FX, &IXXX_2bit_spare, &I021_V2_3_090_SILS, &I021_V2_3_090_SDA, &I021_V2_3_090_GVA, &IXXX_FX, &I021_V2_3_090_PIC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_3_090 = { FX, 1, 0, 0, &hf_021_V2_3_090, I021_V2_3_090_PARTS, { NULL } }; static int hf_021_V2_3_110; static int hf_021_V2_3_110_TIS; static int hf_021_V2_3_110_TIS_NAV; static const value_string valstr_021_V2_3_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TIS_NAV, NULL }; static int hf_021_V2_3_110_TIS_NVB; static const value_string valstr_021_V2_3_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TIS_NVB, NULL }; static const FieldPart *I021_V2_3_110_TIS_PARTS[] = { &I021_V2_3_110_TIS_NAV, &I021_V2_3_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_3_110_TIS = { FX, 1, 0, 0, &hf_021_V2_3_110_TIS, I021_V2_3_110_TIS_PARTS, { NULL } }; static int hf_021_V2_3_110_TID; static int hf_021_V2_3_110_TID_TCA; static const value_string valstr_021_V2_3_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TID_TCA, NULL }; static int hf_021_V2_3_110_TID_NC; static const value_string valstr_021_V2_3_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TID_NC, NULL }; static int hf_021_V2_3_110_TID_TCPN; static const FieldPart I021_V2_3_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V2_3_110_TID_TCPN, NULL }; static int hf_021_V2_3_110_TID_ALT; static const FieldPart I021_V2_3_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V2_3_110_TID_ALT, NULL }; static int hf_021_V2_3_110_TID_LAT; static const FieldPart I021_V2_3_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_3_110_TID_LAT, NULL }; static int hf_021_V2_3_110_TID_LON; static const FieldPart I021_V2_3_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_3_110_TID_LON, NULL }; static int hf_021_V2_3_110_TID_PT; static const value_string valstr_021_V2_3_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TID_PT, NULL }; static int hf_021_V2_3_110_TID_TD; static const value_string valstr_021_V2_3_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TID_TD, NULL }; static int hf_021_V2_3_110_TID_TRA; static const value_string valstr_021_V2_3_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TID_TRA, NULL }; static int hf_021_V2_3_110_TID_TOA; static const value_string valstr_021_V2_3_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V2_3_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_110_TID_TOA, NULL }; static int hf_021_V2_3_110_TID_TOV; static const FieldPart I021_V2_3_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_3_110_TID_TOV, NULL }; static int hf_021_V2_3_110_TID_TTR; static const FieldPart I021_V2_3_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V2_3_110_TID_TTR, NULL }; static const FieldPart *I021_V2_3_110_TID_PARTS[] = { &I021_V2_3_110_TID_TCA, &I021_V2_3_110_TID_NC, &I021_V2_3_110_TID_TCPN, &I021_V2_3_110_TID_ALT, &I021_V2_3_110_TID_LAT, &I021_V2_3_110_TID_LON, &I021_V2_3_110_TID_PT, &I021_V2_3_110_TID_TD, &I021_V2_3_110_TID_TRA, &I021_V2_3_110_TID_TOA, &I021_V2_3_110_TID_TOV, &I021_V2_3_110_TID_TTR, NULL }; static const AsterixField I021_V2_3_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V2_3_110_TID, I021_V2_3_110_TID_PARTS, { NULL } }; static const AsterixField I021_V2_3_110 = { COMPOUND, 0, 0, 0, &hf_021_V2_3_110, NULL, { &I021_V2_3_110_TIS, &I021_V2_3_110_TID, NULL } }; static int hf_021_V2_3_130; static int hf_021_V2_3_130_LAT; static const FieldPart I021_V2_3_130_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_3_130_LAT, NULL }; static int hf_021_V2_3_130_LON; static const FieldPart I021_V2_3_130_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_3_130_LON, NULL }; static const FieldPart *I021_V2_3_130_PARTS[] = { &I021_V2_3_130_LAT, &I021_V2_3_130_LON, NULL }; static const AsterixField I021_V2_3_130 = { FIXED, 6, 0, 0, &hf_021_V2_3_130, I021_V2_3_130_PARTS, { NULL } }; static int hf_021_V2_3_131; static int hf_021_V2_3_131_LAT; static const FieldPart I021_V2_3_131_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_3_131_LAT, NULL }; static int hf_021_V2_3_131_LON; static const FieldPart I021_V2_3_131_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_3_131_LON, NULL }; static const FieldPart *I021_V2_3_131_PARTS[] = { &I021_V2_3_131_LAT, &I021_V2_3_131_LON, NULL }; static const AsterixField I021_V2_3_131 = { FIXED, 8, 0, 0, &hf_021_V2_3_131, I021_V2_3_131_PARTS, { NULL } }; static int hf_021_V2_3_132; static int hf_021_V2_3_132_VALUE; static const FieldPart I021_V2_3_132_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_021_V2_3_132_VALUE, NULL }; static const FieldPart *I021_V2_3_132_PARTS[] = { &I021_V2_3_132_VALUE, NULL }; static const AsterixField I021_V2_3_132 = { FIXED, 1, 0, 0, &hf_021_V2_3_132, I021_V2_3_132_PARTS, { NULL } }; static int hf_021_V2_3_140; static int hf_021_V2_3_140_VALUE; static const FieldPart I021_V2_3_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V2_3_140_VALUE, NULL }; static const FieldPart *I021_V2_3_140_PARTS[] = { &I021_V2_3_140_VALUE, NULL }; static const AsterixField I021_V2_3_140 = { FIXED, 2, 0, 0, &hf_021_V2_3_140, I021_V2_3_140_PARTS, { NULL } }; static int hf_021_V2_3_145; static int hf_021_V2_3_145_VALUE; static const FieldPart I021_V2_3_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_3_145_VALUE, NULL }; static const FieldPart *I021_V2_3_145_PARTS[] = { &I021_V2_3_145_VALUE, NULL }; static const AsterixField I021_V2_3_145 = { FIXED, 2, 0, 0, &hf_021_V2_3_145, I021_V2_3_145_PARTS, { NULL } }; static int hf_021_V2_3_146; static int hf_021_V2_3_146_SAS; static const value_string valstr_021_V2_3_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V2_3_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_146_SAS, NULL }; static int hf_021_V2_3_146_S; static const value_string valstr_021_V2_3_146_S[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_3_146_S = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_146_S, NULL }; static int hf_021_V2_3_146_ALT; static const FieldPart I021_V2_3_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_3_146_ALT, NULL }; static const FieldPart *I021_V2_3_146_PARTS[] = { &I021_V2_3_146_SAS, &I021_V2_3_146_S, &I021_V2_3_146_ALT, NULL }; static const AsterixField I021_V2_3_146 = { FIXED, 2, 0, 0, &hf_021_V2_3_146, I021_V2_3_146_PARTS, { NULL } }; static int hf_021_V2_3_148; static int hf_021_V2_3_148_MV; static const value_string valstr_021_V2_3_148_MV[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_3_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_148_MV, NULL }; static int hf_021_V2_3_148_AH; static const value_string valstr_021_V2_3_148_AH[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_3_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_148_AH, NULL }; static int hf_021_V2_3_148_AM; static const value_string valstr_021_V2_3_148_AM[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_3_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_148_AM, NULL }; static int hf_021_V2_3_148_ALT; static const FieldPart I021_V2_3_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_3_148_ALT, NULL }; static const FieldPart *I021_V2_3_148_PARTS[] = { &I021_V2_3_148_MV, &I021_V2_3_148_AH, &I021_V2_3_148_AM, &I021_V2_3_148_ALT, NULL }; static const AsterixField I021_V2_3_148 = { FIXED, 2, 0, 0, &hf_021_V2_3_148, I021_V2_3_148_PARTS, { NULL } }; static int hf_021_V2_3_150; static int hf_021_V2_3_150_IM; static const value_string valstr_021_V2_3_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V2_3_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_150_IM, NULL }; static int hf_021_V2_3_150_AS; static const FieldPart I021_V2_3_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V2_3_150_AS, NULL }; static const FieldPart *I021_V2_3_150_PARTS[] = { &I021_V2_3_150_IM, &I021_V2_3_150_AS, NULL }; static const AsterixField I021_V2_3_150 = { FIXED, 2, 0, 0, &hf_021_V2_3_150, I021_V2_3_150_PARTS, { NULL } }; static int hf_021_V2_3_151; static int hf_021_V2_3_151_RE; static const value_string valstr_021_V2_3_151_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_3_151_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_151_RE, NULL }; static int hf_021_V2_3_151_TAS; static const FieldPart I021_V2_3_151_TAS = { 15, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_3_151_TAS, NULL }; static const FieldPart *I021_V2_3_151_PARTS[] = { &I021_V2_3_151_RE, &I021_V2_3_151_TAS, NULL }; static const AsterixField I021_V2_3_151 = { FIXED, 2, 0, 0, &hf_021_V2_3_151, I021_V2_3_151_PARTS, { NULL } }; static int hf_021_V2_3_152; static int hf_021_V2_3_152_VALUE; static const FieldPart I021_V2_3_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_3_152_VALUE, NULL }; static const FieldPart *I021_V2_3_152_PARTS[] = { &I021_V2_3_152_VALUE, NULL }; static const AsterixField I021_V2_3_152 = { FIXED, 2, 0, 0, &hf_021_V2_3_152, I021_V2_3_152_PARTS, { NULL } }; static int hf_021_V2_3_155; static int hf_021_V2_3_155_RE; static const value_string valstr_021_V2_3_155_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_3_155_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_155_RE, NULL }; static int hf_021_V2_3_155_BVR; static const FieldPart I021_V2_3_155_BVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_3_155_BVR, NULL }; static const FieldPart *I021_V2_3_155_PARTS[] = { &I021_V2_3_155_RE, &I021_V2_3_155_BVR, NULL }; static const AsterixField I021_V2_3_155 = { FIXED, 2, 0, 0, &hf_021_V2_3_155, I021_V2_3_155_PARTS, { NULL } }; static int hf_021_V2_3_157; static int hf_021_V2_3_157_RE; static const value_string valstr_021_V2_3_157_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_3_157_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_157_RE, NULL }; static int hf_021_V2_3_157_GVR; static const FieldPart I021_V2_3_157_GVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_3_157_GVR, NULL }; static const FieldPart *I021_V2_3_157_PARTS[] = { &I021_V2_3_157_RE, &I021_V2_3_157_GVR, NULL }; static const AsterixField I021_V2_3_157 = { FIXED, 2, 0, 0, &hf_021_V2_3_157, I021_V2_3_157_PARTS, { NULL } }; static int hf_021_V2_3_160; static int hf_021_V2_3_160_RE; static const value_string valstr_021_V2_3_160_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_3_160_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_160_RE, NULL }; static int hf_021_V2_3_160_GS; static const FieldPart I021_V2_3_160_GS = { 15, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_021_V2_3_160_GS, NULL }; static int hf_021_V2_3_160_TA; static const FieldPart I021_V2_3_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_3_160_TA, NULL }; static const FieldPart *I021_V2_3_160_PARTS[] = { &I021_V2_3_160_RE, &I021_V2_3_160_GS, &I021_V2_3_160_TA, NULL }; static const AsterixField I021_V2_3_160 = { FIXED, 4, 0, 0, &hf_021_V2_3_160, I021_V2_3_160_PARTS, { NULL } }; static int hf_021_V2_3_161; static int hf_021_V2_3_161_TRNUM; static const FieldPart I021_V2_3_161_TRNUM = { 12, 1.0, FIELD_PART_HEX, &hf_021_V2_3_161_TRNUM, NULL }; static const FieldPart *I021_V2_3_161_PARTS[] = { &IXXX_4bit_spare, &I021_V2_3_161_TRNUM, NULL }; static const AsterixField I021_V2_3_161 = { FIXED, 2, 0, 0, &hf_021_V2_3_161, I021_V2_3_161_PARTS, { NULL } }; static int hf_021_V2_3_165; static int hf_021_V2_3_165_TAR; static const FieldPart I021_V2_3_165_TAR = { 10, 0.03125, FIELD_PART_FLOAT, &hf_021_V2_3_165_TAR, NULL }; static const FieldPart *I021_V2_3_165_PARTS[] = { &IXXX_6bit_spare, &I021_V2_3_165_TAR, NULL }; static const AsterixField I021_V2_3_165 = { FIXED, 2, 0, 0, &hf_021_V2_3_165, I021_V2_3_165_PARTS, { NULL } }; static int hf_021_V2_3_170; static int hf_021_V2_3_170_VALUE; static const FieldPart I021_V2_3_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V2_3_170_VALUE, NULL }; static const FieldPart *I021_V2_3_170_PARTS[] = { &I021_V2_3_170_VALUE, NULL }; static const AsterixField I021_V2_3_170 = { FIXED, 6, 0, 0, &hf_021_V2_3_170, I021_V2_3_170_PARTS, { NULL } }; static int hf_021_V2_3_200; static int hf_021_V2_3_200_ICF; static const value_string valstr_021_V2_3_200_ICF[] = { { 0, "No intent change active" }, { 1, "Intent change flag raised" }, { 0, NULL } }; static const FieldPart I021_V2_3_200_ICF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_200_ICF, NULL }; static int hf_021_V2_3_200_LNAV; static const value_string valstr_021_V2_3_200_LNAV[] = { { 0, "LNAV Mode engaged" }, { 1, "LNAV Mode not engaged" }, { 0, NULL } }; static const FieldPart I021_V2_3_200_LNAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_200_LNAV, NULL }; static int hf_021_V2_3_200_ME; static const value_string valstr_021_V2_3_200_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I021_V2_3_200_ME = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_200_ME, NULL }; static int hf_021_V2_3_200_PS; static const value_string valstr_021_V2_3_200_PS[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical emergency" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "DOWNED Aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_3_200_PS = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_3_200_PS, NULL }; static int hf_021_V2_3_200_SS; static const value_string valstr_021_V2_3_200_SS[] = { { 0, "No condition reported" }, { 1, "Permanent Alert (Emergency condition)" }, { 2, "Temporary Alert (change in Mode 3/A Code other than emergency)" }, { 3, "SPI set" }, { 0, NULL } }; static const FieldPart I021_V2_3_200_SS = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_3_200_SS, NULL }; static const FieldPart *I021_V2_3_200_PARTS[] = { &I021_V2_3_200_ICF, &I021_V2_3_200_LNAV, &I021_V2_3_200_ME, &I021_V2_3_200_PS, &I021_V2_3_200_SS, NULL }; static const AsterixField I021_V2_3_200 = { FIXED, 1, 0, 0, &hf_021_V2_3_200, I021_V2_3_200_PARTS, { NULL } }; static int hf_021_V2_3_210; static int hf_021_V2_3_210_VNS; static const value_string valstr_021_V2_3_210_VNS[] = { { 0, "The MOPS Version is supported by the GS" }, { 1, "The MOPS Version is not supported by the GS" }, { 0, NULL } }; static const FieldPart I021_V2_3_210_VNS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_210_VNS, NULL }; static int hf_021_V2_3_210_VN; static const value_string valstr_021_V2_3_210_VN[] = { { 0, "ED102/DO-260 [Ref. 8]" }, { 1, "DO-260A [Ref. 9]" }, { 2, "ED102A/DO-260B [Ref. 11]" }, { 0, NULL } }; static const FieldPart I021_V2_3_210_VN = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_3_210_VN, NULL }; static int hf_021_V2_3_210_LTT; static const value_string valstr_021_V2_3_210_LTT[] = { { 0, "Other" }, { 1, "UAT" }, { 2, "1090 ES" }, { 3, "VDL 4" }, { 4, "Not assigned" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I021_V2_3_210_LTT = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_3_210_LTT, NULL }; static const FieldPart *I021_V2_3_210_PARTS[] = { &IXXX_1bit_spare, &I021_V2_3_210_VNS, &I021_V2_3_210_VN, &I021_V2_3_210_LTT, NULL }; static const AsterixField I021_V2_3_210 = { FIXED, 1, 0, 0, &hf_021_V2_3_210, I021_V2_3_210_PARTS, { NULL } }; static int hf_021_V2_3_220; static int hf_021_V2_3_220_WS; static int hf_021_V2_3_220_WS_VALUE; static const FieldPart I021_V2_3_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_3_220_WS_VALUE, NULL }; static const FieldPart *I021_V2_3_220_WS_PARTS[] = { &I021_V2_3_220_WS_VALUE, NULL }; static const AsterixField I021_V2_3_220_WS = { FIXED, 2, 0, 0, &hf_021_V2_3_220_WS, I021_V2_3_220_WS_PARTS, { NULL } }; static int hf_021_V2_3_220_WD; static int hf_021_V2_3_220_WD_VALUE; static const FieldPart I021_V2_3_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_3_220_WD_VALUE, NULL }; static const FieldPart *I021_V2_3_220_WD_PARTS[] = { &I021_V2_3_220_WD_VALUE, NULL }; static const AsterixField I021_V2_3_220_WD = { FIXED, 2, 0, 0, &hf_021_V2_3_220_WD, I021_V2_3_220_WD_PARTS, { NULL } }; static int hf_021_V2_3_220_TMP; static int hf_021_V2_3_220_TMP_VALUE; static const FieldPart I021_V2_3_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_3_220_TMP_VALUE, NULL }; static const FieldPart *I021_V2_3_220_TMP_PARTS[] = { &I021_V2_3_220_TMP_VALUE, NULL }; static const AsterixField I021_V2_3_220_TMP = { FIXED, 2, 0, 0, &hf_021_V2_3_220_TMP, I021_V2_3_220_TMP_PARTS, { NULL } }; static int hf_021_V2_3_220_TRB; static int hf_021_V2_3_220_TRB_VALUE; static const FieldPart I021_V2_3_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_3_220_TRB_VALUE, NULL }; static const FieldPart *I021_V2_3_220_TRB_PARTS[] = { &I021_V2_3_220_TRB_VALUE, NULL }; static const AsterixField I021_V2_3_220_TRB = { FIXED, 1, 0, 0, &hf_021_V2_3_220_TRB, I021_V2_3_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V2_3_220 = { COMPOUND, 0, 0, 0, &hf_021_V2_3_220, NULL, { &I021_V2_3_220_WS, &I021_V2_3_220_WD, &I021_V2_3_220_TMP, &I021_V2_3_220_TRB, NULL } }; static int hf_021_V2_3_230; static int hf_021_V2_3_230_VALUE; static const FieldPart I021_V2_3_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V2_3_230_VALUE, NULL }; static const FieldPart *I021_V2_3_230_PARTS[] = { &I021_V2_3_230_VALUE, NULL }; static const AsterixField I021_V2_3_230 = { FIXED, 2, 0, 0, &hf_021_V2_3_230, I021_V2_3_230_PARTS, { NULL } }; static int hf_021_V2_3_250; static int hf_021_V2_3_250_VALUE; static const FieldPart I021_V2_3_250_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_021_V2_3_250_VALUE, NULL }; static const FieldPart *I021_V2_3_250_PARTS[] = { &I021_V2_3_250_VALUE, NULL }; static const AsterixField I021_V2_3_250 = { REPETITIVE, 8, 1, 0, &hf_021_V2_3_250, I021_V2_3_250_PARTS, { NULL } }; static int hf_021_V2_3_260; static int hf_021_V2_3_260_TYP; static const FieldPart I021_V2_3_260_TYP = { 5, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_TYP, NULL }; static int hf_021_V2_3_260_STYP; static const FieldPart I021_V2_3_260_STYP = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_STYP, NULL }; static int hf_021_V2_3_260_ARA; static const FieldPart I021_V2_3_260_ARA = { 14, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_ARA, NULL }; static int hf_021_V2_3_260_RAC; static const FieldPart I021_V2_3_260_RAC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_RAC, NULL }; static int hf_021_V2_3_260_RAT; static const FieldPart I021_V2_3_260_RAT = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_RAT, NULL }; static int hf_021_V2_3_260_MTE; static const FieldPart I021_V2_3_260_MTE = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_MTE, NULL }; static int hf_021_V2_3_260_TTI; static const FieldPart I021_V2_3_260_TTI = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_TTI, NULL }; static int hf_021_V2_3_260_TID; static const FieldPart I021_V2_3_260_TID = { 26, 1.0, FIELD_PART_HEX, &hf_021_V2_3_260_TID, NULL }; static const FieldPart *I021_V2_3_260_PARTS[] = { &I021_V2_3_260_TYP, &I021_V2_3_260_STYP, &I021_V2_3_260_ARA, &I021_V2_3_260_RAC, &I021_V2_3_260_RAT, &I021_V2_3_260_MTE, &I021_V2_3_260_TTI, &I021_V2_3_260_TID, NULL }; static const AsterixField I021_V2_3_260 = { FIXED, 7, 0, 0, &hf_021_V2_3_260, I021_V2_3_260_PARTS, { NULL } }; static int hf_021_V2_3_271; static int hf_021_V2_3_271_POA; static const value_string valstr_021_V2_3_271_POA[] = { { 0, "Position transmitted is not ADS-B position reference point" }, { 1, "Position transmitted is the ADS-B position reference point" }, { 0, NULL } }; static const FieldPart I021_V2_3_271_POA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_271_POA, NULL }; static int hf_021_V2_3_271_CDTIS; static const value_string valstr_021_V2_3_271_CDTIS[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_3_271_CDTIS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_271_CDTIS, NULL }; static int hf_021_V2_3_271_B2LOW; static const value_string valstr_021_V2_3_271_B2LOW[] = { { 0, ">= 70 Watts" }, { 1, "< 70 Watts" }, { 0, NULL } }; static const FieldPart I021_V2_3_271_B2LOW = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_271_B2LOW, NULL }; static int hf_021_V2_3_271_RAS; static const value_string valstr_021_V2_3_271_RAS[] = { { 0, "Aircraft not receiving ATC-services" }, { 1, "Aircraft receiving ATC services" }, { 0, NULL } }; static const FieldPart I021_V2_3_271_RAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_271_RAS, NULL }; static int hf_021_V2_3_271_IDENT; static const value_string valstr_021_V2_3_271_IDENT[] = { { 0, "IDENT switch not active" }, { 1, "IDENT switch active" }, { 0, NULL } }; static const FieldPart I021_V2_3_271_IDENT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_3_271_IDENT, NULL }; static int hf_021_V2_3_271_LW; static const FieldPart I021_V2_3_271_LW = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_3_271_LW, NULL }; static const FieldPart *I021_V2_3_271_PARTS[] = { &IXXX_2bit_spare, &I021_V2_3_271_POA, &I021_V2_3_271_CDTIS, &I021_V2_3_271_B2LOW, &I021_V2_3_271_RAS, &I021_V2_3_271_IDENT, &IXXX_FX, &I021_V2_3_271_LW, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_3_271 = { FX, 1, 0, 0, &hf_021_V2_3_271, I021_V2_3_271_PARTS, { NULL } }; static int hf_021_V2_3_295; static int hf_021_V2_3_295_AOS; static int hf_021_V2_3_295_AOS_VALUE; static const FieldPart I021_V2_3_295_AOS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_AOS_VALUE, NULL }; static const FieldPart *I021_V2_3_295_AOS_PARTS[] = { &I021_V2_3_295_AOS_VALUE, NULL }; static const AsterixField I021_V2_3_295_AOS = { FIXED, 1, 0, 0, &hf_021_V2_3_295_AOS, I021_V2_3_295_AOS_PARTS, { NULL } }; static int hf_021_V2_3_295_TRD; static int hf_021_V2_3_295_TRD_VALUE; static const FieldPart I021_V2_3_295_TRD_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_TRD_VALUE, NULL }; static const FieldPart *I021_V2_3_295_TRD_PARTS[] = { &I021_V2_3_295_TRD_VALUE, NULL }; static const AsterixField I021_V2_3_295_TRD = { FIXED, 1, 0, 0, &hf_021_V2_3_295_TRD, I021_V2_3_295_TRD_PARTS, { NULL } }; static int hf_021_V2_3_295_M3A; static int hf_021_V2_3_295_M3A_VALUE; static const FieldPart I021_V2_3_295_M3A_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_M3A_VALUE, NULL }; static const FieldPart *I021_V2_3_295_M3A_PARTS[] = { &I021_V2_3_295_M3A_VALUE, NULL }; static const AsterixField I021_V2_3_295_M3A = { FIXED, 1, 0, 0, &hf_021_V2_3_295_M3A, I021_V2_3_295_M3A_PARTS, { NULL } }; static int hf_021_V2_3_295_QI; static int hf_021_V2_3_295_QI_VALUE; static const FieldPart I021_V2_3_295_QI_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_QI_VALUE, NULL }; static const FieldPart *I021_V2_3_295_QI_PARTS[] = { &I021_V2_3_295_QI_VALUE, NULL }; static const AsterixField I021_V2_3_295_QI = { FIXED, 1, 0, 0, &hf_021_V2_3_295_QI, I021_V2_3_295_QI_PARTS, { NULL } }; static int hf_021_V2_3_295_TI1; static int hf_021_V2_3_295_TI1_VALUE; static const FieldPart I021_V2_3_295_TI1_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_TI1_VALUE, NULL }; static const FieldPart *I021_V2_3_295_TI1_PARTS[] = { &I021_V2_3_295_TI1_VALUE, NULL }; static const AsterixField I021_V2_3_295_TI1 = { FIXED, 1, 0, 0, &hf_021_V2_3_295_TI1, I021_V2_3_295_TI1_PARTS, { NULL } }; static int hf_021_V2_3_295_MAM; static int hf_021_V2_3_295_MAM_VALUE; static const FieldPart I021_V2_3_295_MAM_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_MAM_VALUE, NULL }; static const FieldPart *I021_V2_3_295_MAM_PARTS[] = { &I021_V2_3_295_MAM_VALUE, NULL }; static const AsterixField I021_V2_3_295_MAM = { FIXED, 1, 0, 0, &hf_021_V2_3_295_MAM, I021_V2_3_295_MAM_PARTS, { NULL } }; static int hf_021_V2_3_295_GH; static int hf_021_V2_3_295_GH_VALUE; static const FieldPart I021_V2_3_295_GH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_GH_VALUE, NULL }; static const FieldPart *I021_V2_3_295_GH_PARTS[] = { &I021_V2_3_295_GH_VALUE, NULL }; static const AsterixField I021_V2_3_295_GH = { FIXED, 1, 0, 0, &hf_021_V2_3_295_GH, I021_V2_3_295_GH_PARTS, { NULL } }; static int hf_021_V2_3_295_FL; static int hf_021_V2_3_295_FL_VALUE; static const FieldPart I021_V2_3_295_FL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_FL_VALUE, NULL }; static const FieldPart *I021_V2_3_295_FL_PARTS[] = { &I021_V2_3_295_FL_VALUE, NULL }; static const AsterixField I021_V2_3_295_FL = { FIXED, 1, 0, 0, &hf_021_V2_3_295_FL, I021_V2_3_295_FL_PARTS, { NULL } }; static int hf_021_V2_3_295_ISA; static int hf_021_V2_3_295_ISA_VALUE; static const FieldPart I021_V2_3_295_ISA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_ISA_VALUE, NULL }; static const FieldPart *I021_V2_3_295_ISA_PARTS[] = { &I021_V2_3_295_ISA_VALUE, NULL }; static const AsterixField I021_V2_3_295_ISA = { FIXED, 1, 0, 0, &hf_021_V2_3_295_ISA, I021_V2_3_295_ISA_PARTS, { NULL } }; static int hf_021_V2_3_295_FSA; static int hf_021_V2_3_295_FSA_VALUE; static const FieldPart I021_V2_3_295_FSA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_FSA_VALUE, NULL }; static const FieldPart *I021_V2_3_295_FSA_PARTS[] = { &I021_V2_3_295_FSA_VALUE, NULL }; static const AsterixField I021_V2_3_295_FSA = { FIXED, 1, 0, 0, &hf_021_V2_3_295_FSA, I021_V2_3_295_FSA_PARTS, { NULL } }; static int hf_021_V2_3_295_AS; static int hf_021_V2_3_295_AS_VALUE; static const FieldPart I021_V2_3_295_AS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_AS_VALUE, NULL }; static const FieldPart *I021_V2_3_295_AS_PARTS[] = { &I021_V2_3_295_AS_VALUE, NULL }; static const AsterixField I021_V2_3_295_AS = { FIXED, 1, 0, 0, &hf_021_V2_3_295_AS, I021_V2_3_295_AS_PARTS, { NULL } }; static int hf_021_V2_3_295_TAS; static int hf_021_V2_3_295_TAS_VALUE; static const FieldPart I021_V2_3_295_TAS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_TAS_VALUE, NULL }; static const FieldPart *I021_V2_3_295_TAS_PARTS[] = { &I021_V2_3_295_TAS_VALUE, NULL }; static const AsterixField I021_V2_3_295_TAS = { FIXED, 1, 0, 0, &hf_021_V2_3_295_TAS, I021_V2_3_295_TAS_PARTS, { NULL } }; static int hf_021_V2_3_295_MH; static int hf_021_V2_3_295_MH_VALUE; static const FieldPart I021_V2_3_295_MH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_MH_VALUE, NULL }; static const FieldPart *I021_V2_3_295_MH_PARTS[] = { &I021_V2_3_295_MH_VALUE, NULL }; static const AsterixField I021_V2_3_295_MH = { FIXED, 1, 0, 0, &hf_021_V2_3_295_MH, I021_V2_3_295_MH_PARTS, { NULL } }; static int hf_021_V2_3_295_BVR; static int hf_021_V2_3_295_BVR_VALUE; static const FieldPart I021_V2_3_295_BVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_BVR_VALUE, NULL }; static const FieldPart *I021_V2_3_295_BVR_PARTS[] = { &I021_V2_3_295_BVR_VALUE, NULL }; static const AsterixField I021_V2_3_295_BVR = { FIXED, 1, 0, 0, &hf_021_V2_3_295_BVR, I021_V2_3_295_BVR_PARTS, { NULL } }; static int hf_021_V2_3_295_GVR; static int hf_021_V2_3_295_GVR_VALUE; static const FieldPart I021_V2_3_295_GVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_GVR_VALUE, NULL }; static const FieldPart *I021_V2_3_295_GVR_PARTS[] = { &I021_V2_3_295_GVR_VALUE, NULL }; static const AsterixField I021_V2_3_295_GVR = { FIXED, 1, 0, 0, &hf_021_V2_3_295_GVR, I021_V2_3_295_GVR_PARTS, { NULL } }; static int hf_021_V2_3_295_GV; static int hf_021_V2_3_295_GV_VALUE; static const FieldPart I021_V2_3_295_GV_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_GV_VALUE, NULL }; static const FieldPart *I021_V2_3_295_GV_PARTS[] = { &I021_V2_3_295_GV_VALUE, NULL }; static const AsterixField I021_V2_3_295_GV = { FIXED, 1, 0, 0, &hf_021_V2_3_295_GV, I021_V2_3_295_GV_PARTS, { NULL } }; static int hf_021_V2_3_295_TAR; static int hf_021_V2_3_295_TAR_VALUE; static const FieldPart I021_V2_3_295_TAR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_TAR_VALUE, NULL }; static const FieldPart *I021_V2_3_295_TAR_PARTS[] = { &I021_V2_3_295_TAR_VALUE, NULL }; static const AsterixField I021_V2_3_295_TAR = { FIXED, 1, 0, 0, &hf_021_V2_3_295_TAR, I021_V2_3_295_TAR_PARTS, { NULL } }; static int hf_021_V2_3_295_TI2; static int hf_021_V2_3_295_TI2_VALUE; static const FieldPart I021_V2_3_295_TI2_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_TI2_VALUE, NULL }; static const FieldPart *I021_V2_3_295_TI2_PARTS[] = { &I021_V2_3_295_TI2_VALUE, NULL }; static const AsterixField I021_V2_3_295_TI2 = { FIXED, 1, 0, 0, &hf_021_V2_3_295_TI2, I021_V2_3_295_TI2_PARTS, { NULL } }; static int hf_021_V2_3_295_TS; static int hf_021_V2_3_295_TS_VALUE; static const FieldPart I021_V2_3_295_TS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_TS_VALUE, NULL }; static const FieldPart *I021_V2_3_295_TS_PARTS[] = { &I021_V2_3_295_TS_VALUE, NULL }; static const AsterixField I021_V2_3_295_TS = { FIXED, 1, 0, 0, &hf_021_V2_3_295_TS, I021_V2_3_295_TS_PARTS, { NULL } }; static int hf_021_V2_3_295_MET; static int hf_021_V2_3_295_MET_VALUE; static const FieldPart I021_V2_3_295_MET_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_MET_VALUE, NULL }; static const FieldPart *I021_V2_3_295_MET_PARTS[] = { &I021_V2_3_295_MET_VALUE, NULL }; static const AsterixField I021_V2_3_295_MET = { FIXED, 1, 0, 0, &hf_021_V2_3_295_MET, I021_V2_3_295_MET_PARTS, { NULL } }; static int hf_021_V2_3_295_ROA; static int hf_021_V2_3_295_ROA_VALUE; static const FieldPart I021_V2_3_295_ROA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_ROA_VALUE, NULL }; static const FieldPart *I021_V2_3_295_ROA_PARTS[] = { &I021_V2_3_295_ROA_VALUE, NULL }; static const AsterixField I021_V2_3_295_ROA = { FIXED, 1, 0, 0, &hf_021_V2_3_295_ROA, I021_V2_3_295_ROA_PARTS, { NULL } }; static int hf_021_V2_3_295_ARA; static int hf_021_V2_3_295_ARA_VALUE; static const FieldPart I021_V2_3_295_ARA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_ARA_VALUE, NULL }; static const FieldPart *I021_V2_3_295_ARA_PARTS[] = { &I021_V2_3_295_ARA_VALUE, NULL }; static const AsterixField I021_V2_3_295_ARA = { FIXED, 1, 0, 0, &hf_021_V2_3_295_ARA, I021_V2_3_295_ARA_PARTS, { NULL } }; static int hf_021_V2_3_295_SCC; static int hf_021_V2_3_295_SCC_VALUE; static const FieldPart I021_V2_3_295_SCC_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_3_295_SCC_VALUE, NULL }; static const FieldPart *I021_V2_3_295_SCC_PARTS[] = { &I021_V2_3_295_SCC_VALUE, NULL }; static const AsterixField I021_V2_3_295_SCC = { FIXED, 1, 0, 0, &hf_021_V2_3_295_SCC, I021_V2_3_295_SCC_PARTS, { NULL } }; static const AsterixField I021_V2_3_295 = { COMPOUND, 0, 0, 0, &hf_021_V2_3_295, NULL, { &I021_V2_3_295_AOS, &I021_V2_3_295_TRD, &I021_V2_3_295_M3A, &I021_V2_3_295_QI, &I021_V2_3_295_TI1, &I021_V2_3_295_MAM, &I021_V2_3_295_GH, &I021_V2_3_295_FL, &I021_V2_3_295_ISA, &I021_V2_3_295_FSA, &I021_V2_3_295_AS, &I021_V2_3_295_TAS, &I021_V2_3_295_MH, &I021_V2_3_295_BVR, &I021_V2_3_295_GVR, &I021_V2_3_295_GV, &I021_V2_3_295_TAR, &I021_V2_3_295_TI2, &I021_V2_3_295_TS, &I021_V2_3_295_MET, &I021_V2_3_295_ROA, &I021_V2_3_295_ARA, &I021_V2_3_295_SCC, NULL } }; static int hf_021_V2_3_400; static int hf_021_V2_3_400_VALUE; static const FieldPart I021_V2_3_400_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_3_400_VALUE, NULL }; static const FieldPart *I021_V2_3_400_PARTS[] = { &I021_V2_3_400_VALUE, NULL }; static const AsterixField I021_V2_3_400 = { FIXED, 1, 0, 0, &hf_021_V2_3_400, I021_V2_3_400_PARTS, { NULL } }; static int hf_021_V2_3_RE; static const AsterixField I021_V2_3_RE = { EXP, 0, 0, 1, &hf_021_V2_3_RE, NULL, { NULL } }; static int hf_021_V2_3_SP; static const AsterixField I021_V2_3_SP = { EXP, 0, 0, 1, &hf_021_V2_3_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V2_3_uap[] = { &I021_V2_3_010, &I021_V2_3_040, &I021_V2_3_161, &I021_V2_3_015, &I021_V2_3_071, &I021_V2_3_130, &I021_V2_3_131, &I021_V2_3_072, &I021_V2_3_150, &I021_V2_3_151, &I021_V2_3_080, &I021_V2_3_073, &I021_V2_3_074, &I021_V2_3_075, &I021_V2_3_076, &I021_V2_3_140, &I021_V2_3_090, &I021_V2_3_210, &I021_V2_3_070, &I021_V2_3_230, &I021_V2_3_145, &I021_V2_3_152, &I021_V2_3_200, &I021_V2_3_155, &I021_V2_3_157, &I021_V2_3_160, &I021_V2_3_165, &I021_V2_3_077, &I021_V2_3_170, &I021_V2_3_020, &I021_V2_3_220, &I021_V2_3_146, &I021_V2_3_148, &I021_V2_3_110, &I021_V2_3_016, &I021_V2_3_008, &I021_V2_3_271, &I021_V2_3_132, &I021_V2_3_250, &I021_V2_3_260, &I021_V2_3_400, &I021_V2_3_295, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V2_3_RE, &I021_V2_3_SP, NULL }; static const AsterixField **I021_V2_3[] = { I021_V2_3_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 2.4 */ static int hf_021_V2_4_008; static int hf_021_V2_4_008_RA; static const value_string valstr_021_V2_4_008_RA[] = { { 0, "TCAS II or ACAS RA not active" }, { 1, "TCAS RA active" }, { 0, NULL } }; static const FieldPart I021_V2_4_008_RA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_008_RA, NULL }; static int hf_021_V2_4_008_TC; static const value_string valstr_021_V2_4_008_TC[] = { { 0, "No capability for Trajectory Change Reports" }, { 1, "Support for TC+0 reports only" }, { 2, "Support for multiple TC reports" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V2_4_008_TC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_008_TC, NULL }; static int hf_021_V2_4_008_TS; static const value_string valstr_021_V2_4_008_TS[] = { { 0, "No capability to support Target State Reports" }, { 1, "Capable of supporting target State Reports" }, { 0, NULL } }; static const FieldPart I021_V2_4_008_TS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_008_TS, NULL }; static int hf_021_V2_4_008_ARV; static const value_string valstr_021_V2_4_008_ARV[] = { { 0, "No capability to generate ARV-reports" }, { 1, "Capable of generate ARV-reports" }, { 0, NULL } }; static const FieldPart I021_V2_4_008_ARV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_008_ARV, NULL }; static int hf_021_V2_4_008_CDTIA; static const value_string valstr_021_V2_4_008_CDTIA[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_4_008_CDTIA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_008_CDTIA, NULL }; static int hf_021_V2_4_008_NOTTCAS; static const value_string valstr_021_V2_4_008_NOTTCAS[] = { { 0, "TCAS operational" }, { 1, "TCAS not operational" }, { 0, NULL } }; static const FieldPart I021_V2_4_008_NOTTCAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_008_NOTTCAS, NULL }; static int hf_021_V2_4_008_SA; static const value_string valstr_021_V2_4_008_SA[] = { { 0, "Antenna Diversity" }, { 1, "Single Antenna only" }, { 0, NULL } }; static const FieldPart I021_V2_4_008_SA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_008_SA, NULL }; static const FieldPart *I021_V2_4_008_PARTS[] = { &I021_V2_4_008_RA, &I021_V2_4_008_TC, &I021_V2_4_008_TS, &I021_V2_4_008_ARV, &I021_V2_4_008_CDTIA, &I021_V2_4_008_NOTTCAS, &I021_V2_4_008_SA, NULL }; static const AsterixField I021_V2_4_008 = { FIXED, 1, 0, 0, &hf_021_V2_4_008, I021_V2_4_008_PARTS, { NULL } }; static int hf_021_V2_4_010; static int hf_021_V2_4_010_SAC; static const FieldPart I021_V2_4_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_4_010_SAC, NULL }; static int hf_021_V2_4_010_SIC; static const FieldPart I021_V2_4_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_4_010_SIC, NULL }; static const FieldPart *I021_V2_4_010_PARTS[] = { &I021_V2_4_010_SAC, &I021_V2_4_010_SIC, NULL }; static const AsterixField I021_V2_4_010 = { FIXED, 2, 0, 0, &hf_021_V2_4_010, I021_V2_4_010_PARTS, { NULL } }; static int hf_021_V2_4_015; static int hf_021_V2_4_015_VALUE; static const FieldPart I021_V2_4_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_4_015_VALUE, NULL }; static const FieldPart *I021_V2_4_015_PARTS[] = { &I021_V2_4_015_VALUE, NULL }; static const AsterixField I021_V2_4_015 = { FIXED, 1, 0, 0, &hf_021_V2_4_015, I021_V2_4_015_PARTS, { NULL } }; static int hf_021_V2_4_016; static int hf_021_V2_4_016_VALUE; static const FieldPart I021_V2_4_016_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_021_V2_4_016_VALUE, NULL }; static const FieldPart *I021_V2_4_016_PARTS[] = { &I021_V2_4_016_VALUE, NULL }; static const AsterixField I021_V2_4_016 = { FIXED, 1, 0, 0, &hf_021_V2_4_016, I021_V2_4_016_PARTS, { NULL } }; static int hf_021_V2_4_020; static int hf_021_V2_4_020_VALUE; static const value_string valstr_021_V2_4_020_VALUE[] = { { 0, "No ADS-B Emitter Category Information" }, { 1, "Light aircraft <= 15500 lbs" }, { 2, "15500 lbs < small aircraft <75000 lbs" }, { 3, "75000 lbs < medium a/c < 300000 lbs" }, { 4, "High Vortex Large" }, { 5, "300000 lbs <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Cluster obstacle" }, { 24, "Line obstacle" }, { 0, NULL } }; static const FieldPart I021_V2_4_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_4_020_VALUE, NULL }; static const FieldPart *I021_V2_4_020_PARTS[] = { &I021_V2_4_020_VALUE, NULL }; static const AsterixField I021_V2_4_020 = { FIXED, 1, 0, 0, &hf_021_V2_4_020, I021_V2_4_020_PARTS, { NULL } }; static int hf_021_V2_4_040; static int hf_021_V2_4_040_ATP; static const value_string valstr_021_V2_4_040_ATP[] = { { 0, "24-Bit ICAO address" }, { 1, "Duplicate address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_ATP, NULL }; static int hf_021_V2_4_040_ARC; static const value_string valstr_021_V2_4_040_ARC[] = { { 0, "25 ft" }, { 1, "100 ft" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_ARC, NULL }; static int hf_021_V2_4_040_RC; static const value_string valstr_021_V2_4_040_RC[] = { { 0, "Default" }, { 1, "Range Check passed, CPR Validation pending" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_RC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_RC, NULL }; static int hf_021_V2_4_040_RAB; static const value_string valstr_021_V2_4_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_RAB, NULL }; static int hf_021_V2_4_040_DCR; static const value_string valstr_021_V2_4_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_DCR, NULL }; static int hf_021_V2_4_040_GBS; static const value_string valstr_021_V2_4_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_GBS, NULL }; static int hf_021_V2_4_040_SIM; static const value_string valstr_021_V2_4_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_SIM, NULL }; static int hf_021_V2_4_040_TST; static const value_string valstr_021_V2_4_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_TST, NULL }; static int hf_021_V2_4_040_SAA; static const value_string valstr_021_V2_4_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_SAA, NULL }; static int hf_021_V2_4_040_CL; static const value_string valstr_021_V2_4_040_CL[] = { { 0, "Report valid" }, { 1, "Report suspect" }, { 2, "No information" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_CL = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_CL, NULL }; static int hf_021_V2_4_040_LLC; static const value_string valstr_021_V2_4_040_LLC[] = { { 0, "Default" }, { 1, "List Lookup failed (see note)" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_LLC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_LLC, NULL }; static int hf_021_V2_4_040_IPC; static const value_string valstr_021_V2_4_040_IPC[] = { { 0, "Default (see note)" }, { 1, "Independent Position Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_IPC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_IPC, NULL }; static int hf_021_V2_4_040_NOGO; static const value_string valstr_021_V2_4_040_NOGO[] = { { 0, "NOGO-bit not set" }, { 1, "NOGO-bit set" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_NOGO, NULL }; static int hf_021_V2_4_040_CPR; static const value_string valstr_021_V2_4_040_CPR[] = { { 0, "CPR Validation correct" }, { 1, "CPR Validation failed" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_CPR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_CPR, NULL }; static int hf_021_V2_4_040_LDPJ; static const value_string valstr_021_V2_4_040_LDPJ[] = { { 0, "LDPJ not detected" }, { 1, "LDPJ detected" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_LDPJ = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_LDPJ, NULL }; static int hf_021_V2_4_040_RCF; static const value_string valstr_021_V2_4_040_RCF[] = { { 0, "Default" }, { 1, "Range Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_4_040_RCF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_040_RCF, NULL }; static const FieldPart *I021_V2_4_040_PARTS[] = { &I021_V2_4_040_ATP, &I021_V2_4_040_ARC, &I021_V2_4_040_RC, &I021_V2_4_040_RAB, &IXXX_FX, &I021_V2_4_040_DCR, &I021_V2_4_040_GBS, &I021_V2_4_040_SIM, &I021_V2_4_040_TST, &I021_V2_4_040_SAA, &I021_V2_4_040_CL, &IXXX_FX, &IXXX_1bit_spare, &I021_V2_4_040_LLC, &I021_V2_4_040_IPC, &I021_V2_4_040_NOGO, &I021_V2_4_040_CPR, &I021_V2_4_040_LDPJ, &I021_V2_4_040_RCF, &IXXX_FX, NULL }; static const AsterixField I021_V2_4_040 = { FX, 1, 0, 0, &hf_021_V2_4_040, I021_V2_4_040_PARTS, { NULL } }; static int hf_021_V2_4_070; static int hf_021_V2_4_070_MODE3A; static const FieldPart I021_V2_4_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_V2_4_070_MODE3A, NULL }; static const FieldPart *I021_V2_4_070_PARTS[] = { &IXXX_4bit_spare, &I021_V2_4_070_MODE3A, NULL }; static const AsterixField I021_V2_4_070 = { FIXED, 2, 0, 0, &hf_021_V2_4_070, I021_V2_4_070_PARTS, { NULL } }; static int hf_021_V2_4_071; static int hf_021_V2_4_071_VALUE; static const FieldPart I021_V2_4_071_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_4_071_VALUE, NULL }; static const FieldPart *I021_V2_4_071_PARTS[] = { &I021_V2_4_071_VALUE, NULL }; static const AsterixField I021_V2_4_071 = { FIXED, 3, 0, 0, &hf_021_V2_4_071, I021_V2_4_071_PARTS, { NULL } }; static int hf_021_V2_4_072; static int hf_021_V2_4_072_VALUE; static const FieldPart I021_V2_4_072_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_4_072_VALUE, NULL }; static const FieldPart *I021_V2_4_072_PARTS[] = { &I021_V2_4_072_VALUE, NULL }; static const AsterixField I021_V2_4_072 = { FIXED, 3, 0, 0, &hf_021_V2_4_072, I021_V2_4_072_PARTS, { NULL } }; static int hf_021_V2_4_073; static int hf_021_V2_4_073_VALUE; static const FieldPart I021_V2_4_073_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_4_073_VALUE, NULL }; static const FieldPart *I021_V2_4_073_PARTS[] = { &I021_V2_4_073_VALUE, NULL }; static const AsterixField I021_V2_4_073 = { FIXED, 3, 0, 0, &hf_021_V2_4_073, I021_V2_4_073_PARTS, { NULL } }; static int hf_021_V2_4_074; static int hf_021_V2_4_074_FSI; static const value_string valstr_021_V2_4_074_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/073) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/073) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/073) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_4_074_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_074_FSI, NULL }; static int hf_021_V2_4_074_TOMRP; static const FieldPart I021_V2_4_074_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_4_074_TOMRP, NULL }; static const FieldPart *I021_V2_4_074_PARTS[] = { &I021_V2_4_074_FSI, &I021_V2_4_074_TOMRP, NULL }; static const AsterixField I021_V2_4_074 = { FIXED, 4, 0, 0, &hf_021_V2_4_074, I021_V2_4_074_PARTS, { NULL } }; static int hf_021_V2_4_075; static int hf_021_V2_4_075_VALUE; static const FieldPart I021_V2_4_075_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_4_075_VALUE, NULL }; static const FieldPart *I021_V2_4_075_PARTS[] = { &I021_V2_4_075_VALUE, NULL }; static const AsterixField I021_V2_4_075 = { FIXED, 3, 0, 0, &hf_021_V2_4_075, I021_V2_4_075_PARTS, { NULL } }; static int hf_021_V2_4_076; static int hf_021_V2_4_076_FSI; static const value_string valstr_021_V2_4_076_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/075) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/075) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/075) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_4_076_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_076_FSI, NULL }; static int hf_021_V2_4_076_TOMRP; static const FieldPart I021_V2_4_076_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_4_076_TOMRP, NULL }; static const FieldPart *I021_V2_4_076_PARTS[] = { &I021_V2_4_076_FSI, &I021_V2_4_076_TOMRP, NULL }; static const AsterixField I021_V2_4_076 = { FIXED, 4, 0, 0, &hf_021_V2_4_076, I021_V2_4_076_PARTS, { NULL } }; static int hf_021_V2_4_077; static int hf_021_V2_4_077_VALUE; static const FieldPart I021_V2_4_077_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_4_077_VALUE, NULL }; static const FieldPart *I021_V2_4_077_PARTS[] = { &I021_V2_4_077_VALUE, NULL }; static const AsterixField I021_V2_4_077 = { FIXED, 3, 0, 0, &hf_021_V2_4_077, I021_V2_4_077_PARTS, { NULL } }; static int hf_021_V2_4_080; static int hf_021_V2_4_080_VALUE; static const FieldPart I021_V2_4_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V2_4_080_VALUE, NULL }; static const FieldPart *I021_V2_4_080_PARTS[] = { &I021_V2_4_080_VALUE, NULL }; static const AsterixField I021_V2_4_080 = { FIXED, 3, 0, 0, &hf_021_V2_4_080, I021_V2_4_080_PARTS, { NULL } }; static int hf_021_V2_4_090; static int hf_021_V2_4_090_NUCRNACV; static const FieldPart I021_V2_4_090_NUCRNACV = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_NUCRNACV, NULL }; static int hf_021_V2_4_090_NUCPNIC; static const FieldPart I021_V2_4_090_NUCPNIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_NUCPNIC, NULL }; static int hf_021_V2_4_090_NICBARO; static const FieldPart I021_V2_4_090_NICBARO = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_NICBARO, NULL }; static int hf_021_V2_4_090_SIL; static const FieldPart I021_V2_4_090_SIL = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_SIL, NULL }; static int hf_021_V2_4_090_NACP; static const FieldPart I021_V2_4_090_NACP = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_NACP, NULL }; static int hf_021_V2_4_090_SILS; static const value_string valstr_021_V2_4_090_SILS[] = { { 0, "Measured per flight-hour" }, { 1, "Measured per sample" }, { 0, NULL } }; static const FieldPart I021_V2_4_090_SILS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_090_SILS, NULL }; static int hf_021_V2_4_090_SDA; static const FieldPart I021_V2_4_090_SDA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_SDA, NULL }; static int hf_021_V2_4_090_GVA; static const FieldPart I021_V2_4_090_GVA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_GVA, NULL }; static int hf_021_V2_4_090_PIC; static const FieldPart I021_V2_4_090_PIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_4_090_PIC, NULL }; static const FieldPart *I021_V2_4_090_PARTS[] = { &I021_V2_4_090_NUCRNACV, &I021_V2_4_090_NUCPNIC, &IXXX_FX, &I021_V2_4_090_NICBARO, &I021_V2_4_090_SIL, &I021_V2_4_090_NACP, &IXXX_FX, &IXXX_2bit_spare, &I021_V2_4_090_SILS, &I021_V2_4_090_SDA, &I021_V2_4_090_GVA, &IXXX_FX, &I021_V2_4_090_PIC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_4_090 = { FX, 1, 0, 0, &hf_021_V2_4_090, I021_V2_4_090_PARTS, { NULL } }; static int hf_021_V2_4_110; static int hf_021_V2_4_110_TIS; static int hf_021_V2_4_110_TIS_NAV; static const value_string valstr_021_V2_4_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TIS_NAV, NULL }; static int hf_021_V2_4_110_TIS_NVB; static const value_string valstr_021_V2_4_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TIS_NVB, NULL }; static const FieldPart *I021_V2_4_110_TIS_PARTS[] = { &I021_V2_4_110_TIS_NAV, &I021_V2_4_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_4_110_TIS = { FX, 1, 0, 0, &hf_021_V2_4_110_TIS, I021_V2_4_110_TIS_PARTS, { NULL } }; static int hf_021_V2_4_110_TID; static int hf_021_V2_4_110_TID_TCA; static const value_string valstr_021_V2_4_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TID_TCA, NULL }; static int hf_021_V2_4_110_TID_NC; static const value_string valstr_021_V2_4_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TID_NC, NULL }; static int hf_021_V2_4_110_TID_TCPN; static const FieldPart I021_V2_4_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V2_4_110_TID_TCPN, NULL }; static int hf_021_V2_4_110_TID_ALT; static const FieldPart I021_V2_4_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V2_4_110_TID_ALT, NULL }; static int hf_021_V2_4_110_TID_LAT; static const FieldPart I021_V2_4_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_4_110_TID_LAT, NULL }; static int hf_021_V2_4_110_TID_LON; static const FieldPart I021_V2_4_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_4_110_TID_LON, NULL }; static int hf_021_V2_4_110_TID_PT; static const value_string valstr_021_V2_4_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TID_PT, NULL }; static int hf_021_V2_4_110_TID_TD; static const value_string valstr_021_V2_4_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TID_TD, NULL }; static int hf_021_V2_4_110_TID_TRA; static const value_string valstr_021_V2_4_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TID_TRA, NULL }; static int hf_021_V2_4_110_TID_TOA; static const value_string valstr_021_V2_4_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V2_4_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_110_TID_TOA, NULL }; static int hf_021_V2_4_110_TID_TOV; static const FieldPart I021_V2_4_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_4_110_TID_TOV, NULL }; static int hf_021_V2_4_110_TID_TTR; static const FieldPart I021_V2_4_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V2_4_110_TID_TTR, NULL }; static const FieldPart *I021_V2_4_110_TID_PARTS[] = { &I021_V2_4_110_TID_TCA, &I021_V2_4_110_TID_NC, &I021_V2_4_110_TID_TCPN, &I021_V2_4_110_TID_ALT, &I021_V2_4_110_TID_LAT, &I021_V2_4_110_TID_LON, &I021_V2_4_110_TID_PT, &I021_V2_4_110_TID_TD, &I021_V2_4_110_TID_TRA, &I021_V2_4_110_TID_TOA, &I021_V2_4_110_TID_TOV, &I021_V2_4_110_TID_TTR, NULL }; static const AsterixField I021_V2_4_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V2_4_110_TID, I021_V2_4_110_TID_PARTS, { NULL } }; static const AsterixField I021_V2_4_110 = { COMPOUND, 0, 0, 0, &hf_021_V2_4_110, NULL, { &I021_V2_4_110_TIS, &I021_V2_4_110_TID, NULL } }; static int hf_021_V2_4_130; static int hf_021_V2_4_130_LAT; static const FieldPart I021_V2_4_130_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_4_130_LAT, NULL }; static int hf_021_V2_4_130_LON; static const FieldPart I021_V2_4_130_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_4_130_LON, NULL }; static const FieldPart *I021_V2_4_130_PARTS[] = { &I021_V2_4_130_LAT, &I021_V2_4_130_LON, NULL }; static const AsterixField I021_V2_4_130 = { FIXED, 6, 0, 0, &hf_021_V2_4_130, I021_V2_4_130_PARTS, { NULL } }; static int hf_021_V2_4_131; static int hf_021_V2_4_131_LAT; static const FieldPart I021_V2_4_131_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_4_131_LAT, NULL }; static int hf_021_V2_4_131_LON; static const FieldPart I021_V2_4_131_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_4_131_LON, NULL }; static const FieldPart *I021_V2_4_131_PARTS[] = { &I021_V2_4_131_LAT, &I021_V2_4_131_LON, NULL }; static const AsterixField I021_V2_4_131 = { FIXED, 8, 0, 0, &hf_021_V2_4_131, I021_V2_4_131_PARTS, { NULL } }; static int hf_021_V2_4_132; static int hf_021_V2_4_132_VALUE; static const FieldPart I021_V2_4_132_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_021_V2_4_132_VALUE, NULL }; static const FieldPart *I021_V2_4_132_PARTS[] = { &I021_V2_4_132_VALUE, NULL }; static const AsterixField I021_V2_4_132 = { FIXED, 1, 0, 0, &hf_021_V2_4_132, I021_V2_4_132_PARTS, { NULL } }; static int hf_021_V2_4_140; static int hf_021_V2_4_140_VALUE; static const FieldPart I021_V2_4_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V2_4_140_VALUE, NULL }; static const FieldPart *I021_V2_4_140_PARTS[] = { &I021_V2_4_140_VALUE, NULL }; static const AsterixField I021_V2_4_140 = { FIXED, 2, 0, 0, &hf_021_V2_4_140, I021_V2_4_140_PARTS, { NULL } }; static int hf_021_V2_4_145; static int hf_021_V2_4_145_VALUE; static const FieldPart I021_V2_4_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_4_145_VALUE, NULL }; static const FieldPart *I021_V2_4_145_PARTS[] = { &I021_V2_4_145_VALUE, NULL }; static const AsterixField I021_V2_4_145 = { FIXED, 2, 0, 0, &hf_021_V2_4_145, I021_V2_4_145_PARTS, { NULL } }; static int hf_021_V2_4_146; static int hf_021_V2_4_146_SAS; static const value_string valstr_021_V2_4_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V2_4_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_146_SAS, NULL }; static int hf_021_V2_4_146_S; static const value_string valstr_021_V2_4_146_S[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_4_146_S = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_146_S, NULL }; static int hf_021_V2_4_146_ALT; static const FieldPart I021_V2_4_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_4_146_ALT, NULL }; static const FieldPart *I021_V2_4_146_PARTS[] = { &I021_V2_4_146_SAS, &I021_V2_4_146_S, &I021_V2_4_146_ALT, NULL }; static const AsterixField I021_V2_4_146 = { FIXED, 2, 0, 0, &hf_021_V2_4_146, I021_V2_4_146_PARTS, { NULL } }; static int hf_021_V2_4_148; static int hf_021_V2_4_148_MV; static const value_string valstr_021_V2_4_148_MV[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_4_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_148_MV, NULL }; static int hf_021_V2_4_148_AH; static const value_string valstr_021_V2_4_148_AH[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_4_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_148_AH, NULL }; static int hf_021_V2_4_148_AM; static const value_string valstr_021_V2_4_148_AM[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_4_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_148_AM, NULL }; static int hf_021_V2_4_148_ALT; static const FieldPart I021_V2_4_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_4_148_ALT, NULL }; static const FieldPart *I021_V2_4_148_PARTS[] = { &I021_V2_4_148_MV, &I021_V2_4_148_AH, &I021_V2_4_148_AM, &I021_V2_4_148_ALT, NULL }; static const AsterixField I021_V2_4_148 = { FIXED, 2, 0, 0, &hf_021_V2_4_148, I021_V2_4_148_PARTS, { NULL } }; static int hf_021_V2_4_150; static int hf_021_V2_4_150_IM; static const value_string valstr_021_V2_4_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V2_4_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_150_IM, NULL }; static int hf_021_V2_4_150_AS; static const FieldPart I021_V2_4_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V2_4_150_AS, NULL }; static const FieldPart *I021_V2_4_150_PARTS[] = { &I021_V2_4_150_IM, &I021_V2_4_150_AS, NULL }; static const AsterixField I021_V2_4_150 = { FIXED, 2, 0, 0, &hf_021_V2_4_150, I021_V2_4_150_PARTS, { NULL } }; static int hf_021_V2_4_151; static int hf_021_V2_4_151_RE; static const value_string valstr_021_V2_4_151_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_4_151_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_151_RE, NULL }; static int hf_021_V2_4_151_TAS; static const FieldPart I021_V2_4_151_TAS = { 15, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_4_151_TAS, NULL }; static const FieldPart *I021_V2_4_151_PARTS[] = { &I021_V2_4_151_RE, &I021_V2_4_151_TAS, NULL }; static const AsterixField I021_V2_4_151 = { FIXED, 2, 0, 0, &hf_021_V2_4_151, I021_V2_4_151_PARTS, { NULL } }; static int hf_021_V2_4_152; static int hf_021_V2_4_152_VALUE; static const FieldPart I021_V2_4_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_4_152_VALUE, NULL }; static const FieldPart *I021_V2_4_152_PARTS[] = { &I021_V2_4_152_VALUE, NULL }; static const AsterixField I021_V2_4_152 = { FIXED, 2, 0, 0, &hf_021_V2_4_152, I021_V2_4_152_PARTS, { NULL } }; static int hf_021_V2_4_155; static int hf_021_V2_4_155_RE; static const value_string valstr_021_V2_4_155_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_4_155_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_155_RE, NULL }; static int hf_021_V2_4_155_BVR; static const FieldPart I021_V2_4_155_BVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_4_155_BVR, NULL }; static const FieldPart *I021_V2_4_155_PARTS[] = { &I021_V2_4_155_RE, &I021_V2_4_155_BVR, NULL }; static const AsterixField I021_V2_4_155 = { FIXED, 2, 0, 0, &hf_021_V2_4_155, I021_V2_4_155_PARTS, { NULL } }; static int hf_021_V2_4_157; static int hf_021_V2_4_157_RE; static const value_string valstr_021_V2_4_157_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_4_157_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_157_RE, NULL }; static int hf_021_V2_4_157_GVR; static const FieldPart I021_V2_4_157_GVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_4_157_GVR, NULL }; static const FieldPart *I021_V2_4_157_PARTS[] = { &I021_V2_4_157_RE, &I021_V2_4_157_GVR, NULL }; static const AsterixField I021_V2_4_157 = { FIXED, 2, 0, 0, &hf_021_V2_4_157, I021_V2_4_157_PARTS, { NULL } }; static int hf_021_V2_4_160; static int hf_021_V2_4_160_RE; static const value_string valstr_021_V2_4_160_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_4_160_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_160_RE, NULL }; static int hf_021_V2_4_160_GS; static const FieldPart I021_V2_4_160_GS = { 15, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_021_V2_4_160_GS, NULL }; static int hf_021_V2_4_160_TA; static const FieldPart I021_V2_4_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_4_160_TA, NULL }; static const FieldPart *I021_V2_4_160_PARTS[] = { &I021_V2_4_160_RE, &I021_V2_4_160_GS, &I021_V2_4_160_TA, NULL }; static const AsterixField I021_V2_4_160 = { FIXED, 4, 0, 0, &hf_021_V2_4_160, I021_V2_4_160_PARTS, { NULL } }; static int hf_021_V2_4_161; static int hf_021_V2_4_161_TRNUM; static const FieldPart I021_V2_4_161_TRNUM = { 12, 1.0, FIELD_PART_HEX, &hf_021_V2_4_161_TRNUM, NULL }; static const FieldPart *I021_V2_4_161_PARTS[] = { &IXXX_4bit_spare, &I021_V2_4_161_TRNUM, NULL }; static const AsterixField I021_V2_4_161 = { FIXED, 2, 0, 0, &hf_021_V2_4_161, I021_V2_4_161_PARTS, { NULL } }; static int hf_021_V2_4_165; static int hf_021_V2_4_165_TAR; static const FieldPart I021_V2_4_165_TAR = { 10, 0.03125, FIELD_PART_FLOAT, &hf_021_V2_4_165_TAR, NULL }; static const FieldPart *I021_V2_4_165_PARTS[] = { &IXXX_6bit_spare, &I021_V2_4_165_TAR, NULL }; static const AsterixField I021_V2_4_165 = { FIXED, 2, 0, 0, &hf_021_V2_4_165, I021_V2_4_165_PARTS, { NULL } }; static int hf_021_V2_4_170; static int hf_021_V2_4_170_VALUE; static const FieldPart I021_V2_4_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V2_4_170_VALUE, NULL }; static const FieldPart *I021_V2_4_170_PARTS[] = { &I021_V2_4_170_VALUE, NULL }; static const AsterixField I021_V2_4_170 = { FIXED, 6, 0, 0, &hf_021_V2_4_170, I021_V2_4_170_PARTS, { NULL } }; static int hf_021_V2_4_200; static int hf_021_V2_4_200_ICF; static const value_string valstr_021_V2_4_200_ICF[] = { { 0, "No intent change active" }, { 1, "Intent change flag raised" }, { 0, NULL } }; static const FieldPart I021_V2_4_200_ICF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_200_ICF, NULL }; static int hf_021_V2_4_200_LNAV; static const value_string valstr_021_V2_4_200_LNAV[] = { { 0, "LNAV Mode engaged" }, { 1, "LNAV Mode not engaged" }, { 0, NULL } }; static const FieldPart I021_V2_4_200_LNAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_200_LNAV, NULL }; static int hf_021_V2_4_200_ME; static const value_string valstr_021_V2_4_200_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I021_V2_4_200_ME = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_200_ME, NULL }; static int hf_021_V2_4_200_PS; static const value_string valstr_021_V2_4_200_PS[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical emergency" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "DOWNED Aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_4_200_PS = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_4_200_PS, NULL }; static int hf_021_V2_4_200_SS; static const value_string valstr_021_V2_4_200_SS[] = { { 0, "No condition reported" }, { 1, "Permanent Alert (Emergency condition)" }, { 2, "Temporary Alert (change in Mode 3/A Code other than emergency)" }, { 3, "SPI set" }, { 0, NULL } }; static const FieldPart I021_V2_4_200_SS = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_4_200_SS, NULL }; static const FieldPart *I021_V2_4_200_PARTS[] = { &I021_V2_4_200_ICF, &I021_V2_4_200_LNAV, &I021_V2_4_200_ME, &I021_V2_4_200_PS, &I021_V2_4_200_SS, NULL }; static const AsterixField I021_V2_4_200 = { FIXED, 1, 0, 0, &hf_021_V2_4_200, I021_V2_4_200_PARTS, { NULL } }; static int hf_021_V2_4_210; static int hf_021_V2_4_210_VNS; static const value_string valstr_021_V2_4_210_VNS[] = { { 0, "The MOPS Version is supported by the GS" }, { 1, "The MOPS Version is not supported by the GS" }, { 0, NULL } }; static const FieldPart I021_V2_4_210_VNS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_210_VNS, NULL }; static int hf_021_V2_4_210_VN; static const value_string valstr_021_V2_4_210_VN[] = { { 0, "ED102/DO-260 [Ref. 8]" }, { 1, "DO-260A [Ref. 9]" }, { 2, "ED102A/DO-260B [Ref. 11]" }, { 0, NULL } }; static const FieldPart I021_V2_4_210_VN = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_4_210_VN, NULL }; static int hf_021_V2_4_210_LTT; static const value_string valstr_021_V2_4_210_LTT[] = { { 0, "Other" }, { 1, "UAT" }, { 2, "1090 ES" }, { 3, "VDL 4" }, { 4, "Not assigned" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I021_V2_4_210_LTT = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_4_210_LTT, NULL }; static const FieldPart *I021_V2_4_210_PARTS[] = { &IXXX_1bit_spare, &I021_V2_4_210_VNS, &I021_V2_4_210_VN, &I021_V2_4_210_LTT, NULL }; static const AsterixField I021_V2_4_210 = { FIXED, 1, 0, 0, &hf_021_V2_4_210, I021_V2_4_210_PARTS, { NULL } }; static int hf_021_V2_4_220; static int hf_021_V2_4_220_WS; static int hf_021_V2_4_220_WS_VALUE; static const FieldPart I021_V2_4_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_4_220_WS_VALUE, NULL }; static const FieldPart *I021_V2_4_220_WS_PARTS[] = { &I021_V2_4_220_WS_VALUE, NULL }; static const AsterixField I021_V2_4_220_WS = { FIXED, 2, 0, 0, &hf_021_V2_4_220_WS, I021_V2_4_220_WS_PARTS, { NULL } }; static int hf_021_V2_4_220_WD; static int hf_021_V2_4_220_WD_VALUE; static const FieldPart I021_V2_4_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_4_220_WD_VALUE, NULL }; static const FieldPart *I021_V2_4_220_WD_PARTS[] = { &I021_V2_4_220_WD_VALUE, NULL }; static const AsterixField I021_V2_4_220_WD = { FIXED, 2, 0, 0, &hf_021_V2_4_220_WD, I021_V2_4_220_WD_PARTS, { NULL } }; static int hf_021_V2_4_220_TMP; static int hf_021_V2_4_220_TMP_VALUE; static const FieldPart I021_V2_4_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_4_220_TMP_VALUE, NULL }; static const FieldPart *I021_V2_4_220_TMP_PARTS[] = { &I021_V2_4_220_TMP_VALUE, NULL }; static const AsterixField I021_V2_4_220_TMP = { FIXED, 2, 0, 0, &hf_021_V2_4_220_TMP, I021_V2_4_220_TMP_PARTS, { NULL } }; static int hf_021_V2_4_220_TRB; static int hf_021_V2_4_220_TRB_VALUE; static const FieldPart I021_V2_4_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_4_220_TRB_VALUE, NULL }; static const FieldPart *I021_V2_4_220_TRB_PARTS[] = { &I021_V2_4_220_TRB_VALUE, NULL }; static const AsterixField I021_V2_4_220_TRB = { FIXED, 1, 0, 0, &hf_021_V2_4_220_TRB, I021_V2_4_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V2_4_220 = { COMPOUND, 0, 0, 0, &hf_021_V2_4_220, NULL, { &I021_V2_4_220_WS, &I021_V2_4_220_WD, &I021_V2_4_220_TMP, &I021_V2_4_220_TRB, NULL } }; static int hf_021_V2_4_230; static int hf_021_V2_4_230_VALUE; static const FieldPart I021_V2_4_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V2_4_230_VALUE, NULL }; static const FieldPart *I021_V2_4_230_PARTS[] = { &I021_V2_4_230_VALUE, NULL }; static const AsterixField I021_V2_4_230 = { FIXED, 2, 0, 0, &hf_021_V2_4_230, I021_V2_4_230_PARTS, { NULL } }; static int hf_021_V2_4_250; static int hf_021_V2_4_250_VALUE; static const FieldPart I021_V2_4_250_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_021_V2_4_250_VALUE, NULL }; static const FieldPart *I021_V2_4_250_PARTS[] = { &I021_V2_4_250_VALUE, NULL }; static const AsterixField I021_V2_4_250 = { REPETITIVE, 8, 1, 0, &hf_021_V2_4_250, I021_V2_4_250_PARTS, { NULL } }; static int hf_021_V2_4_260; static int hf_021_V2_4_260_TYP; static const FieldPart I021_V2_4_260_TYP = { 5, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_TYP, NULL }; static int hf_021_V2_4_260_STYP; static const FieldPart I021_V2_4_260_STYP = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_STYP, NULL }; static int hf_021_V2_4_260_ARA; static const FieldPart I021_V2_4_260_ARA = { 14, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_ARA, NULL }; static int hf_021_V2_4_260_RAC; static const FieldPart I021_V2_4_260_RAC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_RAC, NULL }; static int hf_021_V2_4_260_RAT; static const FieldPart I021_V2_4_260_RAT = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_RAT, NULL }; static int hf_021_V2_4_260_MTE; static const FieldPart I021_V2_4_260_MTE = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_MTE, NULL }; static int hf_021_V2_4_260_TTI; static const FieldPart I021_V2_4_260_TTI = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_TTI, NULL }; static int hf_021_V2_4_260_TID; static const FieldPart I021_V2_4_260_TID = { 26, 1.0, FIELD_PART_HEX, &hf_021_V2_4_260_TID, NULL }; static const FieldPart *I021_V2_4_260_PARTS[] = { &I021_V2_4_260_TYP, &I021_V2_4_260_STYP, &I021_V2_4_260_ARA, &I021_V2_4_260_RAC, &I021_V2_4_260_RAT, &I021_V2_4_260_MTE, &I021_V2_4_260_TTI, &I021_V2_4_260_TID, NULL }; static const AsterixField I021_V2_4_260 = { FIXED, 7, 0, 0, &hf_021_V2_4_260, I021_V2_4_260_PARTS, { NULL } }; static int hf_021_V2_4_271; static int hf_021_V2_4_271_POA; static const value_string valstr_021_V2_4_271_POA[] = { { 0, "Position transmitted is not ADS-B position reference point" }, { 1, "Position transmitted is the ADS-B position reference point" }, { 0, NULL } }; static const FieldPart I021_V2_4_271_POA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_271_POA, NULL }; static int hf_021_V2_4_271_CDTIS; static const value_string valstr_021_V2_4_271_CDTIS[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_4_271_CDTIS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_271_CDTIS, NULL }; static int hf_021_V2_4_271_B2LOW; static const value_string valstr_021_V2_4_271_B2LOW[] = { { 0, ">= 70 Watts" }, { 1, "< 70 Watts" }, { 0, NULL } }; static const FieldPart I021_V2_4_271_B2LOW = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_271_B2LOW, NULL }; static int hf_021_V2_4_271_RAS; static const value_string valstr_021_V2_4_271_RAS[] = { { 0, "Aircraft not receiving ATC-services" }, { 1, "Aircraft receiving ATC services" }, { 0, NULL } }; static const FieldPart I021_V2_4_271_RAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_271_RAS, NULL }; static int hf_021_V2_4_271_IDENT; static const value_string valstr_021_V2_4_271_IDENT[] = { { 0, "IDENT switch not active" }, { 1, "IDENT switch active" }, { 0, NULL } }; static const FieldPart I021_V2_4_271_IDENT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_4_271_IDENT, NULL }; static int hf_021_V2_4_271_LW; static const FieldPart I021_V2_4_271_LW = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_4_271_LW, NULL }; static const FieldPart *I021_V2_4_271_PARTS[] = { &IXXX_2bit_spare, &I021_V2_4_271_POA, &I021_V2_4_271_CDTIS, &I021_V2_4_271_B2LOW, &I021_V2_4_271_RAS, &I021_V2_4_271_IDENT, &IXXX_FX, &I021_V2_4_271_LW, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_4_271 = { FX, 1, 0, 0, &hf_021_V2_4_271, I021_V2_4_271_PARTS, { NULL } }; static int hf_021_V2_4_295; static int hf_021_V2_4_295_AOS; static int hf_021_V2_4_295_AOS_VALUE; static const FieldPart I021_V2_4_295_AOS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_AOS_VALUE, NULL }; static const FieldPart *I021_V2_4_295_AOS_PARTS[] = { &I021_V2_4_295_AOS_VALUE, NULL }; static const AsterixField I021_V2_4_295_AOS = { FIXED, 1, 0, 0, &hf_021_V2_4_295_AOS, I021_V2_4_295_AOS_PARTS, { NULL } }; static int hf_021_V2_4_295_TRD; static int hf_021_V2_4_295_TRD_VALUE; static const FieldPart I021_V2_4_295_TRD_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_TRD_VALUE, NULL }; static const FieldPart *I021_V2_4_295_TRD_PARTS[] = { &I021_V2_4_295_TRD_VALUE, NULL }; static const AsterixField I021_V2_4_295_TRD = { FIXED, 1, 0, 0, &hf_021_V2_4_295_TRD, I021_V2_4_295_TRD_PARTS, { NULL } }; static int hf_021_V2_4_295_M3A; static int hf_021_V2_4_295_M3A_VALUE; static const FieldPart I021_V2_4_295_M3A_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_M3A_VALUE, NULL }; static const FieldPart *I021_V2_4_295_M3A_PARTS[] = { &I021_V2_4_295_M3A_VALUE, NULL }; static const AsterixField I021_V2_4_295_M3A = { FIXED, 1, 0, 0, &hf_021_V2_4_295_M3A, I021_V2_4_295_M3A_PARTS, { NULL } }; static int hf_021_V2_4_295_QI; static int hf_021_V2_4_295_QI_VALUE; static const FieldPart I021_V2_4_295_QI_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_QI_VALUE, NULL }; static const FieldPart *I021_V2_4_295_QI_PARTS[] = { &I021_V2_4_295_QI_VALUE, NULL }; static const AsterixField I021_V2_4_295_QI = { FIXED, 1, 0, 0, &hf_021_V2_4_295_QI, I021_V2_4_295_QI_PARTS, { NULL } }; static int hf_021_V2_4_295_TI1; static int hf_021_V2_4_295_TI1_VALUE; static const FieldPart I021_V2_4_295_TI1_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_TI1_VALUE, NULL }; static const FieldPart *I021_V2_4_295_TI1_PARTS[] = { &I021_V2_4_295_TI1_VALUE, NULL }; static const AsterixField I021_V2_4_295_TI1 = { FIXED, 1, 0, 0, &hf_021_V2_4_295_TI1, I021_V2_4_295_TI1_PARTS, { NULL } }; static int hf_021_V2_4_295_MAM; static int hf_021_V2_4_295_MAM_VALUE; static const FieldPart I021_V2_4_295_MAM_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_MAM_VALUE, NULL }; static const FieldPart *I021_V2_4_295_MAM_PARTS[] = { &I021_V2_4_295_MAM_VALUE, NULL }; static const AsterixField I021_V2_4_295_MAM = { FIXED, 1, 0, 0, &hf_021_V2_4_295_MAM, I021_V2_4_295_MAM_PARTS, { NULL } }; static int hf_021_V2_4_295_GH; static int hf_021_V2_4_295_GH_VALUE; static const FieldPart I021_V2_4_295_GH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_GH_VALUE, NULL }; static const FieldPart *I021_V2_4_295_GH_PARTS[] = { &I021_V2_4_295_GH_VALUE, NULL }; static const AsterixField I021_V2_4_295_GH = { FIXED, 1, 0, 0, &hf_021_V2_4_295_GH, I021_V2_4_295_GH_PARTS, { NULL } }; static int hf_021_V2_4_295_FL; static int hf_021_V2_4_295_FL_VALUE; static const FieldPart I021_V2_4_295_FL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_FL_VALUE, NULL }; static const FieldPart *I021_V2_4_295_FL_PARTS[] = { &I021_V2_4_295_FL_VALUE, NULL }; static const AsterixField I021_V2_4_295_FL = { FIXED, 1, 0, 0, &hf_021_V2_4_295_FL, I021_V2_4_295_FL_PARTS, { NULL } }; static int hf_021_V2_4_295_ISA; static int hf_021_V2_4_295_ISA_VALUE; static const FieldPart I021_V2_4_295_ISA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_ISA_VALUE, NULL }; static const FieldPart *I021_V2_4_295_ISA_PARTS[] = { &I021_V2_4_295_ISA_VALUE, NULL }; static const AsterixField I021_V2_4_295_ISA = { FIXED, 1, 0, 0, &hf_021_V2_4_295_ISA, I021_V2_4_295_ISA_PARTS, { NULL } }; static int hf_021_V2_4_295_FSA; static int hf_021_V2_4_295_FSA_VALUE; static const FieldPart I021_V2_4_295_FSA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_FSA_VALUE, NULL }; static const FieldPart *I021_V2_4_295_FSA_PARTS[] = { &I021_V2_4_295_FSA_VALUE, NULL }; static const AsterixField I021_V2_4_295_FSA = { FIXED, 1, 0, 0, &hf_021_V2_4_295_FSA, I021_V2_4_295_FSA_PARTS, { NULL } }; static int hf_021_V2_4_295_AS; static int hf_021_V2_4_295_AS_VALUE; static const FieldPart I021_V2_4_295_AS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_AS_VALUE, NULL }; static const FieldPart *I021_V2_4_295_AS_PARTS[] = { &I021_V2_4_295_AS_VALUE, NULL }; static const AsterixField I021_V2_4_295_AS = { FIXED, 1, 0, 0, &hf_021_V2_4_295_AS, I021_V2_4_295_AS_PARTS, { NULL } }; static int hf_021_V2_4_295_TAS; static int hf_021_V2_4_295_TAS_VALUE; static const FieldPart I021_V2_4_295_TAS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_TAS_VALUE, NULL }; static const FieldPart *I021_V2_4_295_TAS_PARTS[] = { &I021_V2_4_295_TAS_VALUE, NULL }; static const AsterixField I021_V2_4_295_TAS = { FIXED, 1, 0, 0, &hf_021_V2_4_295_TAS, I021_V2_4_295_TAS_PARTS, { NULL } }; static int hf_021_V2_4_295_MH; static int hf_021_V2_4_295_MH_VALUE; static const FieldPart I021_V2_4_295_MH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_MH_VALUE, NULL }; static const FieldPart *I021_V2_4_295_MH_PARTS[] = { &I021_V2_4_295_MH_VALUE, NULL }; static const AsterixField I021_V2_4_295_MH = { FIXED, 1, 0, 0, &hf_021_V2_4_295_MH, I021_V2_4_295_MH_PARTS, { NULL } }; static int hf_021_V2_4_295_BVR; static int hf_021_V2_4_295_BVR_VALUE; static const FieldPart I021_V2_4_295_BVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_BVR_VALUE, NULL }; static const FieldPart *I021_V2_4_295_BVR_PARTS[] = { &I021_V2_4_295_BVR_VALUE, NULL }; static const AsterixField I021_V2_4_295_BVR = { FIXED, 1, 0, 0, &hf_021_V2_4_295_BVR, I021_V2_4_295_BVR_PARTS, { NULL } }; static int hf_021_V2_4_295_GVR; static int hf_021_V2_4_295_GVR_VALUE; static const FieldPart I021_V2_4_295_GVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_GVR_VALUE, NULL }; static const FieldPart *I021_V2_4_295_GVR_PARTS[] = { &I021_V2_4_295_GVR_VALUE, NULL }; static const AsterixField I021_V2_4_295_GVR = { FIXED, 1, 0, 0, &hf_021_V2_4_295_GVR, I021_V2_4_295_GVR_PARTS, { NULL } }; static int hf_021_V2_4_295_GV; static int hf_021_V2_4_295_GV_VALUE; static const FieldPart I021_V2_4_295_GV_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_GV_VALUE, NULL }; static const FieldPart *I021_V2_4_295_GV_PARTS[] = { &I021_V2_4_295_GV_VALUE, NULL }; static const AsterixField I021_V2_4_295_GV = { FIXED, 1, 0, 0, &hf_021_V2_4_295_GV, I021_V2_4_295_GV_PARTS, { NULL } }; static int hf_021_V2_4_295_TAR; static int hf_021_V2_4_295_TAR_VALUE; static const FieldPart I021_V2_4_295_TAR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_TAR_VALUE, NULL }; static const FieldPart *I021_V2_4_295_TAR_PARTS[] = { &I021_V2_4_295_TAR_VALUE, NULL }; static const AsterixField I021_V2_4_295_TAR = { FIXED, 1, 0, 0, &hf_021_V2_4_295_TAR, I021_V2_4_295_TAR_PARTS, { NULL } }; static int hf_021_V2_4_295_TI2; static int hf_021_V2_4_295_TI2_VALUE; static const FieldPart I021_V2_4_295_TI2_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_TI2_VALUE, NULL }; static const FieldPart *I021_V2_4_295_TI2_PARTS[] = { &I021_V2_4_295_TI2_VALUE, NULL }; static const AsterixField I021_V2_4_295_TI2 = { FIXED, 1, 0, 0, &hf_021_V2_4_295_TI2, I021_V2_4_295_TI2_PARTS, { NULL } }; static int hf_021_V2_4_295_TS; static int hf_021_V2_4_295_TS_VALUE; static const FieldPart I021_V2_4_295_TS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_TS_VALUE, NULL }; static const FieldPart *I021_V2_4_295_TS_PARTS[] = { &I021_V2_4_295_TS_VALUE, NULL }; static const AsterixField I021_V2_4_295_TS = { FIXED, 1, 0, 0, &hf_021_V2_4_295_TS, I021_V2_4_295_TS_PARTS, { NULL } }; static int hf_021_V2_4_295_MET; static int hf_021_V2_4_295_MET_VALUE; static const FieldPart I021_V2_4_295_MET_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_MET_VALUE, NULL }; static const FieldPart *I021_V2_4_295_MET_PARTS[] = { &I021_V2_4_295_MET_VALUE, NULL }; static const AsterixField I021_V2_4_295_MET = { FIXED, 1, 0, 0, &hf_021_V2_4_295_MET, I021_V2_4_295_MET_PARTS, { NULL } }; static int hf_021_V2_4_295_ROA; static int hf_021_V2_4_295_ROA_VALUE; static const FieldPart I021_V2_4_295_ROA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_ROA_VALUE, NULL }; static const FieldPart *I021_V2_4_295_ROA_PARTS[] = { &I021_V2_4_295_ROA_VALUE, NULL }; static const AsterixField I021_V2_4_295_ROA = { FIXED, 1, 0, 0, &hf_021_V2_4_295_ROA, I021_V2_4_295_ROA_PARTS, { NULL } }; static int hf_021_V2_4_295_ARA; static int hf_021_V2_4_295_ARA_VALUE; static const FieldPart I021_V2_4_295_ARA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_ARA_VALUE, NULL }; static const FieldPart *I021_V2_4_295_ARA_PARTS[] = { &I021_V2_4_295_ARA_VALUE, NULL }; static const AsterixField I021_V2_4_295_ARA = { FIXED, 1, 0, 0, &hf_021_V2_4_295_ARA, I021_V2_4_295_ARA_PARTS, { NULL } }; static int hf_021_V2_4_295_SCC; static int hf_021_V2_4_295_SCC_VALUE; static const FieldPart I021_V2_4_295_SCC_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_4_295_SCC_VALUE, NULL }; static const FieldPart *I021_V2_4_295_SCC_PARTS[] = { &I021_V2_4_295_SCC_VALUE, NULL }; static const AsterixField I021_V2_4_295_SCC = { FIXED, 1, 0, 0, &hf_021_V2_4_295_SCC, I021_V2_4_295_SCC_PARTS, { NULL } }; static const AsterixField I021_V2_4_295 = { COMPOUND, 0, 0, 0, &hf_021_V2_4_295, NULL, { &I021_V2_4_295_AOS, &I021_V2_4_295_TRD, &I021_V2_4_295_M3A, &I021_V2_4_295_QI, &I021_V2_4_295_TI1, &I021_V2_4_295_MAM, &I021_V2_4_295_GH, &I021_V2_4_295_FL, &I021_V2_4_295_ISA, &I021_V2_4_295_FSA, &I021_V2_4_295_AS, &I021_V2_4_295_TAS, &I021_V2_4_295_MH, &I021_V2_4_295_BVR, &I021_V2_4_295_GVR, &I021_V2_4_295_GV, &I021_V2_4_295_TAR, &I021_V2_4_295_TI2, &I021_V2_4_295_TS, &I021_V2_4_295_MET, &I021_V2_4_295_ROA, &I021_V2_4_295_ARA, &I021_V2_4_295_SCC, NULL } }; static int hf_021_V2_4_400; static int hf_021_V2_4_400_VALUE; static const FieldPart I021_V2_4_400_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_4_400_VALUE, NULL }; static const FieldPart *I021_V2_4_400_PARTS[] = { &I021_V2_4_400_VALUE, NULL }; static const AsterixField I021_V2_4_400 = { FIXED, 1, 0, 0, &hf_021_V2_4_400, I021_V2_4_400_PARTS, { NULL } }; static int hf_021_V2_4_RE; static const AsterixField I021_V2_4_RE = { EXP, 0, 0, 1, &hf_021_V2_4_RE, NULL, { NULL } }; static int hf_021_V2_4_SP; static const AsterixField I021_V2_4_SP = { EXP, 0, 0, 1, &hf_021_V2_4_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V2_4_uap[] = { &I021_V2_4_010, &I021_V2_4_040, &I021_V2_4_161, &I021_V2_4_015, &I021_V2_4_071, &I021_V2_4_130, &I021_V2_4_131, &I021_V2_4_072, &I021_V2_4_150, &I021_V2_4_151, &I021_V2_4_080, &I021_V2_4_073, &I021_V2_4_074, &I021_V2_4_075, &I021_V2_4_076, &I021_V2_4_140, &I021_V2_4_090, &I021_V2_4_210, &I021_V2_4_070, &I021_V2_4_230, &I021_V2_4_145, &I021_V2_4_152, &I021_V2_4_200, &I021_V2_4_155, &I021_V2_4_157, &I021_V2_4_160, &I021_V2_4_165, &I021_V2_4_077, &I021_V2_4_170, &I021_V2_4_020, &I021_V2_4_220, &I021_V2_4_146, &I021_V2_4_148, &I021_V2_4_110, &I021_V2_4_016, &I021_V2_4_008, &I021_V2_4_271, &I021_V2_4_132, &I021_V2_4_250, &I021_V2_4_260, &I021_V2_4_400, &I021_V2_4_295, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V2_4_RE, &I021_V2_4_SP, NULL }; static const AsterixField **I021_V2_4[] = { I021_V2_4_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 2.5 */ static int hf_021_V2_5_008; static int hf_021_V2_5_008_RA; static const value_string valstr_021_V2_5_008_RA[] = { { 0, "TCAS II or ACAS RA not active" }, { 1, "TCAS RA active" }, { 0, NULL } }; static const FieldPart I021_V2_5_008_RA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_008_RA, NULL }; static int hf_021_V2_5_008_TC; static const value_string valstr_021_V2_5_008_TC[] = { { 0, "No capability for Trajectory Change Reports" }, { 1, "Support for TC+0 reports only" }, { 2, "Support for multiple TC reports" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V2_5_008_TC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_008_TC, NULL }; static int hf_021_V2_5_008_TS; static const value_string valstr_021_V2_5_008_TS[] = { { 0, "No capability to support Target State Reports" }, { 1, "Capable of supporting target State Reports" }, { 0, NULL } }; static const FieldPart I021_V2_5_008_TS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_008_TS, NULL }; static int hf_021_V2_5_008_ARV; static const value_string valstr_021_V2_5_008_ARV[] = { { 0, "No capability to generate ARV-reports" }, { 1, "Capable of generate ARV-reports" }, { 0, NULL } }; static const FieldPart I021_V2_5_008_ARV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_008_ARV, NULL }; static int hf_021_V2_5_008_CDTIA; static const value_string valstr_021_V2_5_008_CDTIA[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_5_008_CDTIA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_008_CDTIA, NULL }; static int hf_021_V2_5_008_NOTTCAS; static const value_string valstr_021_V2_5_008_NOTTCAS[] = { { 0, "TCAS operational" }, { 1, "TCAS not operational" }, { 0, NULL } }; static const FieldPart I021_V2_5_008_NOTTCAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_008_NOTTCAS, NULL }; static int hf_021_V2_5_008_SA; static const value_string valstr_021_V2_5_008_SA[] = { { 0, "Antenna Diversity" }, { 1, "Single Antenna only" }, { 0, NULL } }; static const FieldPart I021_V2_5_008_SA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_008_SA, NULL }; static const FieldPart *I021_V2_5_008_PARTS[] = { &I021_V2_5_008_RA, &I021_V2_5_008_TC, &I021_V2_5_008_TS, &I021_V2_5_008_ARV, &I021_V2_5_008_CDTIA, &I021_V2_5_008_NOTTCAS, &I021_V2_5_008_SA, NULL }; static const AsterixField I021_V2_5_008 = { FIXED, 1, 0, 0, &hf_021_V2_5_008, I021_V2_5_008_PARTS, { NULL } }; static int hf_021_V2_5_010; static int hf_021_V2_5_010_SAC; static const FieldPart I021_V2_5_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_5_010_SAC, NULL }; static int hf_021_V2_5_010_SIC; static const FieldPart I021_V2_5_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_5_010_SIC, NULL }; static const FieldPart *I021_V2_5_010_PARTS[] = { &I021_V2_5_010_SAC, &I021_V2_5_010_SIC, NULL }; static const AsterixField I021_V2_5_010 = { FIXED, 2, 0, 0, &hf_021_V2_5_010, I021_V2_5_010_PARTS, { NULL } }; static int hf_021_V2_5_015; static int hf_021_V2_5_015_VALUE; static const FieldPart I021_V2_5_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_5_015_VALUE, NULL }; static const FieldPart *I021_V2_5_015_PARTS[] = { &I021_V2_5_015_VALUE, NULL }; static const AsterixField I021_V2_5_015 = { FIXED, 1, 0, 0, &hf_021_V2_5_015, I021_V2_5_015_PARTS, { NULL } }; static int hf_021_V2_5_016; static int hf_021_V2_5_016_VALUE; static const FieldPart I021_V2_5_016_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_021_V2_5_016_VALUE, NULL }; static const FieldPart *I021_V2_5_016_PARTS[] = { &I021_V2_5_016_VALUE, NULL }; static const AsterixField I021_V2_5_016 = { FIXED, 1, 0, 0, &hf_021_V2_5_016, I021_V2_5_016_PARTS, { NULL } }; static int hf_021_V2_5_020; static int hf_021_V2_5_020_VALUE; static const value_string valstr_021_V2_5_020_VALUE[] = { { 0, "No ADS-B Emitter Category Information" }, { 1, "Light aircraft <= 15500 lbs" }, { 2, "15500 lbs < small aircraft <75000 lbs" }, { 3, "75000 lbs < medium a/c < 300000 lbs" }, { 4, "High Vortex Large" }, { 5, "300000 lbs <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Cluster obstacle" }, { 24, "Line obstacle" }, { 0, NULL } }; static const FieldPart I021_V2_5_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_5_020_VALUE, NULL }; static const FieldPart *I021_V2_5_020_PARTS[] = { &I021_V2_5_020_VALUE, NULL }; static const AsterixField I021_V2_5_020 = { FIXED, 1, 0, 0, &hf_021_V2_5_020, I021_V2_5_020_PARTS, { NULL } }; static int hf_021_V2_5_040; static int hf_021_V2_5_040_ATP; static const value_string valstr_021_V2_5_040_ATP[] = { { 0, "24-Bit ICAO address" }, { 1, "Duplicate address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_ATP, NULL }; static int hf_021_V2_5_040_ARC; static const value_string valstr_021_V2_5_040_ARC[] = { { 0, "25 ft" }, { 1, "100 ft" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_ARC, NULL }; static int hf_021_V2_5_040_RC; static const value_string valstr_021_V2_5_040_RC[] = { { 0, "Default" }, { 1, "Range Check passed, CPR Validation pending" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_RC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_RC, NULL }; static int hf_021_V2_5_040_RAB; static const value_string valstr_021_V2_5_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_RAB, NULL }; static int hf_021_V2_5_040_DCR; static const value_string valstr_021_V2_5_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_DCR, NULL }; static int hf_021_V2_5_040_GBS; static const value_string valstr_021_V2_5_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_GBS, NULL }; static int hf_021_V2_5_040_SIM; static const value_string valstr_021_V2_5_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_SIM, NULL }; static int hf_021_V2_5_040_TST; static const value_string valstr_021_V2_5_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_TST, NULL }; static int hf_021_V2_5_040_SAA; static const value_string valstr_021_V2_5_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_SAA, NULL }; static int hf_021_V2_5_040_CL; static const value_string valstr_021_V2_5_040_CL[] = { { 0, "Report valid" }, { 1, "Report suspect" }, { 2, "No information" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_CL = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_CL, NULL }; static int hf_021_V2_5_040_LLC; static const value_string valstr_021_V2_5_040_LLC[] = { { 0, "Default" }, { 1, "List Lookup failed (see note)" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_LLC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_LLC, NULL }; static int hf_021_V2_5_040_IPC; static const value_string valstr_021_V2_5_040_IPC[] = { { 0, "Default (see note)" }, { 1, "Independent Position Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_IPC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_IPC, NULL }; static int hf_021_V2_5_040_NOGO; static const value_string valstr_021_V2_5_040_NOGO[] = { { 0, "NOGO-bit not set" }, { 1, "NOGO-bit set" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_NOGO, NULL }; static int hf_021_V2_5_040_CPR; static const value_string valstr_021_V2_5_040_CPR[] = { { 0, "CPR Validation correct" }, { 1, "CPR Validation failed" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_CPR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_CPR, NULL }; static int hf_021_V2_5_040_LDPJ; static const value_string valstr_021_V2_5_040_LDPJ[] = { { 0, "LDPJ not detected" }, { 1, "LDPJ detected" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_LDPJ = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_LDPJ, NULL }; static int hf_021_V2_5_040_RCF; static const value_string valstr_021_V2_5_040_RCF[] = { { 0, "Default" }, { 1, "Range Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_5_040_RCF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_040_RCF, NULL }; static const FieldPart *I021_V2_5_040_PARTS[] = { &I021_V2_5_040_ATP, &I021_V2_5_040_ARC, &I021_V2_5_040_RC, &I021_V2_5_040_RAB, &IXXX_FX, &I021_V2_5_040_DCR, &I021_V2_5_040_GBS, &I021_V2_5_040_SIM, &I021_V2_5_040_TST, &I021_V2_5_040_SAA, &I021_V2_5_040_CL, &IXXX_FX, &IXXX_1bit_spare, &I021_V2_5_040_LLC, &I021_V2_5_040_IPC, &I021_V2_5_040_NOGO, &I021_V2_5_040_CPR, &I021_V2_5_040_LDPJ, &I021_V2_5_040_RCF, &IXXX_FX, NULL }; static const AsterixField I021_V2_5_040 = { FX, 1, 0, 0, &hf_021_V2_5_040, I021_V2_5_040_PARTS, { NULL } }; static int hf_021_V2_5_070; static int hf_021_V2_5_070_MODE3A; static const FieldPart I021_V2_5_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_V2_5_070_MODE3A, NULL }; static const FieldPart *I021_V2_5_070_PARTS[] = { &IXXX_4bit_spare, &I021_V2_5_070_MODE3A, NULL }; static const AsterixField I021_V2_5_070 = { FIXED, 2, 0, 0, &hf_021_V2_5_070, I021_V2_5_070_PARTS, { NULL } }; static int hf_021_V2_5_071; static int hf_021_V2_5_071_VALUE; static const FieldPart I021_V2_5_071_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_5_071_VALUE, NULL }; static const FieldPart *I021_V2_5_071_PARTS[] = { &I021_V2_5_071_VALUE, NULL }; static const AsterixField I021_V2_5_071 = { FIXED, 3, 0, 0, &hf_021_V2_5_071, I021_V2_5_071_PARTS, { NULL } }; static int hf_021_V2_5_072; static int hf_021_V2_5_072_VALUE; static const FieldPart I021_V2_5_072_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_5_072_VALUE, NULL }; static const FieldPart *I021_V2_5_072_PARTS[] = { &I021_V2_5_072_VALUE, NULL }; static const AsterixField I021_V2_5_072 = { FIXED, 3, 0, 0, &hf_021_V2_5_072, I021_V2_5_072_PARTS, { NULL } }; static int hf_021_V2_5_073; static int hf_021_V2_5_073_VALUE; static const FieldPart I021_V2_5_073_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_5_073_VALUE, NULL }; static const FieldPart *I021_V2_5_073_PARTS[] = { &I021_V2_5_073_VALUE, NULL }; static const AsterixField I021_V2_5_073 = { FIXED, 3, 0, 0, &hf_021_V2_5_073, I021_V2_5_073_PARTS, { NULL } }; static int hf_021_V2_5_074; static int hf_021_V2_5_074_FSI; static const value_string valstr_021_V2_5_074_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/073) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/073) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/073) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_5_074_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_074_FSI, NULL }; static int hf_021_V2_5_074_TOMRP; static const FieldPart I021_V2_5_074_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_5_074_TOMRP, NULL }; static const FieldPart *I021_V2_5_074_PARTS[] = { &I021_V2_5_074_FSI, &I021_V2_5_074_TOMRP, NULL }; static const AsterixField I021_V2_5_074 = { FIXED, 4, 0, 0, &hf_021_V2_5_074, I021_V2_5_074_PARTS, { NULL } }; static int hf_021_V2_5_075; static int hf_021_V2_5_075_VALUE; static const FieldPart I021_V2_5_075_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_5_075_VALUE, NULL }; static const FieldPart *I021_V2_5_075_PARTS[] = { &I021_V2_5_075_VALUE, NULL }; static const AsterixField I021_V2_5_075 = { FIXED, 3, 0, 0, &hf_021_V2_5_075, I021_V2_5_075_PARTS, { NULL } }; static int hf_021_V2_5_076; static int hf_021_V2_5_076_FSI; static const value_string valstr_021_V2_5_076_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/075) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/075) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/075) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_5_076_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_076_FSI, NULL }; static int hf_021_V2_5_076_TOMRP; static const FieldPart I021_V2_5_076_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_5_076_TOMRP, NULL }; static const FieldPart *I021_V2_5_076_PARTS[] = { &I021_V2_5_076_FSI, &I021_V2_5_076_TOMRP, NULL }; static const AsterixField I021_V2_5_076 = { FIXED, 4, 0, 0, &hf_021_V2_5_076, I021_V2_5_076_PARTS, { NULL } }; static int hf_021_V2_5_077; static int hf_021_V2_5_077_VALUE; static const FieldPart I021_V2_5_077_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_5_077_VALUE, NULL }; static const FieldPart *I021_V2_5_077_PARTS[] = { &I021_V2_5_077_VALUE, NULL }; static const AsterixField I021_V2_5_077 = { FIXED, 3, 0, 0, &hf_021_V2_5_077, I021_V2_5_077_PARTS, { NULL } }; static int hf_021_V2_5_080; static int hf_021_V2_5_080_VALUE; static const FieldPart I021_V2_5_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V2_5_080_VALUE, NULL }; static const FieldPart *I021_V2_5_080_PARTS[] = { &I021_V2_5_080_VALUE, NULL }; static const AsterixField I021_V2_5_080 = { FIXED, 3, 0, 0, &hf_021_V2_5_080, I021_V2_5_080_PARTS, { NULL } }; static int hf_021_V2_5_090; static int hf_021_V2_5_090_NUCRNACV; static const FieldPart I021_V2_5_090_NUCRNACV = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_NUCRNACV, NULL }; static int hf_021_V2_5_090_NUCPNIC; static const FieldPart I021_V2_5_090_NUCPNIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_NUCPNIC, NULL }; static int hf_021_V2_5_090_NICBARO; static const FieldPart I021_V2_5_090_NICBARO = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_NICBARO, NULL }; static int hf_021_V2_5_090_SIL; static const FieldPart I021_V2_5_090_SIL = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_SIL, NULL }; static int hf_021_V2_5_090_NACP; static const FieldPart I021_V2_5_090_NACP = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_NACP, NULL }; static int hf_021_V2_5_090_SILS; static const value_string valstr_021_V2_5_090_SILS[] = { { 0, "Measured per flight-hour" }, { 1, "Measured per sample" }, { 0, NULL } }; static const FieldPart I021_V2_5_090_SILS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_090_SILS, NULL }; static int hf_021_V2_5_090_SDA; static const FieldPart I021_V2_5_090_SDA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_SDA, NULL }; static int hf_021_V2_5_090_GVA; static const FieldPart I021_V2_5_090_GVA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_GVA, NULL }; static int hf_021_V2_5_090_PIC; static const FieldPart I021_V2_5_090_PIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_5_090_PIC, NULL }; static const FieldPart *I021_V2_5_090_PARTS[] = { &I021_V2_5_090_NUCRNACV, &I021_V2_5_090_NUCPNIC, &IXXX_FX, &I021_V2_5_090_NICBARO, &I021_V2_5_090_SIL, &I021_V2_5_090_NACP, &IXXX_FX, &IXXX_2bit_spare, &I021_V2_5_090_SILS, &I021_V2_5_090_SDA, &I021_V2_5_090_GVA, &IXXX_FX, &I021_V2_5_090_PIC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_5_090 = { FX, 1, 0, 0, &hf_021_V2_5_090, I021_V2_5_090_PARTS, { NULL } }; static int hf_021_V2_5_110; static int hf_021_V2_5_110_TIS; static int hf_021_V2_5_110_TIS_NAV; static const value_string valstr_021_V2_5_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TIS_NAV, NULL }; static int hf_021_V2_5_110_TIS_NVB; static const value_string valstr_021_V2_5_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TIS_NVB, NULL }; static const FieldPart *I021_V2_5_110_TIS_PARTS[] = { &I021_V2_5_110_TIS_NAV, &I021_V2_5_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_5_110_TIS = { FX, 1, 0, 0, &hf_021_V2_5_110_TIS, I021_V2_5_110_TIS_PARTS, { NULL } }; static int hf_021_V2_5_110_TID; static int hf_021_V2_5_110_TID_TCA; static const value_string valstr_021_V2_5_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TID_TCA, NULL }; static int hf_021_V2_5_110_TID_NC; static const value_string valstr_021_V2_5_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TID_NC, NULL }; static int hf_021_V2_5_110_TID_TCPN; static const FieldPart I021_V2_5_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V2_5_110_TID_TCPN, NULL }; static int hf_021_V2_5_110_TID_ALT; static const FieldPart I021_V2_5_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V2_5_110_TID_ALT, NULL }; static int hf_021_V2_5_110_TID_LAT; static const FieldPart I021_V2_5_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_5_110_TID_LAT, NULL }; static int hf_021_V2_5_110_TID_LON; static const FieldPart I021_V2_5_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_5_110_TID_LON, NULL }; static int hf_021_V2_5_110_TID_PT; static const value_string valstr_021_V2_5_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TID_PT, NULL }; static int hf_021_V2_5_110_TID_TD; static const value_string valstr_021_V2_5_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TID_TD, NULL }; static int hf_021_V2_5_110_TID_TRA; static const value_string valstr_021_V2_5_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TID_TRA, NULL }; static int hf_021_V2_5_110_TID_TOA; static const value_string valstr_021_V2_5_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V2_5_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_110_TID_TOA, NULL }; static int hf_021_V2_5_110_TID_TOV; static const FieldPart I021_V2_5_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_5_110_TID_TOV, NULL }; static int hf_021_V2_5_110_TID_TTR; static const FieldPart I021_V2_5_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V2_5_110_TID_TTR, NULL }; static const FieldPart *I021_V2_5_110_TID_PARTS[] = { &I021_V2_5_110_TID_TCA, &I021_V2_5_110_TID_NC, &I021_V2_5_110_TID_TCPN, &I021_V2_5_110_TID_ALT, &I021_V2_5_110_TID_LAT, &I021_V2_5_110_TID_LON, &I021_V2_5_110_TID_PT, &I021_V2_5_110_TID_TD, &I021_V2_5_110_TID_TRA, &I021_V2_5_110_TID_TOA, &I021_V2_5_110_TID_TOV, &I021_V2_5_110_TID_TTR, NULL }; static const AsterixField I021_V2_5_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V2_5_110_TID, I021_V2_5_110_TID_PARTS, { NULL } }; static const AsterixField I021_V2_5_110 = { COMPOUND, 0, 0, 0, &hf_021_V2_5_110, NULL, { &I021_V2_5_110_TIS, &I021_V2_5_110_TID, NULL } }; static int hf_021_V2_5_130; static int hf_021_V2_5_130_LAT; static const FieldPart I021_V2_5_130_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_5_130_LAT, NULL }; static int hf_021_V2_5_130_LON; static const FieldPart I021_V2_5_130_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_5_130_LON, NULL }; static const FieldPart *I021_V2_5_130_PARTS[] = { &I021_V2_5_130_LAT, &I021_V2_5_130_LON, NULL }; static const AsterixField I021_V2_5_130 = { FIXED, 6, 0, 0, &hf_021_V2_5_130, I021_V2_5_130_PARTS, { NULL } }; static int hf_021_V2_5_131; static int hf_021_V2_5_131_LAT; static const FieldPart I021_V2_5_131_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_5_131_LAT, NULL }; static int hf_021_V2_5_131_LON; static const FieldPart I021_V2_5_131_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_5_131_LON, NULL }; static const FieldPart *I021_V2_5_131_PARTS[] = { &I021_V2_5_131_LAT, &I021_V2_5_131_LON, NULL }; static const AsterixField I021_V2_5_131 = { FIXED, 8, 0, 0, &hf_021_V2_5_131, I021_V2_5_131_PARTS, { NULL } }; static int hf_021_V2_5_132; static int hf_021_V2_5_132_VALUE; static const FieldPart I021_V2_5_132_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_021_V2_5_132_VALUE, NULL }; static const FieldPart *I021_V2_5_132_PARTS[] = { &I021_V2_5_132_VALUE, NULL }; static const AsterixField I021_V2_5_132 = { FIXED, 1, 0, 0, &hf_021_V2_5_132, I021_V2_5_132_PARTS, { NULL } }; static int hf_021_V2_5_140; static int hf_021_V2_5_140_VALUE; static const FieldPart I021_V2_5_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V2_5_140_VALUE, NULL }; static const FieldPart *I021_V2_5_140_PARTS[] = { &I021_V2_5_140_VALUE, NULL }; static const AsterixField I021_V2_5_140 = { FIXED, 2, 0, 0, &hf_021_V2_5_140, I021_V2_5_140_PARTS, { NULL } }; static int hf_021_V2_5_145; static int hf_021_V2_5_145_VALUE; static const FieldPart I021_V2_5_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_5_145_VALUE, NULL }; static const FieldPart *I021_V2_5_145_PARTS[] = { &I021_V2_5_145_VALUE, NULL }; static const AsterixField I021_V2_5_145 = { FIXED, 2, 0, 0, &hf_021_V2_5_145, I021_V2_5_145_PARTS, { NULL } }; static int hf_021_V2_5_146; static int hf_021_V2_5_146_SAS; static const value_string valstr_021_V2_5_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V2_5_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_146_SAS, NULL }; static int hf_021_V2_5_146_S; static const value_string valstr_021_V2_5_146_S[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_5_146_S = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_146_S, NULL }; static int hf_021_V2_5_146_ALT; static const FieldPart I021_V2_5_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_5_146_ALT, NULL }; static const FieldPart *I021_V2_5_146_PARTS[] = { &I021_V2_5_146_SAS, &I021_V2_5_146_S, &I021_V2_5_146_ALT, NULL }; static const AsterixField I021_V2_5_146 = { FIXED, 2, 0, 0, &hf_021_V2_5_146, I021_V2_5_146_PARTS, { NULL } }; static int hf_021_V2_5_148; static int hf_021_V2_5_148_MV; static const value_string valstr_021_V2_5_148_MV[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_5_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_148_MV, NULL }; static int hf_021_V2_5_148_AH; static const value_string valstr_021_V2_5_148_AH[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_5_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_148_AH, NULL }; static int hf_021_V2_5_148_AM; static const value_string valstr_021_V2_5_148_AM[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_5_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_148_AM, NULL }; static int hf_021_V2_5_148_ALT; static const FieldPart I021_V2_5_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_5_148_ALT, NULL }; static const FieldPart *I021_V2_5_148_PARTS[] = { &I021_V2_5_148_MV, &I021_V2_5_148_AH, &I021_V2_5_148_AM, &I021_V2_5_148_ALT, NULL }; static const AsterixField I021_V2_5_148 = { FIXED, 2, 0, 0, &hf_021_V2_5_148, I021_V2_5_148_PARTS, { NULL } }; static int hf_021_V2_5_150; static int hf_021_V2_5_150_IM; static const value_string valstr_021_V2_5_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V2_5_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_150_IM, NULL }; static int hf_021_V2_5_150_AS; static const FieldPart I021_V2_5_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V2_5_150_AS, NULL }; static const FieldPart *I021_V2_5_150_PARTS[] = { &I021_V2_5_150_IM, &I021_V2_5_150_AS, NULL }; static const AsterixField I021_V2_5_150 = { FIXED, 2, 0, 0, &hf_021_V2_5_150, I021_V2_5_150_PARTS, { NULL } }; static int hf_021_V2_5_151; static int hf_021_V2_5_151_RE; static const value_string valstr_021_V2_5_151_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_5_151_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_151_RE, NULL }; static int hf_021_V2_5_151_TAS; static const FieldPart I021_V2_5_151_TAS = { 15, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_5_151_TAS, NULL }; static const FieldPart *I021_V2_5_151_PARTS[] = { &I021_V2_5_151_RE, &I021_V2_5_151_TAS, NULL }; static const AsterixField I021_V2_5_151 = { FIXED, 2, 0, 0, &hf_021_V2_5_151, I021_V2_5_151_PARTS, { NULL } }; static int hf_021_V2_5_152; static int hf_021_V2_5_152_VALUE; static const FieldPart I021_V2_5_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_5_152_VALUE, NULL }; static const FieldPart *I021_V2_5_152_PARTS[] = { &I021_V2_5_152_VALUE, NULL }; static const AsterixField I021_V2_5_152 = { FIXED, 2, 0, 0, &hf_021_V2_5_152, I021_V2_5_152_PARTS, { NULL } }; static int hf_021_V2_5_155; static int hf_021_V2_5_155_RE; static const value_string valstr_021_V2_5_155_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_5_155_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_155_RE, NULL }; static int hf_021_V2_5_155_BVR; static const FieldPart I021_V2_5_155_BVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_5_155_BVR, NULL }; static const FieldPart *I021_V2_5_155_PARTS[] = { &I021_V2_5_155_RE, &I021_V2_5_155_BVR, NULL }; static const AsterixField I021_V2_5_155 = { FIXED, 2, 0, 0, &hf_021_V2_5_155, I021_V2_5_155_PARTS, { NULL } }; static int hf_021_V2_5_157; static int hf_021_V2_5_157_RE; static const value_string valstr_021_V2_5_157_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_5_157_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_157_RE, NULL }; static int hf_021_V2_5_157_GVR; static const FieldPart I021_V2_5_157_GVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_5_157_GVR, NULL }; static const FieldPart *I021_V2_5_157_PARTS[] = { &I021_V2_5_157_RE, &I021_V2_5_157_GVR, NULL }; static const AsterixField I021_V2_5_157 = { FIXED, 2, 0, 0, &hf_021_V2_5_157, I021_V2_5_157_PARTS, { NULL } }; static int hf_021_V2_5_160; static int hf_021_V2_5_160_RE; static const value_string valstr_021_V2_5_160_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_5_160_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_160_RE, NULL }; static int hf_021_V2_5_160_GS; static const FieldPart I021_V2_5_160_GS = { 15, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_021_V2_5_160_GS, NULL }; static int hf_021_V2_5_160_TA; static const FieldPart I021_V2_5_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_5_160_TA, NULL }; static const FieldPart *I021_V2_5_160_PARTS[] = { &I021_V2_5_160_RE, &I021_V2_5_160_GS, &I021_V2_5_160_TA, NULL }; static const AsterixField I021_V2_5_160 = { FIXED, 4, 0, 0, &hf_021_V2_5_160, I021_V2_5_160_PARTS, { NULL } }; static int hf_021_V2_5_161; static int hf_021_V2_5_161_TRNUM; static const FieldPart I021_V2_5_161_TRNUM = { 12, 1.0, FIELD_PART_HEX, &hf_021_V2_5_161_TRNUM, NULL }; static const FieldPart *I021_V2_5_161_PARTS[] = { &IXXX_4bit_spare, &I021_V2_5_161_TRNUM, NULL }; static const AsterixField I021_V2_5_161 = { FIXED, 2, 0, 0, &hf_021_V2_5_161, I021_V2_5_161_PARTS, { NULL } }; static int hf_021_V2_5_165; static int hf_021_V2_5_165_TAR; static const FieldPart I021_V2_5_165_TAR = { 10, 0.03125, FIELD_PART_FLOAT, &hf_021_V2_5_165_TAR, NULL }; static const FieldPart *I021_V2_5_165_PARTS[] = { &IXXX_6bit_spare, &I021_V2_5_165_TAR, NULL }; static const AsterixField I021_V2_5_165 = { FIXED, 2, 0, 0, &hf_021_V2_5_165, I021_V2_5_165_PARTS, { NULL } }; static int hf_021_V2_5_170; static int hf_021_V2_5_170_VALUE; static const FieldPart I021_V2_5_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V2_5_170_VALUE, NULL }; static const FieldPart *I021_V2_5_170_PARTS[] = { &I021_V2_5_170_VALUE, NULL }; static const AsterixField I021_V2_5_170 = { FIXED, 6, 0, 0, &hf_021_V2_5_170, I021_V2_5_170_PARTS, { NULL } }; static int hf_021_V2_5_200; static int hf_021_V2_5_200_ICF; static const value_string valstr_021_V2_5_200_ICF[] = { { 0, "No intent change active" }, { 1, "Intent change flag raised" }, { 0, NULL } }; static const FieldPart I021_V2_5_200_ICF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_200_ICF, NULL }; static int hf_021_V2_5_200_LNAV; static const value_string valstr_021_V2_5_200_LNAV[] = { { 0, "LNAV Mode engaged" }, { 1, "LNAV Mode not engaged" }, { 0, NULL } }; static const FieldPart I021_V2_5_200_LNAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_200_LNAV, NULL }; static int hf_021_V2_5_200_ME; static const value_string valstr_021_V2_5_200_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I021_V2_5_200_ME = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_200_ME, NULL }; static int hf_021_V2_5_200_PS; static const value_string valstr_021_V2_5_200_PS[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical emergency" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "DOWNED Aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_5_200_PS = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_5_200_PS, NULL }; static int hf_021_V2_5_200_SS; static const value_string valstr_021_V2_5_200_SS[] = { { 0, "No condition reported" }, { 1, "Permanent Alert (Emergency condition)" }, { 2, "Temporary Alert (change in Mode 3/A Code other than emergency)" }, { 3, "SPI set" }, { 0, NULL } }; static const FieldPart I021_V2_5_200_SS = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_5_200_SS, NULL }; static const FieldPart *I021_V2_5_200_PARTS[] = { &I021_V2_5_200_ICF, &I021_V2_5_200_LNAV, &I021_V2_5_200_ME, &I021_V2_5_200_PS, &I021_V2_5_200_SS, NULL }; static const AsterixField I021_V2_5_200 = { FIXED, 1, 0, 0, &hf_021_V2_5_200, I021_V2_5_200_PARTS, { NULL } }; static int hf_021_V2_5_210; static int hf_021_V2_5_210_VNS; static const value_string valstr_021_V2_5_210_VNS[] = { { 0, "The MOPS Version is supported by the GS" }, { 1, "The MOPS Version is not supported by the GS" }, { 0, NULL } }; static const FieldPart I021_V2_5_210_VNS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_210_VNS, NULL }; static int hf_021_V2_5_210_VN; static const value_string valstr_021_V2_5_210_VN[] = { { 0, "ED102/DO-260 [Ref. 7]" }, { 1, "DO-260A [Ref. 8]" }, { 2, "ED102A/DO-260B [Ref. 10]" }, { 3, "ED-102B/DO-260C [Ref. 11]" }, { 0, NULL } }; static const FieldPart I021_V2_5_210_VN = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_5_210_VN, NULL }; static int hf_021_V2_5_210_LTT; static const value_string valstr_021_V2_5_210_LTT[] = { { 0, "Other" }, { 1, "UAT" }, { 2, "1090 ES" }, { 3, "VDL 4" }, { 4, "Not assigned" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I021_V2_5_210_LTT = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_5_210_LTT, NULL }; static const FieldPart *I021_V2_5_210_PARTS[] = { &IXXX_1bit_spare, &I021_V2_5_210_VNS, &I021_V2_5_210_VN, &I021_V2_5_210_LTT, NULL }; static const AsterixField I021_V2_5_210 = { FIXED, 1, 0, 0, &hf_021_V2_5_210, I021_V2_5_210_PARTS, { NULL } }; static int hf_021_V2_5_220; static int hf_021_V2_5_220_WS; static int hf_021_V2_5_220_WS_VALUE; static const FieldPart I021_V2_5_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_5_220_WS_VALUE, NULL }; static const FieldPart *I021_V2_5_220_WS_PARTS[] = { &I021_V2_5_220_WS_VALUE, NULL }; static const AsterixField I021_V2_5_220_WS = { FIXED, 2, 0, 0, &hf_021_V2_5_220_WS, I021_V2_5_220_WS_PARTS, { NULL } }; static int hf_021_V2_5_220_WD; static int hf_021_V2_5_220_WD_VALUE; static const FieldPart I021_V2_5_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_5_220_WD_VALUE, NULL }; static const FieldPart *I021_V2_5_220_WD_PARTS[] = { &I021_V2_5_220_WD_VALUE, NULL }; static const AsterixField I021_V2_5_220_WD = { FIXED, 2, 0, 0, &hf_021_V2_5_220_WD, I021_V2_5_220_WD_PARTS, { NULL } }; static int hf_021_V2_5_220_TMP; static int hf_021_V2_5_220_TMP_VALUE; static const FieldPart I021_V2_5_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_5_220_TMP_VALUE, NULL }; static const FieldPart *I021_V2_5_220_TMP_PARTS[] = { &I021_V2_5_220_TMP_VALUE, NULL }; static const AsterixField I021_V2_5_220_TMP = { FIXED, 2, 0, 0, &hf_021_V2_5_220_TMP, I021_V2_5_220_TMP_PARTS, { NULL } }; static int hf_021_V2_5_220_TRB; static int hf_021_V2_5_220_TRB_VALUE; static const FieldPart I021_V2_5_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_5_220_TRB_VALUE, NULL }; static const FieldPart *I021_V2_5_220_TRB_PARTS[] = { &I021_V2_5_220_TRB_VALUE, NULL }; static const AsterixField I021_V2_5_220_TRB = { FIXED, 1, 0, 0, &hf_021_V2_5_220_TRB, I021_V2_5_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V2_5_220 = { COMPOUND, 0, 0, 0, &hf_021_V2_5_220, NULL, { &I021_V2_5_220_WS, &I021_V2_5_220_WD, &I021_V2_5_220_TMP, &I021_V2_5_220_TRB, NULL } }; static int hf_021_V2_5_230; static int hf_021_V2_5_230_VALUE; static const FieldPart I021_V2_5_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V2_5_230_VALUE, NULL }; static const FieldPart *I021_V2_5_230_PARTS[] = { &I021_V2_5_230_VALUE, NULL }; static const AsterixField I021_V2_5_230 = { FIXED, 2, 0, 0, &hf_021_V2_5_230, I021_V2_5_230_PARTS, { NULL } }; static int hf_021_V2_5_250; static int hf_021_V2_5_250_VALUE; static const FieldPart I021_V2_5_250_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_021_V2_5_250_VALUE, NULL }; static const FieldPart *I021_V2_5_250_PARTS[] = { &I021_V2_5_250_VALUE, NULL }; static const AsterixField I021_V2_5_250 = { REPETITIVE, 8, 1, 0, &hf_021_V2_5_250, I021_V2_5_250_PARTS, { NULL } }; static int hf_021_V2_5_260; static int hf_021_V2_5_260_TYP; static const FieldPart I021_V2_5_260_TYP = { 5, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_TYP, NULL }; static int hf_021_V2_5_260_STYP; static const FieldPart I021_V2_5_260_STYP = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_STYP, NULL }; static int hf_021_V2_5_260_ARA; static const FieldPart I021_V2_5_260_ARA = { 14, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_ARA, NULL }; static int hf_021_V2_5_260_RAC; static const FieldPart I021_V2_5_260_RAC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_RAC, NULL }; static int hf_021_V2_5_260_RAT; static const FieldPart I021_V2_5_260_RAT = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_RAT, NULL }; static int hf_021_V2_5_260_MTE; static const FieldPart I021_V2_5_260_MTE = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_MTE, NULL }; static int hf_021_V2_5_260_TTI; static const FieldPart I021_V2_5_260_TTI = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_TTI, NULL }; static int hf_021_V2_5_260_TID; static const FieldPart I021_V2_5_260_TID = { 26, 1.0, FIELD_PART_HEX, &hf_021_V2_5_260_TID, NULL }; static const FieldPart *I021_V2_5_260_PARTS[] = { &I021_V2_5_260_TYP, &I021_V2_5_260_STYP, &I021_V2_5_260_ARA, &I021_V2_5_260_RAC, &I021_V2_5_260_RAT, &I021_V2_5_260_MTE, &I021_V2_5_260_TTI, &I021_V2_5_260_TID, NULL }; static const AsterixField I021_V2_5_260 = { FIXED, 7, 0, 0, &hf_021_V2_5_260, I021_V2_5_260_PARTS, { NULL } }; static int hf_021_V2_5_271; static int hf_021_V2_5_271_POA; static const value_string valstr_021_V2_5_271_POA[] = { { 0, "Position transmitted is not ADS-B position reference point" }, { 1, "Position transmitted is the ADS-B position reference point" }, { 0, NULL } }; static const FieldPart I021_V2_5_271_POA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_271_POA, NULL }; static int hf_021_V2_5_271_CDTIS; static const value_string valstr_021_V2_5_271_CDTIS[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_5_271_CDTIS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_271_CDTIS, NULL }; static int hf_021_V2_5_271_B2LOW; static const value_string valstr_021_V2_5_271_B2LOW[] = { { 0, ">= 70 Watts" }, { 1, "< 70 Watts" }, { 0, NULL } }; static const FieldPart I021_V2_5_271_B2LOW = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_271_B2LOW, NULL }; static int hf_021_V2_5_271_RAS; static const value_string valstr_021_V2_5_271_RAS[] = { { 0, "Aircraft not receiving ATC-services" }, { 1, "Aircraft receiving ATC services" }, { 0, NULL } }; static const FieldPart I021_V2_5_271_RAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_271_RAS, NULL }; static int hf_021_V2_5_271_IDENT; static const value_string valstr_021_V2_5_271_IDENT[] = { { 0, "IDENT switch not active" }, { 1, "IDENT switch active" }, { 0, NULL } }; static const FieldPart I021_V2_5_271_IDENT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_5_271_IDENT, NULL }; static int hf_021_V2_5_271_LW; static const FieldPart I021_V2_5_271_LW = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_5_271_LW, NULL }; static const FieldPart *I021_V2_5_271_PARTS[] = { &IXXX_2bit_spare, &I021_V2_5_271_POA, &I021_V2_5_271_CDTIS, &I021_V2_5_271_B2LOW, &I021_V2_5_271_RAS, &I021_V2_5_271_IDENT, &IXXX_FX, &I021_V2_5_271_LW, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_5_271 = { FX, 1, 0, 0, &hf_021_V2_5_271, I021_V2_5_271_PARTS, { NULL } }; static int hf_021_V2_5_295; static int hf_021_V2_5_295_AOS; static int hf_021_V2_5_295_AOS_VALUE; static const FieldPart I021_V2_5_295_AOS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_AOS_VALUE, NULL }; static const FieldPart *I021_V2_5_295_AOS_PARTS[] = { &I021_V2_5_295_AOS_VALUE, NULL }; static const AsterixField I021_V2_5_295_AOS = { FIXED, 1, 0, 0, &hf_021_V2_5_295_AOS, I021_V2_5_295_AOS_PARTS, { NULL } }; static int hf_021_V2_5_295_TRD; static int hf_021_V2_5_295_TRD_VALUE; static const FieldPart I021_V2_5_295_TRD_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_TRD_VALUE, NULL }; static const FieldPart *I021_V2_5_295_TRD_PARTS[] = { &I021_V2_5_295_TRD_VALUE, NULL }; static const AsterixField I021_V2_5_295_TRD = { FIXED, 1, 0, 0, &hf_021_V2_5_295_TRD, I021_V2_5_295_TRD_PARTS, { NULL } }; static int hf_021_V2_5_295_M3A; static int hf_021_V2_5_295_M3A_VALUE; static const FieldPart I021_V2_5_295_M3A_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_M3A_VALUE, NULL }; static const FieldPart *I021_V2_5_295_M3A_PARTS[] = { &I021_V2_5_295_M3A_VALUE, NULL }; static const AsterixField I021_V2_5_295_M3A = { FIXED, 1, 0, 0, &hf_021_V2_5_295_M3A, I021_V2_5_295_M3A_PARTS, { NULL } }; static int hf_021_V2_5_295_QI; static int hf_021_V2_5_295_QI_VALUE; static const FieldPart I021_V2_5_295_QI_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_QI_VALUE, NULL }; static const FieldPart *I021_V2_5_295_QI_PARTS[] = { &I021_V2_5_295_QI_VALUE, NULL }; static const AsterixField I021_V2_5_295_QI = { FIXED, 1, 0, 0, &hf_021_V2_5_295_QI, I021_V2_5_295_QI_PARTS, { NULL } }; static int hf_021_V2_5_295_TI1; static int hf_021_V2_5_295_TI1_VALUE; static const FieldPart I021_V2_5_295_TI1_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_TI1_VALUE, NULL }; static const FieldPart *I021_V2_5_295_TI1_PARTS[] = { &I021_V2_5_295_TI1_VALUE, NULL }; static const AsterixField I021_V2_5_295_TI1 = { FIXED, 1, 0, 0, &hf_021_V2_5_295_TI1, I021_V2_5_295_TI1_PARTS, { NULL } }; static int hf_021_V2_5_295_MAM; static int hf_021_V2_5_295_MAM_VALUE; static const FieldPart I021_V2_5_295_MAM_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_MAM_VALUE, NULL }; static const FieldPart *I021_V2_5_295_MAM_PARTS[] = { &I021_V2_5_295_MAM_VALUE, NULL }; static const AsterixField I021_V2_5_295_MAM = { FIXED, 1, 0, 0, &hf_021_V2_5_295_MAM, I021_V2_5_295_MAM_PARTS, { NULL } }; static int hf_021_V2_5_295_GH; static int hf_021_V2_5_295_GH_VALUE; static const FieldPart I021_V2_5_295_GH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_GH_VALUE, NULL }; static const FieldPart *I021_V2_5_295_GH_PARTS[] = { &I021_V2_5_295_GH_VALUE, NULL }; static const AsterixField I021_V2_5_295_GH = { FIXED, 1, 0, 0, &hf_021_V2_5_295_GH, I021_V2_5_295_GH_PARTS, { NULL } }; static int hf_021_V2_5_295_FL; static int hf_021_V2_5_295_FL_VALUE; static const FieldPart I021_V2_5_295_FL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_FL_VALUE, NULL }; static const FieldPart *I021_V2_5_295_FL_PARTS[] = { &I021_V2_5_295_FL_VALUE, NULL }; static const AsterixField I021_V2_5_295_FL = { FIXED, 1, 0, 0, &hf_021_V2_5_295_FL, I021_V2_5_295_FL_PARTS, { NULL } }; static int hf_021_V2_5_295_ISA; static int hf_021_V2_5_295_ISA_VALUE; static const FieldPart I021_V2_5_295_ISA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_ISA_VALUE, NULL }; static const FieldPart *I021_V2_5_295_ISA_PARTS[] = { &I021_V2_5_295_ISA_VALUE, NULL }; static const AsterixField I021_V2_5_295_ISA = { FIXED, 1, 0, 0, &hf_021_V2_5_295_ISA, I021_V2_5_295_ISA_PARTS, { NULL } }; static int hf_021_V2_5_295_FSA; static int hf_021_V2_5_295_FSA_VALUE; static const FieldPart I021_V2_5_295_FSA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_FSA_VALUE, NULL }; static const FieldPart *I021_V2_5_295_FSA_PARTS[] = { &I021_V2_5_295_FSA_VALUE, NULL }; static const AsterixField I021_V2_5_295_FSA = { FIXED, 1, 0, 0, &hf_021_V2_5_295_FSA, I021_V2_5_295_FSA_PARTS, { NULL } }; static int hf_021_V2_5_295_AS; static int hf_021_V2_5_295_AS_VALUE; static const FieldPart I021_V2_5_295_AS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_AS_VALUE, NULL }; static const FieldPart *I021_V2_5_295_AS_PARTS[] = { &I021_V2_5_295_AS_VALUE, NULL }; static const AsterixField I021_V2_5_295_AS = { FIXED, 1, 0, 0, &hf_021_V2_5_295_AS, I021_V2_5_295_AS_PARTS, { NULL } }; static int hf_021_V2_5_295_TAS; static int hf_021_V2_5_295_TAS_VALUE; static const FieldPart I021_V2_5_295_TAS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_TAS_VALUE, NULL }; static const FieldPart *I021_V2_5_295_TAS_PARTS[] = { &I021_V2_5_295_TAS_VALUE, NULL }; static const AsterixField I021_V2_5_295_TAS = { FIXED, 1, 0, 0, &hf_021_V2_5_295_TAS, I021_V2_5_295_TAS_PARTS, { NULL } }; static int hf_021_V2_5_295_MH; static int hf_021_V2_5_295_MH_VALUE; static const FieldPart I021_V2_5_295_MH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_MH_VALUE, NULL }; static const FieldPart *I021_V2_5_295_MH_PARTS[] = { &I021_V2_5_295_MH_VALUE, NULL }; static const AsterixField I021_V2_5_295_MH = { FIXED, 1, 0, 0, &hf_021_V2_5_295_MH, I021_V2_5_295_MH_PARTS, { NULL } }; static int hf_021_V2_5_295_BVR; static int hf_021_V2_5_295_BVR_VALUE; static const FieldPart I021_V2_5_295_BVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_BVR_VALUE, NULL }; static const FieldPart *I021_V2_5_295_BVR_PARTS[] = { &I021_V2_5_295_BVR_VALUE, NULL }; static const AsterixField I021_V2_5_295_BVR = { FIXED, 1, 0, 0, &hf_021_V2_5_295_BVR, I021_V2_5_295_BVR_PARTS, { NULL } }; static int hf_021_V2_5_295_GVR; static int hf_021_V2_5_295_GVR_VALUE; static const FieldPart I021_V2_5_295_GVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_GVR_VALUE, NULL }; static const FieldPart *I021_V2_5_295_GVR_PARTS[] = { &I021_V2_5_295_GVR_VALUE, NULL }; static const AsterixField I021_V2_5_295_GVR = { FIXED, 1, 0, 0, &hf_021_V2_5_295_GVR, I021_V2_5_295_GVR_PARTS, { NULL } }; static int hf_021_V2_5_295_GV; static int hf_021_V2_5_295_GV_VALUE; static const FieldPart I021_V2_5_295_GV_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_GV_VALUE, NULL }; static const FieldPart *I021_V2_5_295_GV_PARTS[] = { &I021_V2_5_295_GV_VALUE, NULL }; static const AsterixField I021_V2_5_295_GV = { FIXED, 1, 0, 0, &hf_021_V2_5_295_GV, I021_V2_5_295_GV_PARTS, { NULL } }; static int hf_021_V2_5_295_TAR; static int hf_021_V2_5_295_TAR_VALUE; static const FieldPart I021_V2_5_295_TAR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_TAR_VALUE, NULL }; static const FieldPart *I021_V2_5_295_TAR_PARTS[] = { &I021_V2_5_295_TAR_VALUE, NULL }; static const AsterixField I021_V2_5_295_TAR = { FIXED, 1, 0, 0, &hf_021_V2_5_295_TAR, I021_V2_5_295_TAR_PARTS, { NULL } }; static int hf_021_V2_5_295_TI2; static int hf_021_V2_5_295_TI2_VALUE; static const FieldPart I021_V2_5_295_TI2_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_TI2_VALUE, NULL }; static const FieldPart *I021_V2_5_295_TI2_PARTS[] = { &I021_V2_5_295_TI2_VALUE, NULL }; static const AsterixField I021_V2_5_295_TI2 = { FIXED, 1, 0, 0, &hf_021_V2_5_295_TI2, I021_V2_5_295_TI2_PARTS, { NULL } }; static int hf_021_V2_5_295_TS; static int hf_021_V2_5_295_TS_VALUE; static const FieldPart I021_V2_5_295_TS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_TS_VALUE, NULL }; static const FieldPart *I021_V2_5_295_TS_PARTS[] = { &I021_V2_5_295_TS_VALUE, NULL }; static const AsterixField I021_V2_5_295_TS = { FIXED, 1, 0, 0, &hf_021_V2_5_295_TS, I021_V2_5_295_TS_PARTS, { NULL } }; static int hf_021_V2_5_295_MET; static int hf_021_V2_5_295_MET_VALUE; static const FieldPart I021_V2_5_295_MET_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_MET_VALUE, NULL }; static const FieldPart *I021_V2_5_295_MET_PARTS[] = { &I021_V2_5_295_MET_VALUE, NULL }; static const AsterixField I021_V2_5_295_MET = { FIXED, 1, 0, 0, &hf_021_V2_5_295_MET, I021_V2_5_295_MET_PARTS, { NULL } }; static int hf_021_V2_5_295_ROA; static int hf_021_V2_5_295_ROA_VALUE; static const FieldPart I021_V2_5_295_ROA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_ROA_VALUE, NULL }; static const FieldPart *I021_V2_5_295_ROA_PARTS[] = { &I021_V2_5_295_ROA_VALUE, NULL }; static const AsterixField I021_V2_5_295_ROA = { FIXED, 1, 0, 0, &hf_021_V2_5_295_ROA, I021_V2_5_295_ROA_PARTS, { NULL } }; static int hf_021_V2_5_295_ARA; static int hf_021_V2_5_295_ARA_VALUE; static const FieldPart I021_V2_5_295_ARA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_ARA_VALUE, NULL }; static const FieldPart *I021_V2_5_295_ARA_PARTS[] = { &I021_V2_5_295_ARA_VALUE, NULL }; static const AsterixField I021_V2_5_295_ARA = { FIXED, 1, 0, 0, &hf_021_V2_5_295_ARA, I021_V2_5_295_ARA_PARTS, { NULL } }; static int hf_021_V2_5_295_SCC; static int hf_021_V2_5_295_SCC_VALUE; static const FieldPart I021_V2_5_295_SCC_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_5_295_SCC_VALUE, NULL }; static const FieldPart *I021_V2_5_295_SCC_PARTS[] = { &I021_V2_5_295_SCC_VALUE, NULL }; static const AsterixField I021_V2_5_295_SCC = { FIXED, 1, 0, 0, &hf_021_V2_5_295_SCC, I021_V2_5_295_SCC_PARTS, { NULL } }; static const AsterixField I021_V2_5_295 = { COMPOUND, 0, 0, 0, &hf_021_V2_5_295, NULL, { &I021_V2_5_295_AOS, &I021_V2_5_295_TRD, &I021_V2_5_295_M3A, &I021_V2_5_295_QI, &I021_V2_5_295_TI1, &I021_V2_5_295_MAM, &I021_V2_5_295_GH, &I021_V2_5_295_FL, &I021_V2_5_295_ISA, &I021_V2_5_295_FSA, &I021_V2_5_295_AS, &I021_V2_5_295_TAS, &I021_V2_5_295_MH, &I021_V2_5_295_BVR, &I021_V2_5_295_GVR, &I021_V2_5_295_GV, &I021_V2_5_295_TAR, &I021_V2_5_295_TI2, &I021_V2_5_295_TS, &I021_V2_5_295_MET, &I021_V2_5_295_ROA, &I021_V2_5_295_ARA, &I021_V2_5_295_SCC, NULL } }; static int hf_021_V2_5_400; static int hf_021_V2_5_400_VALUE; static const FieldPart I021_V2_5_400_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_5_400_VALUE, NULL }; static const FieldPart *I021_V2_5_400_PARTS[] = { &I021_V2_5_400_VALUE, NULL }; static const AsterixField I021_V2_5_400 = { FIXED, 1, 0, 0, &hf_021_V2_5_400, I021_V2_5_400_PARTS, { NULL } }; static int hf_021_V2_5_RE; static const AsterixField I021_V2_5_RE = { EXP, 0, 0, 1, &hf_021_V2_5_RE, NULL, { NULL } }; static int hf_021_V2_5_SP; static const AsterixField I021_V2_5_SP = { EXP, 0, 0, 1, &hf_021_V2_5_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V2_5_uap[] = { &I021_V2_5_010, &I021_V2_5_040, &I021_V2_5_161, &I021_V2_5_015, &I021_V2_5_071, &I021_V2_5_130, &I021_V2_5_131, &I021_V2_5_072, &I021_V2_5_150, &I021_V2_5_151, &I021_V2_5_080, &I021_V2_5_073, &I021_V2_5_074, &I021_V2_5_075, &I021_V2_5_076, &I021_V2_5_140, &I021_V2_5_090, &I021_V2_5_210, &I021_V2_5_070, &I021_V2_5_230, &I021_V2_5_145, &I021_V2_5_152, &I021_V2_5_200, &I021_V2_5_155, &I021_V2_5_157, &I021_V2_5_160, &I021_V2_5_165, &I021_V2_5_077, &I021_V2_5_170, &I021_V2_5_020, &I021_V2_5_220, &I021_V2_5_146, &I021_V2_5_148, &I021_V2_5_110, &I021_V2_5_016, &I021_V2_5_008, &I021_V2_5_271, &I021_V2_5_132, &I021_V2_5_250, &I021_V2_5_260, &I021_V2_5_400, &I021_V2_5_295, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V2_5_RE, &I021_V2_5_SP, NULL }; static const AsterixField **I021_V2_5[] = { I021_V2_5_uap, NULL }; DIAG_ON_PEDANTIC /* Category 021, edition 2.6 */ static int hf_021_V2_6_008; static int hf_021_V2_6_008_RA; static const value_string valstr_021_V2_6_008_RA[] = { { 0, "TCAS II or ACAS RA not active" }, { 1, "TCAS RA active" }, { 0, NULL } }; static const FieldPart I021_V2_6_008_RA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_008_RA, NULL }; static int hf_021_V2_6_008_TC; static const value_string valstr_021_V2_6_008_TC[] = { { 0, "No capability for Trajectory Change Reports" }, { 1, "Support for TC+0 reports only" }, { 2, "Support for multiple TC reports" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I021_V2_6_008_TC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_008_TC, NULL }; static int hf_021_V2_6_008_TS; static const value_string valstr_021_V2_6_008_TS[] = { { 0, "No capability to support Target State Reports" }, { 1, "Capable of supporting target State Reports" }, { 0, NULL } }; static const FieldPart I021_V2_6_008_TS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_008_TS, NULL }; static int hf_021_V2_6_008_ARV; static const value_string valstr_021_V2_6_008_ARV[] = { { 0, "No capability to generate ARV-reports" }, { 1, "Capable of generate ARV-reports" }, { 0, NULL } }; static const FieldPart I021_V2_6_008_ARV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_008_ARV, NULL }; static int hf_021_V2_6_008_CDTIA; static const value_string valstr_021_V2_6_008_CDTIA[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_6_008_CDTIA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_008_CDTIA, NULL }; static int hf_021_V2_6_008_NOTTCAS; static const value_string valstr_021_V2_6_008_NOTTCAS[] = { { 0, "TCAS operational" }, { 1, "TCAS not operational" }, { 0, NULL } }; static const FieldPart I021_V2_6_008_NOTTCAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_008_NOTTCAS, NULL }; static int hf_021_V2_6_008_SA; static const value_string valstr_021_V2_6_008_SA[] = { { 0, "Antenna Diversity" }, { 1, "Single Antenna only" }, { 0, NULL } }; static const FieldPart I021_V2_6_008_SA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_008_SA, NULL }; static const FieldPart *I021_V2_6_008_PARTS[] = { &I021_V2_6_008_RA, &I021_V2_6_008_TC, &I021_V2_6_008_TS, &I021_V2_6_008_ARV, &I021_V2_6_008_CDTIA, &I021_V2_6_008_NOTTCAS, &I021_V2_6_008_SA, NULL }; static const AsterixField I021_V2_6_008 = { FIXED, 1, 0, 0, &hf_021_V2_6_008, I021_V2_6_008_PARTS, { NULL } }; static int hf_021_V2_6_010; static int hf_021_V2_6_010_SAC; static const FieldPart I021_V2_6_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_6_010_SAC, NULL }; static int hf_021_V2_6_010_SIC; static const FieldPart I021_V2_6_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_6_010_SIC, NULL }; static const FieldPart *I021_V2_6_010_PARTS[] = { &I021_V2_6_010_SAC, &I021_V2_6_010_SIC, NULL }; static const AsterixField I021_V2_6_010 = { FIXED, 2, 0, 0, &hf_021_V2_6_010, I021_V2_6_010_PARTS, { NULL } }; static int hf_021_V2_6_015; static int hf_021_V2_6_015_VALUE; static const FieldPart I021_V2_6_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_6_015_VALUE, NULL }; static const FieldPart *I021_V2_6_015_PARTS[] = { &I021_V2_6_015_VALUE, NULL }; static const AsterixField I021_V2_6_015 = { FIXED, 1, 0, 0, &hf_021_V2_6_015, I021_V2_6_015_PARTS, { NULL } }; static int hf_021_V2_6_016; static int hf_021_V2_6_016_VALUE; static const FieldPart I021_V2_6_016_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_021_V2_6_016_VALUE, NULL }; static const FieldPart *I021_V2_6_016_PARTS[] = { &I021_V2_6_016_VALUE, NULL }; static const AsterixField I021_V2_6_016 = { FIXED, 1, 0, 0, &hf_021_V2_6_016, I021_V2_6_016_PARTS, { NULL } }; static int hf_021_V2_6_020; static int hf_021_V2_6_020_VALUE; static const value_string valstr_021_V2_6_020_VALUE[] = { { 0, "No ADS-B Emitter Category Information" }, { 1, "Light aircraft <= 15500 lbs" }, { 2, "15500 lbs < small aircraft <75000 lbs" }, { 3, "75000 lbs < medium a/c < 300000 lbs" }, { 4, "High Vortex Large" }, { 5, "300000 lbs <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Cluster obstacle" }, { 24, "Line obstacle" }, { 0, NULL } }; static const FieldPart I021_V2_6_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_6_020_VALUE, NULL }; static const FieldPart *I021_V2_6_020_PARTS[] = { &I021_V2_6_020_VALUE, NULL }; static const AsterixField I021_V2_6_020 = { FIXED, 1, 0, 0, &hf_021_V2_6_020, I021_V2_6_020_PARTS, { NULL } }; static int hf_021_V2_6_040; static int hf_021_V2_6_040_ATP; static const value_string valstr_021_V2_6_040_ATP[] = { { 0, "24-Bit ICAO address" }, { 1, "Duplicate address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_ATP, NULL }; static int hf_021_V2_6_040_ARC; static const value_string valstr_021_V2_6_040_ARC[] = { { 0, "25 ft" }, { 1, "100 ft" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_ARC, NULL }; static int hf_021_V2_6_040_RC; static const value_string valstr_021_V2_6_040_RC[] = { { 0, "Default" }, { 1, "Range Check passed, CPR Validation pending" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_RC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_RC, NULL }; static int hf_021_V2_6_040_RAB; static const value_string valstr_021_V2_6_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_RAB, NULL }; static int hf_021_V2_6_040_DCR; static const value_string valstr_021_V2_6_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_DCR, NULL }; static int hf_021_V2_6_040_GBS; static const value_string valstr_021_V2_6_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_GBS, NULL }; static int hf_021_V2_6_040_SIM; static const value_string valstr_021_V2_6_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_SIM, NULL }; static int hf_021_V2_6_040_TST; static const value_string valstr_021_V2_6_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_TST, NULL }; static int hf_021_V2_6_040_SAA; static const value_string valstr_021_V2_6_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_SAA, NULL }; static int hf_021_V2_6_040_CL; static const value_string valstr_021_V2_6_040_CL[] = { { 0, "Report valid" }, { 1, "Report suspect" }, { 2, "No information" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_CL = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_CL, NULL }; static int hf_021_V2_6_040_LLC; static const value_string valstr_021_V2_6_040_LLC[] = { { 0, "Default" }, { 1, "List Lookup failed (see note)" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_LLC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_LLC, NULL }; static int hf_021_V2_6_040_IPC; static const value_string valstr_021_V2_6_040_IPC[] = { { 0, "Default (see note)" }, { 1, "Independent Position Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_IPC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_IPC, NULL }; static int hf_021_V2_6_040_NOGO; static const value_string valstr_021_V2_6_040_NOGO[] = { { 0, "NOGO-bit not set" }, { 1, "NOGO-bit set" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_NOGO, NULL }; static int hf_021_V2_6_040_CPR; static const value_string valstr_021_V2_6_040_CPR[] = { { 0, "CPR Validation correct" }, { 1, "CPR Validation failed" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_CPR = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_CPR, NULL }; static int hf_021_V2_6_040_LDPJ; static const value_string valstr_021_V2_6_040_LDPJ[] = { { 0, "LDPJ not detected" }, { 1, "LDPJ detected" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_LDPJ = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_LDPJ, NULL }; static int hf_021_V2_6_040_RCF; static const value_string valstr_021_V2_6_040_RCF[] = { { 0, "Default" }, { 1, "Range Check failed" }, { 0, NULL } }; static const FieldPart I021_V2_6_040_RCF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_040_RCF, NULL }; static int hf_021_V2_6_040_TBC; static const FieldPart I021_V2_6_040_TBC = { 7, 1.0, FIELD_PART_HEX, &hf_021_V2_6_040_TBC, NULL }; static int hf_021_V2_6_040_MBC; static const FieldPart I021_V2_6_040_MBC = { 7, 1.0, FIELD_PART_HEX, &hf_021_V2_6_040_MBC, NULL }; static const FieldPart *I021_V2_6_040_PARTS[] = { &I021_V2_6_040_ATP, &I021_V2_6_040_ARC, &I021_V2_6_040_RC, &I021_V2_6_040_RAB, &IXXX_FX, &I021_V2_6_040_DCR, &I021_V2_6_040_GBS, &I021_V2_6_040_SIM, &I021_V2_6_040_TST, &I021_V2_6_040_SAA, &I021_V2_6_040_CL, &IXXX_FX, &IXXX_1bit_spare, &I021_V2_6_040_LLC, &I021_V2_6_040_IPC, &I021_V2_6_040_NOGO, &I021_V2_6_040_CPR, &I021_V2_6_040_LDPJ, &I021_V2_6_040_RCF, &IXXX_FX, &I021_V2_6_040_TBC, &IXXX_FX, &I021_V2_6_040_MBC, &IXXX_FX, NULL }; static const AsterixField I021_V2_6_040 = { FX, 1, 0, 0, &hf_021_V2_6_040, I021_V2_6_040_PARTS, { NULL } }; static int hf_021_V2_6_070; static int hf_021_V2_6_070_MODE3A; static const FieldPart I021_V2_6_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_V2_6_070_MODE3A, NULL }; static const FieldPart *I021_V2_6_070_PARTS[] = { &IXXX_4bit_spare, &I021_V2_6_070_MODE3A, NULL }; static const AsterixField I021_V2_6_070 = { FIXED, 2, 0, 0, &hf_021_V2_6_070, I021_V2_6_070_PARTS, { NULL } }; static int hf_021_V2_6_071; static int hf_021_V2_6_071_VALUE; static const FieldPart I021_V2_6_071_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_6_071_VALUE, NULL }; static const FieldPart *I021_V2_6_071_PARTS[] = { &I021_V2_6_071_VALUE, NULL }; static const AsterixField I021_V2_6_071 = { FIXED, 3, 0, 0, &hf_021_V2_6_071, I021_V2_6_071_PARTS, { NULL } }; static int hf_021_V2_6_072; static int hf_021_V2_6_072_VALUE; static const FieldPart I021_V2_6_072_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_6_072_VALUE, NULL }; static const FieldPart *I021_V2_6_072_PARTS[] = { &I021_V2_6_072_VALUE, NULL }; static const AsterixField I021_V2_6_072 = { FIXED, 3, 0, 0, &hf_021_V2_6_072, I021_V2_6_072_PARTS, { NULL } }; static int hf_021_V2_6_073; static int hf_021_V2_6_073_VALUE; static const FieldPart I021_V2_6_073_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_6_073_VALUE, NULL }; static const FieldPart *I021_V2_6_073_PARTS[] = { &I021_V2_6_073_VALUE, NULL }; static const AsterixField I021_V2_6_073 = { FIXED, 3, 0, 0, &hf_021_V2_6_073, I021_V2_6_073_PARTS, { NULL } }; static int hf_021_V2_6_074; static int hf_021_V2_6_074_FSI; static const value_string valstr_021_V2_6_074_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/073) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/073) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/073) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_6_074_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_074_FSI, NULL }; static int hf_021_V2_6_074_TOMRP; static const FieldPart I021_V2_6_074_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_6_074_TOMRP, NULL }; static const FieldPart *I021_V2_6_074_PARTS[] = { &I021_V2_6_074_FSI, &I021_V2_6_074_TOMRP, NULL }; static const AsterixField I021_V2_6_074 = { FIXED, 4, 0, 0, &hf_021_V2_6_074, I021_V2_6_074_PARTS, { NULL } }; static int hf_021_V2_6_075; static int hf_021_V2_6_075_VALUE; static const FieldPart I021_V2_6_075_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_6_075_VALUE, NULL }; static const FieldPart *I021_V2_6_075_PARTS[] = { &I021_V2_6_075_VALUE, NULL }; static const AsterixField I021_V2_6_075 = { FIXED, 3, 0, 0, &hf_021_V2_6_075, I021_V2_6_075_PARTS, { NULL } }; static int hf_021_V2_6_076; static int hf_021_V2_6_076_FSI; static const value_string valstr_021_V2_6_076_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/075) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/075) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/075) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_V2_6_076_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_076_FSI, NULL }; static int hf_021_V2_6_076_TOMRP; static const FieldPart I021_V2_6_076_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_V2_6_076_TOMRP, NULL }; static const FieldPart *I021_V2_6_076_PARTS[] = { &I021_V2_6_076_FSI, &I021_V2_6_076_TOMRP, NULL }; static const AsterixField I021_V2_6_076 = { FIXED, 4, 0, 0, &hf_021_V2_6_076, I021_V2_6_076_PARTS, { NULL } }; static int hf_021_V2_6_077; static int hf_021_V2_6_077_VALUE; static const FieldPart I021_V2_6_077_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_V2_6_077_VALUE, NULL }; static const FieldPart *I021_V2_6_077_PARTS[] = { &I021_V2_6_077_VALUE, NULL }; static const AsterixField I021_V2_6_077 = { FIXED, 3, 0, 0, &hf_021_V2_6_077, I021_V2_6_077_PARTS, { NULL } }; static int hf_021_V2_6_080; static int hf_021_V2_6_080_VALUE; static const FieldPart I021_V2_6_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_V2_6_080_VALUE, NULL }; static const FieldPart *I021_V2_6_080_PARTS[] = { &I021_V2_6_080_VALUE, NULL }; static const AsterixField I021_V2_6_080 = { FIXED, 3, 0, 0, &hf_021_V2_6_080, I021_V2_6_080_PARTS, { NULL } }; static int hf_021_V2_6_090; static int hf_021_V2_6_090_NUCRNACV; static const FieldPart I021_V2_6_090_NUCRNACV = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_NUCRNACV, NULL }; static int hf_021_V2_6_090_NUCPNIC; static const FieldPart I021_V2_6_090_NUCPNIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_NUCPNIC, NULL }; static int hf_021_V2_6_090_NICBARO; static const FieldPart I021_V2_6_090_NICBARO = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_NICBARO, NULL }; static int hf_021_V2_6_090_SIL; static const FieldPart I021_V2_6_090_SIL = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_SIL, NULL }; static int hf_021_V2_6_090_NACP; static const FieldPart I021_V2_6_090_NACP = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_NACP, NULL }; static int hf_021_V2_6_090_SILS; static const value_string valstr_021_V2_6_090_SILS[] = { { 0, "Measured per flight-hour" }, { 1, "Measured per sample" }, { 0, NULL } }; static const FieldPart I021_V2_6_090_SILS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_090_SILS, NULL }; static int hf_021_V2_6_090_SDA; static const FieldPart I021_V2_6_090_SDA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_SDA, NULL }; static int hf_021_V2_6_090_GVA; static const FieldPart I021_V2_6_090_GVA = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_GVA, NULL }; static int hf_021_V2_6_090_PIC; static const FieldPart I021_V2_6_090_PIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_6_090_PIC, NULL }; static const FieldPart *I021_V2_6_090_PARTS[] = { &I021_V2_6_090_NUCRNACV, &I021_V2_6_090_NUCPNIC, &IXXX_FX, &I021_V2_6_090_NICBARO, &I021_V2_6_090_SIL, &I021_V2_6_090_NACP, &IXXX_FX, &IXXX_2bit_spare, &I021_V2_6_090_SILS, &I021_V2_6_090_SDA, &I021_V2_6_090_GVA, &IXXX_FX, &I021_V2_6_090_PIC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_6_090 = { FX, 1, 0, 0, &hf_021_V2_6_090, I021_V2_6_090_PARTS, { NULL } }; static int hf_021_V2_6_110; static int hf_021_V2_6_110_TIS; static int hf_021_V2_6_110_TIS_NAV; static const value_string valstr_021_V2_6_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TIS_NAV, NULL }; static int hf_021_V2_6_110_TIS_NVB; static const value_string valstr_021_V2_6_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TIS_NVB, NULL }; static const FieldPart *I021_V2_6_110_TIS_PARTS[] = { &I021_V2_6_110_TIS_NAV, &I021_V2_6_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_6_110_TIS = { FX, 1, 0, 0, &hf_021_V2_6_110_TIS, I021_V2_6_110_TIS_PARTS, { NULL } }; static int hf_021_V2_6_110_TID; static int hf_021_V2_6_110_TID_TCA; static const value_string valstr_021_V2_6_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TID_TCA, NULL }; static int hf_021_V2_6_110_TID_NC; static const value_string valstr_021_V2_6_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TID_NC, NULL }; static int hf_021_V2_6_110_TID_TCPN; static const FieldPart I021_V2_6_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_V2_6_110_TID_TCPN, NULL }; static int hf_021_V2_6_110_TID_ALT; static const FieldPart I021_V2_6_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_V2_6_110_TID_ALT, NULL }; static int hf_021_V2_6_110_TID_LAT; static const FieldPart I021_V2_6_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_6_110_TID_LAT, NULL }; static int hf_021_V2_6_110_TID_LON; static const FieldPart I021_V2_6_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_6_110_TID_LON, NULL }; static int hf_021_V2_6_110_TID_PT; static const value_string valstr_021_V2_6_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TID_PT, NULL }; static int hf_021_V2_6_110_TID_TD; static const value_string valstr_021_V2_6_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TID_TD, NULL }; static int hf_021_V2_6_110_TID_TRA; static const value_string valstr_021_V2_6_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TID_TRA, NULL }; static int hf_021_V2_6_110_TID_TOA; static const value_string valstr_021_V2_6_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_V2_6_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_110_TID_TOA, NULL }; static int hf_021_V2_6_110_TID_TOV; static const FieldPart I021_V2_6_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_6_110_TID_TOV, NULL }; static int hf_021_V2_6_110_TID_TTR; static const FieldPart I021_V2_6_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_V2_6_110_TID_TTR, NULL }; static const FieldPart *I021_V2_6_110_TID_PARTS[] = { &I021_V2_6_110_TID_TCA, &I021_V2_6_110_TID_NC, &I021_V2_6_110_TID_TCPN, &I021_V2_6_110_TID_ALT, &I021_V2_6_110_TID_LAT, &I021_V2_6_110_TID_LON, &I021_V2_6_110_TID_PT, &I021_V2_6_110_TID_TD, &I021_V2_6_110_TID_TRA, &I021_V2_6_110_TID_TOA, &I021_V2_6_110_TID_TOV, &I021_V2_6_110_TID_TTR, NULL }; static const AsterixField I021_V2_6_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_V2_6_110_TID, I021_V2_6_110_TID_PARTS, { NULL } }; static const AsterixField I021_V2_6_110 = { COMPOUND, 0, 0, 0, &hf_021_V2_6_110, NULL, { &I021_V2_6_110_TIS, &I021_V2_6_110_TID, NULL } }; static int hf_021_V2_6_130; static int hf_021_V2_6_130_LAT; static const FieldPart I021_V2_6_130_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_6_130_LAT, NULL }; static int hf_021_V2_6_130_LON; static const FieldPart I021_V2_6_130_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_V2_6_130_LON, NULL }; static const FieldPart *I021_V2_6_130_PARTS[] = { &I021_V2_6_130_LAT, &I021_V2_6_130_LON, NULL }; static const AsterixField I021_V2_6_130 = { FIXED, 6, 0, 0, &hf_021_V2_6_130, I021_V2_6_130_PARTS, { NULL } }; static int hf_021_V2_6_131; static int hf_021_V2_6_131_LAT; static const FieldPart I021_V2_6_131_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_6_131_LAT, NULL }; static int hf_021_V2_6_131_LON; static const FieldPart I021_V2_6_131_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_V2_6_131_LON, NULL }; static const FieldPart *I021_V2_6_131_PARTS[] = { &I021_V2_6_131_LAT, &I021_V2_6_131_LON, NULL }; static const AsterixField I021_V2_6_131 = { FIXED, 8, 0, 0, &hf_021_V2_6_131, I021_V2_6_131_PARTS, { NULL } }; static int hf_021_V2_6_132; static int hf_021_V2_6_132_VALUE; static const FieldPart I021_V2_6_132_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_021_V2_6_132_VALUE, NULL }; static const FieldPart *I021_V2_6_132_PARTS[] = { &I021_V2_6_132_VALUE, NULL }; static const AsterixField I021_V2_6_132 = { FIXED, 1, 0, 0, &hf_021_V2_6_132, I021_V2_6_132_PARTS, { NULL } }; static int hf_021_V2_6_140; static int hf_021_V2_6_140_VALUE; static const FieldPart I021_V2_6_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_V2_6_140_VALUE, NULL }; static const FieldPart *I021_V2_6_140_PARTS[] = { &I021_V2_6_140_VALUE, NULL }; static const AsterixField I021_V2_6_140 = { FIXED, 2, 0, 0, &hf_021_V2_6_140, I021_V2_6_140_PARTS, { NULL } }; static int hf_021_V2_6_145; static int hf_021_V2_6_145_VALUE; static const FieldPart I021_V2_6_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_6_145_VALUE, NULL }; static const FieldPart *I021_V2_6_145_PARTS[] = { &I021_V2_6_145_VALUE, NULL }; static const AsterixField I021_V2_6_145 = { FIXED, 2, 0, 0, &hf_021_V2_6_145, I021_V2_6_145_PARTS, { NULL } }; static int hf_021_V2_6_146; static int hf_021_V2_6_146_SAS; static const value_string valstr_021_V2_6_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_V2_6_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_146_SAS, NULL }; static int hf_021_V2_6_146_S; static const value_string valstr_021_V2_6_146_S[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_V2_6_146_S = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_146_S, NULL }; static int hf_021_V2_6_146_ALT; static const FieldPart I021_V2_6_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_6_146_ALT, NULL }; static const FieldPart *I021_V2_6_146_PARTS[] = { &I021_V2_6_146_SAS, &I021_V2_6_146_S, &I021_V2_6_146_ALT, NULL }; static const AsterixField I021_V2_6_146 = { FIXED, 2, 0, 0, &hf_021_V2_6_146, I021_V2_6_146_PARTS, { NULL } }; static int hf_021_V2_6_148; static int hf_021_V2_6_148_MV; static const value_string valstr_021_V2_6_148_MV[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_6_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_148_MV, NULL }; static int hf_021_V2_6_148_AH; static const value_string valstr_021_V2_6_148_AH[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_6_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_148_AH, NULL }; static int hf_021_V2_6_148_AM; static const value_string valstr_021_V2_6_148_AM[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_V2_6_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_148_AM, NULL }; static int hf_021_V2_6_148_ALT; static const FieldPart I021_V2_6_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_V2_6_148_ALT, NULL }; static const FieldPart *I021_V2_6_148_PARTS[] = { &I021_V2_6_148_MV, &I021_V2_6_148_AH, &I021_V2_6_148_AM, &I021_V2_6_148_ALT, NULL }; static const AsterixField I021_V2_6_148 = { FIXED, 2, 0, 0, &hf_021_V2_6_148, I021_V2_6_148_PARTS, { NULL } }; static int hf_021_V2_6_150; static int hf_021_V2_6_150_IM; static const value_string valstr_021_V2_6_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_V2_6_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_150_IM, NULL }; static int hf_021_V2_6_150_AS; static const FieldPart I021_V2_6_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_V2_6_150_AS, NULL }; static const FieldPart *I021_V2_6_150_PARTS[] = { &I021_V2_6_150_IM, &I021_V2_6_150_AS, NULL }; static const AsterixField I021_V2_6_150 = { FIXED, 2, 0, 0, &hf_021_V2_6_150, I021_V2_6_150_PARTS, { NULL } }; static int hf_021_V2_6_151; static int hf_021_V2_6_151_RE; static const value_string valstr_021_V2_6_151_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_6_151_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_151_RE, NULL }; static int hf_021_V2_6_151_TAS; static const FieldPart I021_V2_6_151_TAS = { 15, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_6_151_TAS, NULL }; static const FieldPart *I021_V2_6_151_PARTS[] = { &I021_V2_6_151_RE, &I021_V2_6_151_TAS, NULL }; static const AsterixField I021_V2_6_151 = { FIXED, 2, 0, 0, &hf_021_V2_6_151, I021_V2_6_151_PARTS, { NULL } }; static int hf_021_V2_6_152; static int hf_021_V2_6_152_VALUE; static const FieldPart I021_V2_6_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_6_152_VALUE, NULL }; static const FieldPart *I021_V2_6_152_PARTS[] = { &I021_V2_6_152_VALUE, NULL }; static const AsterixField I021_V2_6_152 = { FIXED, 2, 0, 0, &hf_021_V2_6_152, I021_V2_6_152_PARTS, { NULL } }; static int hf_021_V2_6_155; static int hf_021_V2_6_155_RE; static const value_string valstr_021_V2_6_155_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_6_155_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_155_RE, NULL }; static int hf_021_V2_6_155_BVR; static const FieldPart I021_V2_6_155_BVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_6_155_BVR, NULL }; static const FieldPart *I021_V2_6_155_PARTS[] = { &I021_V2_6_155_RE, &I021_V2_6_155_BVR, NULL }; static const AsterixField I021_V2_6_155 = { FIXED, 2, 0, 0, &hf_021_V2_6_155, I021_V2_6_155_PARTS, { NULL } }; static int hf_021_V2_6_157; static int hf_021_V2_6_157_RE; static const value_string valstr_021_V2_6_157_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_6_157_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_157_RE, NULL }; static int hf_021_V2_6_157_GVR; static const FieldPart I021_V2_6_157_GVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_V2_6_157_GVR, NULL }; static const FieldPart *I021_V2_6_157_PARTS[] = { &I021_V2_6_157_RE, &I021_V2_6_157_GVR, NULL }; static const AsterixField I021_V2_6_157 = { FIXED, 2, 0, 0, &hf_021_V2_6_157, I021_V2_6_157_PARTS, { NULL } }; static int hf_021_V2_6_160; static int hf_021_V2_6_160_RE; static const value_string valstr_021_V2_6_160_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_V2_6_160_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_160_RE, NULL }; static int hf_021_V2_6_160_GS; static const FieldPart I021_V2_6_160_GS = { 15, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_021_V2_6_160_GS, NULL }; static int hf_021_V2_6_160_TA; static const FieldPart I021_V2_6_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_V2_6_160_TA, NULL }; static const FieldPart *I021_V2_6_160_PARTS[] = { &I021_V2_6_160_RE, &I021_V2_6_160_GS, &I021_V2_6_160_TA, NULL }; static const AsterixField I021_V2_6_160 = { FIXED, 4, 0, 0, &hf_021_V2_6_160, I021_V2_6_160_PARTS, { NULL } }; static int hf_021_V2_6_161; static int hf_021_V2_6_161_TRNUM; static const FieldPart I021_V2_6_161_TRNUM = { 12, 1.0, FIELD_PART_HEX, &hf_021_V2_6_161_TRNUM, NULL }; static const FieldPart *I021_V2_6_161_PARTS[] = { &IXXX_4bit_spare, &I021_V2_6_161_TRNUM, NULL }; static const AsterixField I021_V2_6_161 = { FIXED, 2, 0, 0, &hf_021_V2_6_161, I021_V2_6_161_PARTS, { NULL } }; static int hf_021_V2_6_165; static int hf_021_V2_6_165_TAR; static const FieldPart I021_V2_6_165_TAR = { 10, 0.03125, FIELD_PART_FLOAT, &hf_021_V2_6_165_TAR, NULL }; static const FieldPart *I021_V2_6_165_PARTS[] = { &IXXX_6bit_spare, &I021_V2_6_165_TAR, NULL }; static const AsterixField I021_V2_6_165 = { FIXED, 2, 0, 0, &hf_021_V2_6_165, I021_V2_6_165_PARTS, { NULL } }; static int hf_021_V2_6_170; static int hf_021_V2_6_170_VALUE; static const FieldPart I021_V2_6_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_V2_6_170_VALUE, NULL }; static const FieldPart *I021_V2_6_170_PARTS[] = { &I021_V2_6_170_VALUE, NULL }; static const AsterixField I021_V2_6_170 = { FIXED, 6, 0, 0, &hf_021_V2_6_170, I021_V2_6_170_PARTS, { NULL } }; static int hf_021_V2_6_200; static int hf_021_V2_6_200_ICF; static const value_string valstr_021_V2_6_200_ICF[] = { { 0, "No intent change active" }, { 1, "Intent change flag raised" }, { 0, NULL } }; static const FieldPart I021_V2_6_200_ICF = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_200_ICF, NULL }; static int hf_021_V2_6_200_LNAV; static const value_string valstr_021_V2_6_200_LNAV[] = { { 0, "LNAV Mode engaged" }, { 1, "LNAV Mode not engaged" }, { 0, NULL } }; static const FieldPart I021_V2_6_200_LNAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_200_LNAV, NULL }; static int hf_021_V2_6_200_ME; static const value_string valstr_021_V2_6_200_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I021_V2_6_200_ME = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_200_ME, NULL }; static int hf_021_V2_6_200_PS; static const value_string valstr_021_V2_6_200_PS[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical emergency" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "DOWNED Aircraft" }, { 0, NULL } }; static const FieldPart I021_V2_6_200_PS = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_6_200_PS, NULL }; static int hf_021_V2_6_200_SS; static const value_string valstr_021_V2_6_200_SS[] = { { 0, "No condition reported" }, { 1, "Permanent Alert (Emergency condition)" }, { 2, "Temporary Alert (change in Mode 3/A Code other than emergency)" }, { 3, "SPI set" }, { 0, NULL } }; static const FieldPart I021_V2_6_200_SS = { 2, 1.0, FIELD_PART_UINT, &hf_021_V2_6_200_SS, NULL }; static const FieldPart *I021_V2_6_200_PARTS[] = { &I021_V2_6_200_ICF, &I021_V2_6_200_LNAV, &I021_V2_6_200_ME, &I021_V2_6_200_PS, &I021_V2_6_200_SS, NULL }; static const AsterixField I021_V2_6_200 = { FIXED, 1, 0, 0, &hf_021_V2_6_200, I021_V2_6_200_PARTS, { NULL } }; static int hf_021_V2_6_210; static int hf_021_V2_6_210_VNS; static const value_string valstr_021_V2_6_210_VNS[] = { { 0, "The MOPS Version is supported by the GS" }, { 1, "The MOPS Version is not supported by the GS" }, { 0, NULL } }; static const FieldPart I021_V2_6_210_VNS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_210_VNS, NULL }; static int hf_021_V2_6_210_VN; static const value_string valstr_021_V2_6_210_VN[] = { { 0, "ED102/DO-260 [Ref. 7]" }, { 1, "DO-260A [Ref. 8]" }, { 2, "ED102A/DO-260B [Ref. 10]" }, { 3, "ED-102B/DO-260C [Ref. 11]" }, { 0, NULL } }; static const FieldPart I021_V2_6_210_VN = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_6_210_VN, NULL }; static int hf_021_V2_6_210_LTT; static const value_string valstr_021_V2_6_210_LTT[] = { { 0, "Other" }, { 1, "UAT" }, { 2, "1090 ES" }, { 3, "VDL 4" }, { 4, "Not assigned" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I021_V2_6_210_LTT = { 3, 1.0, FIELD_PART_UINT, &hf_021_V2_6_210_LTT, NULL }; static const FieldPart *I021_V2_6_210_PARTS[] = { &IXXX_1bit_spare, &I021_V2_6_210_VNS, &I021_V2_6_210_VN, &I021_V2_6_210_LTT, NULL }; static const AsterixField I021_V2_6_210 = { FIXED, 1, 0, 0, &hf_021_V2_6_210, I021_V2_6_210_PARTS, { NULL } }; static int hf_021_V2_6_220; static int hf_021_V2_6_220_WS; static int hf_021_V2_6_220_WS_VALUE; static const FieldPart I021_V2_6_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_6_220_WS_VALUE, NULL }; static const FieldPart *I021_V2_6_220_WS_PARTS[] = { &I021_V2_6_220_WS_VALUE, NULL }; static const AsterixField I021_V2_6_220_WS = { FIXED, 2, 0, 0, &hf_021_V2_6_220_WS, I021_V2_6_220_WS_PARTS, { NULL } }; static int hf_021_V2_6_220_WD; static int hf_021_V2_6_220_WD_VALUE; static const FieldPart I021_V2_6_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_V2_6_220_WD_VALUE, NULL }; static const FieldPart *I021_V2_6_220_WD_PARTS[] = { &I021_V2_6_220_WD_VALUE, NULL }; static const AsterixField I021_V2_6_220_WD = { FIXED, 2, 0, 0, &hf_021_V2_6_220_WD, I021_V2_6_220_WD_PARTS, { NULL } }; static int hf_021_V2_6_220_TMP; static int hf_021_V2_6_220_TMP_VALUE; static const FieldPart I021_V2_6_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_V2_6_220_TMP_VALUE, NULL }; static const FieldPart *I021_V2_6_220_TMP_PARTS[] = { &I021_V2_6_220_TMP_VALUE, NULL }; static const AsterixField I021_V2_6_220_TMP = { FIXED, 2, 0, 0, &hf_021_V2_6_220_TMP, I021_V2_6_220_TMP_PARTS, { NULL } }; static int hf_021_V2_6_220_TRB; static int hf_021_V2_6_220_TRB_VALUE; static const FieldPart I021_V2_6_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_V2_6_220_TRB_VALUE, NULL }; static const FieldPart *I021_V2_6_220_TRB_PARTS[] = { &I021_V2_6_220_TRB_VALUE, NULL }; static const AsterixField I021_V2_6_220_TRB = { FIXED, 1, 0, 0, &hf_021_V2_6_220_TRB, I021_V2_6_220_TRB_PARTS, { NULL } }; static const AsterixField I021_V2_6_220 = { COMPOUND, 0, 0, 0, &hf_021_V2_6_220, NULL, { &I021_V2_6_220_WS, &I021_V2_6_220_WD, &I021_V2_6_220_TMP, &I021_V2_6_220_TRB, NULL } }; static int hf_021_V2_6_230; static int hf_021_V2_6_230_VALUE; static const FieldPart I021_V2_6_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_V2_6_230_VALUE, NULL }; static const FieldPart *I021_V2_6_230_PARTS[] = { &I021_V2_6_230_VALUE, NULL }; static const AsterixField I021_V2_6_230 = { FIXED, 2, 0, 0, &hf_021_V2_6_230, I021_V2_6_230_PARTS, { NULL } }; static int hf_021_V2_6_250; static int hf_021_V2_6_250_VALUE; static const FieldPart I021_V2_6_250_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_021_V2_6_250_VALUE, NULL }; static const FieldPart *I021_V2_6_250_PARTS[] = { &I021_V2_6_250_VALUE, NULL }; static const AsterixField I021_V2_6_250 = { REPETITIVE, 8, 1, 0, &hf_021_V2_6_250, I021_V2_6_250_PARTS, { NULL } }; static int hf_021_V2_6_260; static int hf_021_V2_6_260_TYP; static const FieldPart I021_V2_6_260_TYP = { 5, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_TYP, NULL }; static int hf_021_V2_6_260_STYP; static const FieldPart I021_V2_6_260_STYP = { 3, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_STYP, NULL }; static int hf_021_V2_6_260_ARA; static const FieldPart I021_V2_6_260_ARA = { 14, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_ARA, NULL }; static int hf_021_V2_6_260_RAC; static const FieldPart I021_V2_6_260_RAC = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_RAC, NULL }; static int hf_021_V2_6_260_RAT; static const FieldPart I021_V2_6_260_RAT = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_RAT, NULL }; static int hf_021_V2_6_260_MTE; static const FieldPart I021_V2_6_260_MTE = { 1, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_MTE, NULL }; static int hf_021_V2_6_260_TTI; static const FieldPart I021_V2_6_260_TTI = { 2, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_TTI, NULL }; static int hf_021_V2_6_260_TID; static const FieldPart I021_V2_6_260_TID = { 26, 1.0, FIELD_PART_HEX, &hf_021_V2_6_260_TID, NULL }; static const FieldPart *I021_V2_6_260_PARTS[] = { &I021_V2_6_260_TYP, &I021_V2_6_260_STYP, &I021_V2_6_260_ARA, &I021_V2_6_260_RAC, &I021_V2_6_260_RAT, &I021_V2_6_260_MTE, &I021_V2_6_260_TTI, &I021_V2_6_260_TID, NULL }; static const AsterixField I021_V2_6_260 = { FIXED, 7, 0, 0, &hf_021_V2_6_260, I021_V2_6_260_PARTS, { NULL } }; static int hf_021_V2_6_271; static int hf_021_V2_6_271_POA; static const value_string valstr_021_V2_6_271_POA[] = { { 0, "Position transmitted is not ADS-B position reference point" }, { 1, "Position transmitted is the ADS-B position reference point" }, { 0, NULL } }; static const FieldPart I021_V2_6_271_POA = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_271_POA, NULL }; static int hf_021_V2_6_271_CDTIS; static const value_string valstr_021_V2_6_271_CDTIS[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_V2_6_271_CDTIS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_271_CDTIS, NULL }; static int hf_021_V2_6_271_B2LOW; static const value_string valstr_021_V2_6_271_B2LOW[] = { { 0, ">= 70 Watts" }, { 1, "< 70 Watts" }, { 0, NULL } }; static const FieldPart I021_V2_6_271_B2LOW = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_271_B2LOW, NULL }; static int hf_021_V2_6_271_RAS; static const value_string valstr_021_V2_6_271_RAS[] = { { 0, "Aircraft not receiving ATC-services" }, { 1, "Aircraft receiving ATC services" }, { 0, NULL } }; static const FieldPart I021_V2_6_271_RAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_271_RAS, NULL }; static int hf_021_V2_6_271_IDENT; static const value_string valstr_021_V2_6_271_IDENT[] = { { 0, "IDENT switch not active" }, { 1, "IDENT switch active" }, { 0, NULL } }; static const FieldPart I021_V2_6_271_IDENT = { 1, 1.0, FIELD_PART_UINT, &hf_021_V2_6_271_IDENT, NULL }; static int hf_021_V2_6_271_LW; static const FieldPart I021_V2_6_271_LW = { 4, 1.0, FIELD_PART_HEX, &hf_021_V2_6_271_LW, NULL }; static const FieldPart *I021_V2_6_271_PARTS[] = { &IXXX_2bit_spare, &I021_V2_6_271_POA, &I021_V2_6_271_CDTIS, &I021_V2_6_271_B2LOW, &I021_V2_6_271_RAS, &I021_V2_6_271_IDENT, &IXXX_FX, &I021_V2_6_271_LW, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_V2_6_271 = { FX, 1, 0, 0, &hf_021_V2_6_271, I021_V2_6_271_PARTS, { NULL } }; static int hf_021_V2_6_295; static int hf_021_V2_6_295_AOS; static int hf_021_V2_6_295_AOS_VALUE; static const FieldPart I021_V2_6_295_AOS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_AOS_VALUE, NULL }; static const FieldPart *I021_V2_6_295_AOS_PARTS[] = { &I021_V2_6_295_AOS_VALUE, NULL }; static const AsterixField I021_V2_6_295_AOS = { FIXED, 1, 0, 0, &hf_021_V2_6_295_AOS, I021_V2_6_295_AOS_PARTS, { NULL } }; static int hf_021_V2_6_295_TRD; static int hf_021_V2_6_295_TRD_VALUE; static const FieldPart I021_V2_6_295_TRD_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_TRD_VALUE, NULL }; static const FieldPart *I021_V2_6_295_TRD_PARTS[] = { &I021_V2_6_295_TRD_VALUE, NULL }; static const AsterixField I021_V2_6_295_TRD = { FIXED, 1, 0, 0, &hf_021_V2_6_295_TRD, I021_V2_6_295_TRD_PARTS, { NULL } }; static int hf_021_V2_6_295_M3A; static int hf_021_V2_6_295_M3A_VALUE; static const FieldPart I021_V2_6_295_M3A_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_M3A_VALUE, NULL }; static const FieldPart *I021_V2_6_295_M3A_PARTS[] = { &I021_V2_6_295_M3A_VALUE, NULL }; static const AsterixField I021_V2_6_295_M3A = { FIXED, 1, 0, 0, &hf_021_V2_6_295_M3A, I021_V2_6_295_M3A_PARTS, { NULL } }; static int hf_021_V2_6_295_QI; static int hf_021_V2_6_295_QI_VALUE; static const FieldPart I021_V2_6_295_QI_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_QI_VALUE, NULL }; static const FieldPart *I021_V2_6_295_QI_PARTS[] = { &I021_V2_6_295_QI_VALUE, NULL }; static const AsterixField I021_V2_6_295_QI = { FIXED, 1, 0, 0, &hf_021_V2_6_295_QI, I021_V2_6_295_QI_PARTS, { NULL } }; static int hf_021_V2_6_295_TI1; static int hf_021_V2_6_295_TI1_VALUE; static const FieldPart I021_V2_6_295_TI1_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_TI1_VALUE, NULL }; static const FieldPart *I021_V2_6_295_TI1_PARTS[] = { &I021_V2_6_295_TI1_VALUE, NULL }; static const AsterixField I021_V2_6_295_TI1 = { FIXED, 1, 0, 0, &hf_021_V2_6_295_TI1, I021_V2_6_295_TI1_PARTS, { NULL } }; static int hf_021_V2_6_295_MAM; static int hf_021_V2_6_295_MAM_VALUE; static const FieldPart I021_V2_6_295_MAM_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_MAM_VALUE, NULL }; static const FieldPart *I021_V2_6_295_MAM_PARTS[] = { &I021_V2_6_295_MAM_VALUE, NULL }; static const AsterixField I021_V2_6_295_MAM = { FIXED, 1, 0, 0, &hf_021_V2_6_295_MAM, I021_V2_6_295_MAM_PARTS, { NULL } }; static int hf_021_V2_6_295_GH; static int hf_021_V2_6_295_GH_VALUE; static const FieldPart I021_V2_6_295_GH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_GH_VALUE, NULL }; static const FieldPart *I021_V2_6_295_GH_PARTS[] = { &I021_V2_6_295_GH_VALUE, NULL }; static const AsterixField I021_V2_6_295_GH = { FIXED, 1, 0, 0, &hf_021_V2_6_295_GH, I021_V2_6_295_GH_PARTS, { NULL } }; static int hf_021_V2_6_295_FL; static int hf_021_V2_6_295_FL_VALUE; static const FieldPart I021_V2_6_295_FL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_FL_VALUE, NULL }; static const FieldPart *I021_V2_6_295_FL_PARTS[] = { &I021_V2_6_295_FL_VALUE, NULL }; static const AsterixField I021_V2_6_295_FL = { FIXED, 1, 0, 0, &hf_021_V2_6_295_FL, I021_V2_6_295_FL_PARTS, { NULL } }; static int hf_021_V2_6_295_SAL; static int hf_021_V2_6_295_SAL_VALUE; static const FieldPart I021_V2_6_295_SAL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_SAL_VALUE, NULL }; static const FieldPart *I021_V2_6_295_SAL_PARTS[] = { &I021_V2_6_295_SAL_VALUE, NULL }; static const AsterixField I021_V2_6_295_SAL = { FIXED, 1, 0, 0, &hf_021_V2_6_295_SAL, I021_V2_6_295_SAL_PARTS, { NULL } }; static int hf_021_V2_6_295_FSA; static int hf_021_V2_6_295_FSA_VALUE; static const FieldPart I021_V2_6_295_FSA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_FSA_VALUE, NULL }; static const FieldPart *I021_V2_6_295_FSA_PARTS[] = { &I021_V2_6_295_FSA_VALUE, NULL }; static const AsterixField I021_V2_6_295_FSA = { FIXED, 1, 0, 0, &hf_021_V2_6_295_FSA, I021_V2_6_295_FSA_PARTS, { NULL } }; static int hf_021_V2_6_295_AS; static int hf_021_V2_6_295_AS_VALUE; static const FieldPart I021_V2_6_295_AS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_AS_VALUE, NULL }; static const FieldPart *I021_V2_6_295_AS_PARTS[] = { &I021_V2_6_295_AS_VALUE, NULL }; static const AsterixField I021_V2_6_295_AS = { FIXED, 1, 0, 0, &hf_021_V2_6_295_AS, I021_V2_6_295_AS_PARTS, { NULL } }; static int hf_021_V2_6_295_TAS; static int hf_021_V2_6_295_TAS_VALUE; static const FieldPart I021_V2_6_295_TAS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_TAS_VALUE, NULL }; static const FieldPart *I021_V2_6_295_TAS_PARTS[] = { &I021_V2_6_295_TAS_VALUE, NULL }; static const AsterixField I021_V2_6_295_TAS = { FIXED, 1, 0, 0, &hf_021_V2_6_295_TAS, I021_V2_6_295_TAS_PARTS, { NULL } }; static int hf_021_V2_6_295_MH; static int hf_021_V2_6_295_MH_VALUE; static const FieldPart I021_V2_6_295_MH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_MH_VALUE, NULL }; static const FieldPart *I021_V2_6_295_MH_PARTS[] = { &I021_V2_6_295_MH_VALUE, NULL }; static const AsterixField I021_V2_6_295_MH = { FIXED, 1, 0, 0, &hf_021_V2_6_295_MH, I021_V2_6_295_MH_PARTS, { NULL } }; static int hf_021_V2_6_295_BVR; static int hf_021_V2_6_295_BVR_VALUE; static const FieldPart I021_V2_6_295_BVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_BVR_VALUE, NULL }; static const FieldPart *I021_V2_6_295_BVR_PARTS[] = { &I021_V2_6_295_BVR_VALUE, NULL }; static const AsterixField I021_V2_6_295_BVR = { FIXED, 1, 0, 0, &hf_021_V2_6_295_BVR, I021_V2_6_295_BVR_PARTS, { NULL } }; static int hf_021_V2_6_295_GVR; static int hf_021_V2_6_295_GVR_VALUE; static const FieldPart I021_V2_6_295_GVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_GVR_VALUE, NULL }; static const FieldPart *I021_V2_6_295_GVR_PARTS[] = { &I021_V2_6_295_GVR_VALUE, NULL }; static const AsterixField I021_V2_6_295_GVR = { FIXED, 1, 0, 0, &hf_021_V2_6_295_GVR, I021_V2_6_295_GVR_PARTS, { NULL } }; static int hf_021_V2_6_295_GV; static int hf_021_V2_6_295_GV_VALUE; static const FieldPart I021_V2_6_295_GV_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_GV_VALUE, NULL }; static const FieldPart *I021_V2_6_295_GV_PARTS[] = { &I021_V2_6_295_GV_VALUE, NULL }; static const AsterixField I021_V2_6_295_GV = { FIXED, 1, 0, 0, &hf_021_V2_6_295_GV, I021_V2_6_295_GV_PARTS, { NULL } }; static int hf_021_V2_6_295_TAR; static int hf_021_V2_6_295_TAR_VALUE; static const FieldPart I021_V2_6_295_TAR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_TAR_VALUE, NULL }; static const FieldPart *I021_V2_6_295_TAR_PARTS[] = { &I021_V2_6_295_TAR_VALUE, NULL }; static const AsterixField I021_V2_6_295_TAR = { FIXED, 1, 0, 0, &hf_021_V2_6_295_TAR, I021_V2_6_295_TAR_PARTS, { NULL } }; static int hf_021_V2_6_295_TI2; static int hf_021_V2_6_295_TI2_VALUE; static const FieldPart I021_V2_6_295_TI2_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_TI2_VALUE, NULL }; static const FieldPart *I021_V2_6_295_TI2_PARTS[] = { &I021_V2_6_295_TI2_VALUE, NULL }; static const AsterixField I021_V2_6_295_TI2 = { FIXED, 1, 0, 0, &hf_021_V2_6_295_TI2, I021_V2_6_295_TI2_PARTS, { NULL } }; static int hf_021_V2_6_295_TS; static int hf_021_V2_6_295_TS_VALUE; static const FieldPart I021_V2_6_295_TS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_TS_VALUE, NULL }; static const FieldPart *I021_V2_6_295_TS_PARTS[] = { &I021_V2_6_295_TS_VALUE, NULL }; static const AsterixField I021_V2_6_295_TS = { FIXED, 1, 0, 0, &hf_021_V2_6_295_TS, I021_V2_6_295_TS_PARTS, { NULL } }; static int hf_021_V2_6_295_MET; static int hf_021_V2_6_295_MET_VALUE; static const FieldPart I021_V2_6_295_MET_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_MET_VALUE, NULL }; static const FieldPart *I021_V2_6_295_MET_PARTS[] = { &I021_V2_6_295_MET_VALUE, NULL }; static const AsterixField I021_V2_6_295_MET = { FIXED, 1, 0, 0, &hf_021_V2_6_295_MET, I021_V2_6_295_MET_PARTS, { NULL } }; static int hf_021_V2_6_295_ROA; static int hf_021_V2_6_295_ROA_VALUE; static const FieldPart I021_V2_6_295_ROA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_ROA_VALUE, NULL }; static const FieldPart *I021_V2_6_295_ROA_PARTS[] = { &I021_V2_6_295_ROA_VALUE, NULL }; static const AsterixField I021_V2_6_295_ROA = { FIXED, 1, 0, 0, &hf_021_V2_6_295_ROA, I021_V2_6_295_ROA_PARTS, { NULL } }; static int hf_021_V2_6_295_ARA; static int hf_021_V2_6_295_ARA_VALUE; static const FieldPart I021_V2_6_295_ARA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_ARA_VALUE, NULL }; static const FieldPart *I021_V2_6_295_ARA_PARTS[] = { &I021_V2_6_295_ARA_VALUE, NULL }; static const AsterixField I021_V2_6_295_ARA = { FIXED, 1, 0, 0, &hf_021_V2_6_295_ARA, I021_V2_6_295_ARA_PARTS, { NULL } }; static int hf_021_V2_6_295_SCC; static int hf_021_V2_6_295_SCC_VALUE; static const FieldPart I021_V2_6_295_SCC_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_V2_6_295_SCC_VALUE, NULL }; static const FieldPart *I021_V2_6_295_SCC_PARTS[] = { &I021_V2_6_295_SCC_VALUE, NULL }; static const AsterixField I021_V2_6_295_SCC = { FIXED, 1, 0, 0, &hf_021_V2_6_295_SCC, I021_V2_6_295_SCC_PARTS, { NULL } }; static const AsterixField I021_V2_6_295 = { COMPOUND, 0, 0, 0, &hf_021_V2_6_295, NULL, { &I021_V2_6_295_AOS, &I021_V2_6_295_TRD, &I021_V2_6_295_M3A, &I021_V2_6_295_QI, &I021_V2_6_295_TI1, &I021_V2_6_295_MAM, &I021_V2_6_295_GH, &I021_V2_6_295_FL, &I021_V2_6_295_SAL, &I021_V2_6_295_FSA, &I021_V2_6_295_AS, &I021_V2_6_295_TAS, &I021_V2_6_295_MH, &I021_V2_6_295_BVR, &I021_V2_6_295_GVR, &I021_V2_6_295_GV, &I021_V2_6_295_TAR, &I021_V2_6_295_TI2, &I021_V2_6_295_TS, &I021_V2_6_295_MET, &I021_V2_6_295_ROA, &I021_V2_6_295_ARA, &I021_V2_6_295_SCC, NULL } }; static int hf_021_V2_6_400; static int hf_021_V2_6_400_VALUE; static const FieldPart I021_V2_6_400_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_V2_6_400_VALUE, NULL }; static const FieldPart *I021_V2_6_400_PARTS[] = { &I021_V2_6_400_VALUE, NULL }; static const AsterixField I021_V2_6_400 = { FIXED, 1, 0, 0, &hf_021_V2_6_400, I021_V2_6_400_PARTS, { NULL } }; static int hf_021_V2_6_RE; static const AsterixField I021_V2_6_RE = { EXP, 0, 0, 1, &hf_021_V2_6_RE, NULL, { NULL } }; static int hf_021_V2_6_SP; static const AsterixField I021_V2_6_SP = { EXP, 0, 0, 1, &hf_021_V2_6_SP, NULL, { NULL } }; /* Category 021, edition 2.6 (latest) */ static int hf_021_008; static int hf_021_008_RA; static const value_string valstr_021_008_RA[] = { { 0, "TCAS II or ACAS RA not active" }, { 1, "TCAS RA active" }, { 0, NULL } }; static const FieldPart I021_008_RA = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_RA, NULL }; static int hf_021_008_TC; static const value_string valstr_021_008_TC[] = { { 0, "No capability for Trajectory Change Reports" }, { 1, "Support for TC+0 reports only" }, { 2, "Support for multiple TC reports" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I021_008_TC = { 2, 1.0, FIELD_PART_UINT, &hf_021_008_TC, NULL }; static int hf_021_008_TS; static const value_string valstr_021_008_TS[] = { { 0, "No capability to support Target State Reports" }, { 1, "Capable of supporting target State Reports" }, { 0, NULL } }; static const FieldPart I021_008_TS = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_TS, NULL }; static int hf_021_008_ARV; static const value_string valstr_021_008_ARV[] = { { 0, "No capability to generate ARV-reports" }, { 1, "Capable of generate ARV-reports" }, { 0, NULL } }; static const FieldPart I021_008_ARV = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_ARV, NULL }; static int hf_021_008_CDTIA; static const value_string valstr_021_008_CDTIA[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_008_CDTIA = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_CDTIA, NULL }; static int hf_021_008_NOTTCAS; static const value_string valstr_021_008_NOTTCAS[] = { { 0, "TCAS operational" }, { 1, "TCAS not operational" }, { 0, NULL } }; static const FieldPart I021_008_NOTTCAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_NOTTCAS, NULL }; static int hf_021_008_SA; static const value_string valstr_021_008_SA[] = { { 0, "Antenna Diversity" }, { 1, "Single Antenna only" }, { 0, NULL } }; static const FieldPart I021_008_SA = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_SA, NULL }; static const FieldPart *I021_008_PARTS[] = { &I021_008_RA, &I021_008_TC, &I021_008_TS, &I021_008_ARV, &I021_008_CDTIA, &I021_008_NOTTCAS, &I021_008_SA, NULL }; static const AsterixField I021_008 = { FIXED, 1, 0, 0, &hf_021_008, I021_008_PARTS, { NULL } }; static int hf_021_010; static int hf_021_010_SAC; static const FieldPart I021_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_021_010_SAC, NULL }; static int hf_021_010_SIC; static const FieldPart I021_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_021_010_SIC, NULL }; static const FieldPart *I021_010_PARTS[] = { &I021_010_SAC, &I021_010_SIC, NULL }; static const AsterixField I021_010 = { FIXED, 2, 0, 0, &hf_021_010, I021_010_PARTS, { NULL } }; static int hf_021_015; static int hf_021_015_VALUE; static const FieldPart I021_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_015_VALUE, NULL }; static const FieldPart *I021_015_PARTS[] = { &I021_015_VALUE, NULL }; static const AsterixField I021_015 = { FIXED, 1, 0, 0, &hf_021_015, I021_015_PARTS, { NULL } }; static int hf_021_016; static int hf_021_016_VALUE; static const FieldPart I021_016_VALUE = { 8, 0.5, FIELD_PART_UFLOAT, &hf_021_016_VALUE, NULL }; static const FieldPart *I021_016_PARTS[] = { &I021_016_VALUE, NULL }; static const AsterixField I021_016 = { FIXED, 1, 0, 0, &hf_021_016, I021_016_PARTS, { NULL } }; static int hf_021_020; static int hf_021_020_VALUE; static const value_string valstr_021_020_VALUE[] = { { 0, "No ADS-B Emitter Category Information" }, { 1, "Light aircraft <= 15500 lbs" }, { 2, "15500 lbs < small aircraft <75000 lbs" }, { 3, "75000 lbs < medium a/c < 300000 lbs" }, { 4, "High Vortex Large" }, { 5, "300000 lbs <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Cluster obstacle" }, { 24, "Line obstacle" }, { 0, NULL } }; static const FieldPart I021_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_020_VALUE, NULL }; static const FieldPart *I021_020_PARTS[] = { &I021_020_VALUE, NULL }; static const AsterixField I021_020 = { FIXED, 1, 0, 0, &hf_021_020, I021_020_PARTS, { NULL } }; static int hf_021_040; static int hf_021_040_ATP; static const value_string valstr_021_040_ATP[] = { { 0, "24-Bit ICAO address" }, { 1, "Duplicate address" }, { 2, "Surface vehicle address" }, { 3, "Anonymous address" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_040_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_040_ATP, NULL }; static int hf_021_040_ARC; static const value_string valstr_021_040_ARC[] = { { 0, "25 ft" }, { 1, "100 ft" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I021_040_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_040_ARC, NULL }; static int hf_021_040_RC; static const value_string valstr_021_040_RC[] = { { 0, "Default" }, { 1, "Range Check passed, CPR Validation pending" }, { 0, NULL } }; static const FieldPart I021_040_RC = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_RC, NULL }; static int hf_021_040_RAB; static const value_string valstr_021_040_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I021_040_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_RAB, NULL }; static int hf_021_040_DCR; static const value_string valstr_021_040_DCR[] = { { 0, "No differential correction (ADS-B)" }, { 1, "Differential correction (ADS-B)" }, { 0, NULL } }; static const FieldPart I021_040_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_DCR, NULL }; static int hf_021_040_GBS; static const value_string valstr_021_040_GBS[] = { { 0, "Ground Bit not set" }, { 1, "Ground Bit set" }, { 0, NULL } }; static const FieldPart I021_040_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_GBS, NULL }; static int hf_021_040_SIM; static const value_string valstr_021_040_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I021_040_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_SIM, NULL }; static int hf_021_040_TST; static const value_string valstr_021_040_TST[] = { { 0, "Default" }, { 1, "Test Target" }, { 0, NULL } }; static const FieldPart I021_040_TST = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_TST, NULL }; static int hf_021_040_SAA; static const value_string valstr_021_040_SAA[] = { { 0, "Equipment capable to provide Selected Altitude" }, { 1, "Equipment not capable to provide Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_040_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_SAA, NULL }; static int hf_021_040_CL; static const value_string valstr_021_040_CL[] = { { 0, "Report valid" }, { 1, "Report suspect" }, { 2, "No information" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I021_040_CL = { 2, 1.0, FIELD_PART_UINT, &hf_021_040_CL, NULL }; static int hf_021_040_LLC; static const value_string valstr_021_040_LLC[] = { { 0, "Default" }, { 1, "List Lookup failed (see note)" }, { 0, NULL } }; static const FieldPart I021_040_LLC = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_LLC, NULL }; static int hf_021_040_IPC; static const value_string valstr_021_040_IPC[] = { { 0, "Default (see note)" }, { 1, "Independent Position Check failed" }, { 0, NULL } }; static const FieldPart I021_040_IPC = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_IPC, NULL }; static int hf_021_040_NOGO; static const value_string valstr_021_040_NOGO[] = { { 0, "NOGO-bit not set" }, { 1, "NOGO-bit set" }, { 0, NULL } }; static const FieldPart I021_040_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_NOGO, NULL }; static int hf_021_040_CPR; static const value_string valstr_021_040_CPR[] = { { 0, "CPR Validation correct" }, { 1, "CPR Validation failed" }, { 0, NULL } }; static const FieldPart I021_040_CPR = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_CPR, NULL }; static int hf_021_040_LDPJ; static const value_string valstr_021_040_LDPJ[] = { { 0, "LDPJ not detected" }, { 1, "LDPJ detected" }, { 0, NULL } }; static const FieldPart I021_040_LDPJ = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_LDPJ, NULL }; static int hf_021_040_RCF; static const value_string valstr_021_040_RCF[] = { { 0, "Default" }, { 1, "Range Check failed" }, { 0, NULL } }; static const FieldPart I021_040_RCF = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_RCF, NULL }; static int hf_021_040_TBC; static const FieldPart I021_040_TBC = { 7, 1.0, FIELD_PART_HEX, &hf_021_040_TBC, NULL }; static int hf_021_040_MBC; static const FieldPart I021_040_MBC = { 7, 1.0, FIELD_PART_HEX, &hf_021_040_MBC, NULL }; static const FieldPart *I021_040_PARTS[] = { &I021_040_ATP, &I021_040_ARC, &I021_040_RC, &I021_040_RAB, &IXXX_FX, &I021_040_DCR, &I021_040_GBS, &I021_040_SIM, &I021_040_TST, &I021_040_SAA, &I021_040_CL, &IXXX_FX, &IXXX_1bit_spare, &I021_040_LLC, &I021_040_IPC, &I021_040_NOGO, &I021_040_CPR, &I021_040_LDPJ, &I021_040_RCF, &IXXX_FX, &I021_040_TBC, &IXXX_FX, &I021_040_MBC, &IXXX_FX, NULL }; static const AsterixField I021_040 = { FX, 1, 0, 0, &hf_021_040, I021_040_PARTS, { NULL } }; static int hf_021_070; static int hf_021_070_MODE3A; static const FieldPart I021_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_070_MODE3A, NULL }; static const FieldPart *I021_070_PARTS[] = { &IXXX_4bit_spare, &I021_070_MODE3A, NULL }; static const AsterixField I021_070 = { FIXED, 2, 0, 0, &hf_021_070, I021_070_PARTS, { NULL } }; static int hf_021_071; static int hf_021_071_VALUE; static const FieldPart I021_071_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_071_VALUE, NULL }; static const FieldPart *I021_071_PARTS[] = { &I021_071_VALUE, NULL }; static const AsterixField I021_071 = { FIXED, 3, 0, 0, &hf_021_071, I021_071_PARTS, { NULL } }; static int hf_021_072; static int hf_021_072_VALUE; static const FieldPart I021_072_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_072_VALUE, NULL }; static const FieldPart *I021_072_PARTS[] = { &I021_072_VALUE, NULL }; static const AsterixField I021_072 = { FIXED, 3, 0, 0, &hf_021_072, I021_072_PARTS, { NULL } }; static int hf_021_073; static int hf_021_073_VALUE; static const FieldPart I021_073_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_073_VALUE, NULL }; static const FieldPart *I021_073_PARTS[] = { &I021_073_VALUE, NULL }; static const AsterixField I021_073 = { FIXED, 3, 0, 0, &hf_021_073, I021_073_PARTS, { NULL } }; static int hf_021_074; static int hf_021_074_FSI; static const value_string valstr_021_074_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/073) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/073) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/073) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_074_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_074_FSI, NULL }; static int hf_021_074_TOMRP; static const FieldPart I021_074_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_074_TOMRP, NULL }; static const FieldPart *I021_074_PARTS[] = { &I021_074_FSI, &I021_074_TOMRP, NULL }; static const AsterixField I021_074 = { FIXED, 4, 0, 0, &hf_021_074, I021_074_PARTS, { NULL } }; static int hf_021_075; static int hf_021_075_VALUE; static const FieldPart I021_075_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_075_VALUE, NULL }; static const FieldPart *I021_075_PARTS[] = { &I021_075_VALUE, NULL }; static const AsterixField I021_075 = { FIXED, 3, 0, 0, &hf_021_075, I021_075_PARTS, { NULL } }; static int hf_021_076; static int hf_021_076_FSI; static const value_string valstr_021_076_FSI[] = { { 3, "Reserved" }, { 2, "TOMRp whole seconds = (I021/075) Whole seconds - 1" }, { 1, "TOMRp whole seconds = (I021/075) Whole seconds + 1" }, { 0, "TOMRp whole seconds = (I021/075) Whole seconds" }, { 0, NULL } }; static const FieldPart I021_076_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_076_FSI, NULL }; static int hf_021_076_TOMRP; static const FieldPart I021_076_TOMRP = { 30, 9.313225746154785e-10, FIELD_PART_UFLOAT, &hf_021_076_TOMRP, NULL }; static const FieldPart *I021_076_PARTS[] = { &I021_076_FSI, &I021_076_TOMRP, NULL }; static const AsterixField I021_076 = { FIXED, 4, 0, 0, &hf_021_076, I021_076_PARTS, { NULL } }; static int hf_021_077; static int hf_021_077_VALUE; static const FieldPart I021_077_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_021_077_VALUE, NULL }; static const FieldPart *I021_077_PARTS[] = { &I021_077_VALUE, NULL }; static const AsterixField I021_077 = { FIXED, 3, 0, 0, &hf_021_077, I021_077_PARTS, { NULL } }; static int hf_021_080; static int hf_021_080_VALUE; static const FieldPart I021_080_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_021_080_VALUE, NULL }; static const FieldPart *I021_080_PARTS[] = { &I021_080_VALUE, NULL }; static const AsterixField I021_080 = { FIXED, 3, 0, 0, &hf_021_080, I021_080_PARTS, { NULL } }; static int hf_021_090; static int hf_021_090_NUCRNACV; static const FieldPart I021_090_NUCRNACV = { 3, 1.0, FIELD_PART_HEX, &hf_021_090_NUCRNACV, NULL }; static int hf_021_090_NUCPNIC; static const FieldPart I021_090_NUCPNIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_090_NUCPNIC, NULL }; static int hf_021_090_NICBARO; static const FieldPart I021_090_NICBARO = { 1, 1.0, FIELD_PART_HEX, &hf_021_090_NICBARO, NULL }; static int hf_021_090_SIL; static const FieldPart I021_090_SIL = { 2, 1.0, FIELD_PART_HEX, &hf_021_090_SIL, NULL }; static int hf_021_090_NACP; static const FieldPart I021_090_NACP = { 4, 1.0, FIELD_PART_HEX, &hf_021_090_NACP, NULL }; static int hf_021_090_SILS; static const value_string valstr_021_090_SILS[] = { { 0, "Measured per flight-hour" }, { 1, "Measured per sample" }, { 0, NULL } }; static const FieldPart I021_090_SILS = { 1, 1.0, FIELD_PART_UINT, &hf_021_090_SILS, NULL }; static int hf_021_090_SDA; static const FieldPart I021_090_SDA = { 2, 1.0, FIELD_PART_HEX, &hf_021_090_SDA, NULL }; static int hf_021_090_GVA; static const FieldPart I021_090_GVA = { 2, 1.0, FIELD_PART_HEX, &hf_021_090_GVA, NULL }; static int hf_021_090_PIC; static const FieldPart I021_090_PIC = { 4, 1.0, FIELD_PART_HEX, &hf_021_090_PIC, NULL }; static const FieldPart *I021_090_PARTS[] = { &I021_090_NUCRNACV, &I021_090_NUCPNIC, &IXXX_FX, &I021_090_NICBARO, &I021_090_SIL, &I021_090_NACP, &IXXX_FX, &IXXX_2bit_spare, &I021_090_SILS, &I021_090_SDA, &I021_090_GVA, &IXXX_FX, &I021_090_PIC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_090 = { FX, 1, 0, 0, &hf_021_090, I021_090_PARTS, { NULL } }; static int hf_021_110; static int hf_021_110_TIS; static int hf_021_110_TIS_NAV; static const value_string valstr_021_110_TIS_NAV[] = { { 0, "Trajectory Intent Data is available for this aircraft" }, { 1, "Trajectory Intent Data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I021_110_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_TIS_NAV, NULL }; static int hf_021_110_TIS_NVB; static const value_string valstr_021_110_TIS_NVB[] = { { 0, "Trajectory Intent Data is valid" }, { 1, "Trajectory Intent Data is not valid" }, { 0, NULL } }; static const FieldPart I021_110_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_TIS_NVB, NULL }; static const FieldPart *I021_110_TIS_PARTS[] = { &I021_110_TIS_NAV, &I021_110_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_110_TIS = { FX, 1, 0, 0, &hf_021_110_TIS, I021_110_TIS_PARTS, { NULL } }; static int hf_021_110_TID; static int hf_021_110_TID_TCA; static const value_string valstr_021_110_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I021_110_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_TID_TCA, NULL }; static int hf_021_110_TID_NC; static const value_string valstr_021_110_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I021_110_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_TID_NC, NULL }; static int hf_021_110_TID_TCPN; static const FieldPart I021_110_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_021_110_TID_TCPN, NULL }; static int hf_021_110_TID_ALT; static const FieldPart I021_110_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_110_TID_ALT, NULL }; static int hf_021_110_TID_LAT; static const FieldPart I021_110_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_110_TID_LAT, NULL }; static int hf_021_110_TID_LON; static const FieldPart I021_110_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_110_TID_LON, NULL }; static int hf_021_110_TID_PT; static const value_string valstr_021_110_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I021_110_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_110_TID_PT, NULL }; static int hf_021_110_TID_TD; static const value_string valstr_021_110_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I021_110_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_110_TID_TD, NULL }; static int hf_021_110_TID_TRA; static const value_string valstr_021_110_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I021_110_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_TID_TRA, NULL }; static int hf_021_110_TID_TOA; static const value_string valstr_021_110_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I021_110_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_TID_TOA, NULL }; static int hf_021_110_TID_TOV; static const FieldPart I021_110_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_110_TID_TOV, NULL }; static int hf_021_110_TID_TTR; static const FieldPart I021_110_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_110_TID_TTR, NULL }; static const FieldPart *I021_110_TID_PARTS[] = { &I021_110_TID_TCA, &I021_110_TID_NC, &I021_110_TID_TCPN, &I021_110_TID_ALT, &I021_110_TID_LAT, &I021_110_TID_LON, &I021_110_TID_PT, &I021_110_TID_TD, &I021_110_TID_TRA, &I021_110_TID_TOA, &I021_110_TID_TOV, &I021_110_TID_TTR, NULL }; static const AsterixField I021_110_TID = { REPETITIVE, 15, 1, 0, &hf_021_110_TID, I021_110_TID_PARTS, { NULL } }; static const AsterixField I021_110 = { COMPOUND, 0, 0, 0, &hf_021_110, NULL, { &I021_110_TIS, &I021_110_TID, NULL } }; static int hf_021_130; static int hf_021_130_LAT; static const FieldPart I021_130_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_130_LAT, NULL }; static int hf_021_130_LON; static const FieldPart I021_130_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_021_130_LON, NULL }; static const FieldPart *I021_130_PARTS[] = { &I021_130_LAT, &I021_130_LON, NULL }; static const AsterixField I021_130 = { FIXED, 6, 0, 0, &hf_021_130, I021_130_PARTS, { NULL } }; static int hf_021_131; static int hf_021_131_LAT; static const FieldPart I021_131_LAT = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_131_LAT, NULL }; static int hf_021_131_LON; static const FieldPart I021_131_LON = { 32, 1.6763806343078613e-07, FIELD_PART_FLOAT, &hf_021_131_LON, NULL }; static const FieldPart *I021_131_PARTS[] = { &I021_131_LAT, &I021_131_LON, NULL }; static const AsterixField I021_131 = { FIXED, 8, 0, 0, &hf_021_131, I021_131_PARTS, { NULL } }; static int hf_021_132; static int hf_021_132_VALUE; static const FieldPart I021_132_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_021_132_VALUE, NULL }; static const FieldPart *I021_132_PARTS[] = { &I021_132_VALUE, NULL }; static const AsterixField I021_132 = { FIXED, 1, 0, 0, &hf_021_132, I021_132_PARTS, { NULL } }; static int hf_021_140; static int hf_021_140_VALUE; static const FieldPart I021_140_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_140_VALUE, NULL }; static const FieldPart *I021_140_PARTS[] = { &I021_140_VALUE, NULL }; static const AsterixField I021_140 = { FIXED, 2, 0, 0, &hf_021_140, I021_140_PARTS, { NULL } }; static int hf_021_145; static int hf_021_145_VALUE; static const FieldPart I021_145_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_145_VALUE, NULL }; static const FieldPart *I021_145_PARTS[] = { &I021_145_VALUE, NULL }; static const AsterixField I021_145 = { FIXED, 2, 0, 0, &hf_021_145, I021_145_PARTS, { NULL } }; static int hf_021_146; static int hf_021_146_SAS; static const value_string valstr_021_146_SAS[] = { { 0, "No source information provided" }, { 1, "Source Information provided" }, { 0, NULL } }; static const FieldPart I021_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_146_SAS, NULL }; static int hf_021_146_S; static const value_string valstr_021_146_S[] = { { 0, "Unknown" }, { 1, "Aircraft Altitude (Holding Altitude)" }, { 2, "MCP/FCU Selected Altitude" }, { 3, "FMS Selected Altitude" }, { 0, NULL } }; static const FieldPart I021_146_S = { 2, 1.0, FIELD_PART_UINT, &hf_021_146_S, NULL }; static int hf_021_146_ALT; static const FieldPart I021_146_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_146_ALT, NULL }; static const FieldPart *I021_146_PARTS[] = { &I021_146_SAS, &I021_146_S, &I021_146_ALT, NULL }; static const AsterixField I021_146 = { FIXED, 2, 0, 0, &hf_021_146, I021_146_PARTS, { NULL } }; static int hf_021_148; static int hf_021_148_MV; static const value_string valstr_021_148_MV[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_MV, NULL }; static int hf_021_148_AH; static const value_string valstr_021_148_AH[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_AH, NULL }; static int hf_021_148_AM; static const value_string valstr_021_148_AM[] = { { 0, "Not active or unknown" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I021_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_AM, NULL }; static int hf_021_148_ALT; static const FieldPart I021_148_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_021_148_ALT, NULL }; static const FieldPart *I021_148_PARTS[] = { &I021_148_MV, &I021_148_AH, &I021_148_AM, &I021_148_ALT, NULL }; static const AsterixField I021_148 = { FIXED, 2, 0, 0, &hf_021_148, I021_148_PARTS, { NULL } }; static int hf_021_150; static int hf_021_150_IM; static const value_string valstr_021_150_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2 -14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I021_150_IM = { 1, 1.0, FIELD_PART_UINT, &hf_021_150_IM, NULL }; static int hf_021_150_AS; static const FieldPart I021_150_AS = { 15, 1.0, FIELD_PART_HEX, &hf_021_150_AS, NULL }; static const FieldPart *I021_150_PARTS[] = { &I021_150_IM, &I021_150_AS, NULL }; static const AsterixField I021_150 = { FIXED, 2, 0, 0, &hf_021_150, I021_150_PARTS, { NULL } }; static int hf_021_151; static int hf_021_151_RE; static const value_string valstr_021_151_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_151_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_151_RE, NULL }; static int hf_021_151_TAS; static const FieldPart I021_151_TAS = { 15, 1.0, FIELD_PART_UFLOAT, &hf_021_151_TAS, NULL }; static const FieldPart *I021_151_PARTS[] = { &I021_151_RE, &I021_151_TAS, NULL }; static const AsterixField I021_151 = { FIXED, 2, 0, 0, &hf_021_151, I021_151_PARTS, { NULL } }; static int hf_021_152; static int hf_021_152_VALUE; static const FieldPart I021_152_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_152_VALUE, NULL }; static const FieldPart *I021_152_PARTS[] = { &I021_152_VALUE, NULL }; static const AsterixField I021_152 = { FIXED, 2, 0, 0, &hf_021_152, I021_152_PARTS, { NULL } }; static int hf_021_155; static int hf_021_155_RE; static const value_string valstr_021_155_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_155_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_155_RE, NULL }; static int hf_021_155_BVR; static const FieldPart I021_155_BVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_155_BVR, NULL }; static const FieldPart *I021_155_PARTS[] = { &I021_155_RE, &I021_155_BVR, NULL }; static const AsterixField I021_155 = { FIXED, 2, 0, 0, &hf_021_155, I021_155_PARTS, { NULL } }; static int hf_021_157; static int hf_021_157_RE; static const value_string valstr_021_157_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_157_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_157_RE, NULL }; static int hf_021_157_GVR; static const FieldPart I021_157_GVR = { 15, 6.25, FIELD_PART_FLOAT, &hf_021_157_GVR, NULL }; static const FieldPart *I021_157_PARTS[] = { &I021_157_RE, &I021_157_GVR, NULL }; static const AsterixField I021_157 = { FIXED, 2, 0, 0, &hf_021_157, I021_157_PARTS, { NULL } }; static int hf_021_160; static int hf_021_160_RE; static const value_string valstr_021_160_RE[] = { { 0, "Value in defined range" }, { 1, "Value exceeds defined range" }, { 0, NULL } }; static const FieldPart I021_160_RE = { 1, 1.0, FIELD_PART_UINT, &hf_021_160_RE, NULL }; static int hf_021_160_GS; static const FieldPart I021_160_GS = { 15, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_021_160_GS, NULL }; static int hf_021_160_TA; static const FieldPart I021_160_TA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_021_160_TA, NULL }; static const FieldPart *I021_160_PARTS[] = { &I021_160_RE, &I021_160_GS, &I021_160_TA, NULL }; static const AsterixField I021_160 = { FIXED, 4, 0, 0, &hf_021_160, I021_160_PARTS, { NULL } }; static int hf_021_161; static int hf_021_161_TRNUM; static const FieldPart I021_161_TRNUM = { 12, 1.0, FIELD_PART_HEX, &hf_021_161_TRNUM, NULL }; static const FieldPart *I021_161_PARTS[] = { &IXXX_4bit_spare, &I021_161_TRNUM, NULL }; static const AsterixField I021_161 = { FIXED, 2, 0, 0, &hf_021_161, I021_161_PARTS, { NULL } }; static int hf_021_165; static int hf_021_165_TAR; static const FieldPart I021_165_TAR = { 10, 0.03125, FIELD_PART_FLOAT, &hf_021_165_TAR, NULL }; static const FieldPart *I021_165_PARTS[] = { &IXXX_6bit_spare, &I021_165_TAR, NULL }; static const AsterixField I021_165 = { FIXED, 2, 0, 0, &hf_021_165, I021_165_PARTS, { NULL } }; static int hf_021_170; static int hf_021_170_VALUE; static const FieldPart I021_170_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_021_170_VALUE, NULL }; static const FieldPart *I021_170_PARTS[] = { &I021_170_VALUE, NULL }; static const AsterixField I021_170 = { FIXED, 6, 0, 0, &hf_021_170, I021_170_PARTS, { NULL } }; static int hf_021_200; static int hf_021_200_ICF; static const value_string valstr_021_200_ICF[] = { { 0, "No intent change active" }, { 1, "Intent change flag raised" }, { 0, NULL } }; static const FieldPart I021_200_ICF = { 1, 1.0, FIELD_PART_UINT, &hf_021_200_ICF, NULL }; static int hf_021_200_LNAV; static const value_string valstr_021_200_LNAV[] = { { 0, "LNAV Mode engaged" }, { 1, "LNAV Mode not engaged" }, { 0, NULL } }; static const FieldPart I021_200_LNAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_200_LNAV, NULL }; static int hf_021_200_ME; static const value_string valstr_021_200_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I021_200_ME = { 1, 1.0, FIELD_PART_UINT, &hf_021_200_ME, NULL }; static int hf_021_200_PS; static const value_string valstr_021_200_PS[] = { { 0, "No emergency / not reported" }, { 1, "General emergency" }, { 2, "Lifeguard / medical emergency" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "DOWNED Aircraft" }, { 0, NULL } }; static const FieldPart I021_200_PS = { 3, 1.0, FIELD_PART_UINT, &hf_021_200_PS, NULL }; static int hf_021_200_SS; static const value_string valstr_021_200_SS[] = { { 0, "No condition reported" }, { 1, "Permanent Alert (Emergency condition)" }, { 2, "Temporary Alert (change in Mode 3/A Code other than emergency)" }, { 3, "SPI set" }, { 0, NULL } }; static const FieldPart I021_200_SS = { 2, 1.0, FIELD_PART_UINT, &hf_021_200_SS, NULL }; static const FieldPart *I021_200_PARTS[] = { &I021_200_ICF, &I021_200_LNAV, &I021_200_ME, &I021_200_PS, &I021_200_SS, NULL }; static const AsterixField I021_200 = { FIXED, 1, 0, 0, &hf_021_200, I021_200_PARTS, { NULL } }; static int hf_021_210; static int hf_021_210_VNS; static const value_string valstr_021_210_VNS[] = { { 0, "The MOPS Version is supported by the GS" }, { 1, "The MOPS Version is not supported by the GS" }, { 0, NULL } }; static const FieldPart I021_210_VNS = { 1, 1.0, FIELD_PART_UINT, &hf_021_210_VNS, NULL }; static int hf_021_210_VN; static const value_string valstr_021_210_VN[] = { { 0, "ED102/DO-260 [Ref. 7]" }, { 1, "DO-260A [Ref. 8]" }, { 2, "ED102A/DO-260B [Ref. 10]" }, { 3, "ED-102B/DO-260C [Ref. 11]" }, { 0, NULL } }; static const FieldPart I021_210_VN = { 3, 1.0, FIELD_PART_UINT, &hf_021_210_VN, NULL }; static int hf_021_210_LTT; static const value_string valstr_021_210_LTT[] = { { 0, "Other" }, { 1, "UAT" }, { 2, "1090 ES" }, { 3, "VDL 4" }, { 4, "Not assigned" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I021_210_LTT = { 3, 1.0, FIELD_PART_UINT, &hf_021_210_LTT, NULL }; static const FieldPart *I021_210_PARTS[] = { &IXXX_1bit_spare, &I021_210_VNS, &I021_210_VN, &I021_210_LTT, NULL }; static const AsterixField I021_210 = { FIXED, 1, 0, 0, &hf_021_210, I021_210_PARTS, { NULL } }; static int hf_021_220; static int hf_021_220_WS; static int hf_021_220_WS_VALUE; static const FieldPart I021_220_WS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_220_WS_VALUE, NULL }; static const FieldPart *I021_220_WS_PARTS[] = { &I021_220_WS_VALUE, NULL }; static const AsterixField I021_220_WS = { FIXED, 2, 0, 0, &hf_021_220_WS, I021_220_WS_PARTS, { NULL } }; static int hf_021_220_WD; static int hf_021_220_WD_VALUE; static const FieldPart I021_220_WD_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_220_WD_VALUE, NULL }; static const FieldPart *I021_220_WD_PARTS[] = { &I021_220_WD_VALUE, NULL }; static const AsterixField I021_220_WD = { FIXED, 2, 0, 0, &hf_021_220_WD, I021_220_WD_PARTS, { NULL } }; static int hf_021_220_TMP; static int hf_021_220_TMP_VALUE; static const FieldPart I021_220_TMP_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_220_TMP_VALUE, NULL }; static const FieldPart *I021_220_TMP_PARTS[] = { &I021_220_TMP_VALUE, NULL }; static const AsterixField I021_220_TMP = { FIXED, 2, 0, 0, &hf_021_220_TMP, I021_220_TMP_PARTS, { NULL } }; static int hf_021_220_TRB; static int hf_021_220_TRB_VALUE; static const FieldPart I021_220_TRB_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_021_220_TRB_VALUE, NULL }; static const FieldPart *I021_220_TRB_PARTS[] = { &I021_220_TRB_VALUE, NULL }; static const AsterixField I021_220_TRB = { FIXED, 1, 0, 0, &hf_021_220_TRB, I021_220_TRB_PARTS, { NULL } }; static const AsterixField I021_220 = { COMPOUND, 0, 0, 0, &hf_021_220, NULL, { &I021_220_WS, &I021_220_WD, &I021_220_TMP, &I021_220_TRB, NULL } }; static int hf_021_230; static int hf_021_230_VALUE; static const FieldPart I021_230_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_230_VALUE, NULL }; static const FieldPart *I021_230_PARTS[] = { &I021_230_VALUE, NULL }; static const AsterixField I021_230 = { FIXED, 2, 0, 0, &hf_021_230, I021_230_PARTS, { NULL } }; static int hf_021_250; static int hf_021_250_VALUE; static const FieldPart I021_250_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_021_250_VALUE, NULL }; static const FieldPart *I021_250_PARTS[] = { &I021_250_VALUE, NULL }; static const AsterixField I021_250 = { REPETITIVE, 8, 1, 0, &hf_021_250, I021_250_PARTS, { NULL } }; static int hf_021_260; static int hf_021_260_TYP; static const FieldPart I021_260_TYP = { 5, 1.0, FIELD_PART_HEX, &hf_021_260_TYP, NULL }; static int hf_021_260_STYP; static const FieldPart I021_260_STYP = { 3, 1.0, FIELD_PART_HEX, &hf_021_260_STYP, NULL }; static int hf_021_260_ARA; static const FieldPart I021_260_ARA = { 14, 1.0, FIELD_PART_HEX, &hf_021_260_ARA, NULL }; static int hf_021_260_RAC; static const FieldPart I021_260_RAC = { 4, 1.0, FIELD_PART_HEX, &hf_021_260_RAC, NULL }; static int hf_021_260_RAT; static const FieldPart I021_260_RAT = { 1, 1.0, FIELD_PART_HEX, &hf_021_260_RAT, NULL }; static int hf_021_260_MTE; static const FieldPart I021_260_MTE = { 1, 1.0, FIELD_PART_HEX, &hf_021_260_MTE, NULL }; static int hf_021_260_TTI; static const FieldPart I021_260_TTI = { 2, 1.0, FIELD_PART_HEX, &hf_021_260_TTI, NULL }; static int hf_021_260_TID; static const FieldPart I021_260_TID = { 26, 1.0, FIELD_PART_HEX, &hf_021_260_TID, NULL }; static const FieldPart *I021_260_PARTS[] = { &I021_260_TYP, &I021_260_STYP, &I021_260_ARA, &I021_260_RAC, &I021_260_RAT, &I021_260_MTE, &I021_260_TTI, &I021_260_TID, NULL }; static const AsterixField I021_260 = { FIXED, 7, 0, 0, &hf_021_260, I021_260_PARTS, { NULL } }; static int hf_021_271; static int hf_021_271_POA; static const value_string valstr_021_271_POA[] = { { 0, "Position transmitted is not ADS-B position reference point" }, { 1, "Position transmitted is the ADS-B position reference point" }, { 0, NULL } }; static const FieldPart I021_271_POA = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_POA, NULL }; static int hf_021_271_CDTIS; static const value_string valstr_021_271_CDTIS[] = { { 0, "CDTI not operational" }, { 1, "CDTI operational" }, { 0, NULL } }; static const FieldPart I021_271_CDTIS = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_CDTIS, NULL }; static int hf_021_271_B2LOW; static const value_string valstr_021_271_B2LOW[] = { { 0, ">= 70 Watts" }, { 1, "< 70 Watts" }, { 0, NULL } }; static const FieldPart I021_271_B2LOW = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_B2LOW, NULL }; static int hf_021_271_RAS; static const value_string valstr_021_271_RAS[] = { { 0, "Aircraft not receiving ATC-services" }, { 1, "Aircraft receiving ATC services" }, { 0, NULL } }; static const FieldPart I021_271_RAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_RAS, NULL }; static int hf_021_271_IDENT; static const value_string valstr_021_271_IDENT[] = { { 0, "IDENT switch not active" }, { 1, "IDENT switch active" }, { 0, NULL } }; static const FieldPart I021_271_IDENT = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_IDENT, NULL }; static int hf_021_271_LW; static const FieldPart I021_271_LW = { 4, 1.0, FIELD_PART_HEX, &hf_021_271_LW, NULL }; static const FieldPart *I021_271_PARTS[] = { &IXXX_2bit_spare, &I021_271_POA, &I021_271_CDTIS, &I021_271_B2LOW, &I021_271_RAS, &I021_271_IDENT, &IXXX_FX, &I021_271_LW, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I021_271 = { FX, 1, 0, 0, &hf_021_271, I021_271_PARTS, { NULL } }; static int hf_021_295; static int hf_021_295_AOS; static int hf_021_295_AOS_VALUE; static const FieldPart I021_295_AOS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_AOS_VALUE, NULL }; static const FieldPart *I021_295_AOS_PARTS[] = { &I021_295_AOS_VALUE, NULL }; static const AsterixField I021_295_AOS = { FIXED, 1, 0, 0, &hf_021_295_AOS, I021_295_AOS_PARTS, { NULL } }; static int hf_021_295_TRD; static int hf_021_295_TRD_VALUE; static const FieldPart I021_295_TRD_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_TRD_VALUE, NULL }; static const FieldPart *I021_295_TRD_PARTS[] = { &I021_295_TRD_VALUE, NULL }; static const AsterixField I021_295_TRD = { FIXED, 1, 0, 0, &hf_021_295_TRD, I021_295_TRD_PARTS, { NULL } }; static int hf_021_295_M3A; static int hf_021_295_M3A_VALUE; static const FieldPart I021_295_M3A_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_M3A_VALUE, NULL }; static const FieldPart *I021_295_M3A_PARTS[] = { &I021_295_M3A_VALUE, NULL }; static const AsterixField I021_295_M3A = { FIXED, 1, 0, 0, &hf_021_295_M3A, I021_295_M3A_PARTS, { NULL } }; static int hf_021_295_QI; static int hf_021_295_QI_VALUE; static const FieldPart I021_295_QI_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_QI_VALUE, NULL }; static const FieldPart *I021_295_QI_PARTS[] = { &I021_295_QI_VALUE, NULL }; static const AsterixField I021_295_QI = { FIXED, 1, 0, 0, &hf_021_295_QI, I021_295_QI_PARTS, { NULL } }; static int hf_021_295_TI1; static int hf_021_295_TI1_VALUE; static const FieldPart I021_295_TI1_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_TI1_VALUE, NULL }; static const FieldPart *I021_295_TI1_PARTS[] = { &I021_295_TI1_VALUE, NULL }; static const AsterixField I021_295_TI1 = { FIXED, 1, 0, 0, &hf_021_295_TI1, I021_295_TI1_PARTS, { NULL } }; static int hf_021_295_MAM; static int hf_021_295_MAM_VALUE; static const FieldPart I021_295_MAM_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_MAM_VALUE, NULL }; static const FieldPart *I021_295_MAM_PARTS[] = { &I021_295_MAM_VALUE, NULL }; static const AsterixField I021_295_MAM = { FIXED, 1, 0, 0, &hf_021_295_MAM, I021_295_MAM_PARTS, { NULL } }; static int hf_021_295_GH; static int hf_021_295_GH_VALUE; static const FieldPart I021_295_GH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_GH_VALUE, NULL }; static const FieldPart *I021_295_GH_PARTS[] = { &I021_295_GH_VALUE, NULL }; static const AsterixField I021_295_GH = { FIXED, 1, 0, 0, &hf_021_295_GH, I021_295_GH_PARTS, { NULL } }; static int hf_021_295_FL; static int hf_021_295_FL_VALUE; static const FieldPart I021_295_FL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_FL_VALUE, NULL }; static const FieldPart *I021_295_FL_PARTS[] = { &I021_295_FL_VALUE, NULL }; static const AsterixField I021_295_FL = { FIXED, 1, 0, 0, &hf_021_295_FL, I021_295_FL_PARTS, { NULL } }; static int hf_021_295_SAL; static int hf_021_295_SAL_VALUE; static const FieldPart I021_295_SAL_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_SAL_VALUE, NULL }; static const FieldPart *I021_295_SAL_PARTS[] = { &I021_295_SAL_VALUE, NULL }; static const AsterixField I021_295_SAL = { FIXED, 1, 0, 0, &hf_021_295_SAL, I021_295_SAL_PARTS, { NULL } }; static int hf_021_295_FSA; static int hf_021_295_FSA_VALUE; static const FieldPart I021_295_FSA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_FSA_VALUE, NULL }; static const FieldPart *I021_295_FSA_PARTS[] = { &I021_295_FSA_VALUE, NULL }; static const AsterixField I021_295_FSA = { FIXED, 1, 0, 0, &hf_021_295_FSA, I021_295_FSA_PARTS, { NULL } }; static int hf_021_295_AS; static int hf_021_295_AS_VALUE; static const FieldPart I021_295_AS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_AS_VALUE, NULL }; static const FieldPart *I021_295_AS_PARTS[] = { &I021_295_AS_VALUE, NULL }; static const AsterixField I021_295_AS = { FIXED, 1, 0, 0, &hf_021_295_AS, I021_295_AS_PARTS, { NULL } }; static int hf_021_295_TAS; static int hf_021_295_TAS_VALUE; static const FieldPart I021_295_TAS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_TAS_VALUE, NULL }; static const FieldPart *I021_295_TAS_PARTS[] = { &I021_295_TAS_VALUE, NULL }; static const AsterixField I021_295_TAS = { FIXED, 1, 0, 0, &hf_021_295_TAS, I021_295_TAS_PARTS, { NULL } }; static int hf_021_295_MH; static int hf_021_295_MH_VALUE; static const FieldPart I021_295_MH_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_MH_VALUE, NULL }; static const FieldPart *I021_295_MH_PARTS[] = { &I021_295_MH_VALUE, NULL }; static const AsterixField I021_295_MH = { FIXED, 1, 0, 0, &hf_021_295_MH, I021_295_MH_PARTS, { NULL } }; static int hf_021_295_BVR; static int hf_021_295_BVR_VALUE; static const FieldPart I021_295_BVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_BVR_VALUE, NULL }; static const FieldPart *I021_295_BVR_PARTS[] = { &I021_295_BVR_VALUE, NULL }; static const AsterixField I021_295_BVR = { FIXED, 1, 0, 0, &hf_021_295_BVR, I021_295_BVR_PARTS, { NULL } }; static int hf_021_295_GVR; static int hf_021_295_GVR_VALUE; static const FieldPart I021_295_GVR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_GVR_VALUE, NULL }; static const FieldPart *I021_295_GVR_PARTS[] = { &I021_295_GVR_VALUE, NULL }; static const AsterixField I021_295_GVR = { FIXED, 1, 0, 0, &hf_021_295_GVR, I021_295_GVR_PARTS, { NULL } }; static int hf_021_295_GV; static int hf_021_295_GV_VALUE; static const FieldPart I021_295_GV_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_GV_VALUE, NULL }; static const FieldPart *I021_295_GV_PARTS[] = { &I021_295_GV_VALUE, NULL }; static const AsterixField I021_295_GV = { FIXED, 1, 0, 0, &hf_021_295_GV, I021_295_GV_PARTS, { NULL } }; static int hf_021_295_TAR; static int hf_021_295_TAR_VALUE; static const FieldPart I021_295_TAR_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_TAR_VALUE, NULL }; static const FieldPart *I021_295_TAR_PARTS[] = { &I021_295_TAR_VALUE, NULL }; static const AsterixField I021_295_TAR = { FIXED, 1, 0, 0, &hf_021_295_TAR, I021_295_TAR_PARTS, { NULL } }; static int hf_021_295_TI2; static int hf_021_295_TI2_VALUE; static const FieldPart I021_295_TI2_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_TI2_VALUE, NULL }; static const FieldPart *I021_295_TI2_PARTS[] = { &I021_295_TI2_VALUE, NULL }; static const AsterixField I021_295_TI2 = { FIXED, 1, 0, 0, &hf_021_295_TI2, I021_295_TI2_PARTS, { NULL } }; static int hf_021_295_TS; static int hf_021_295_TS_VALUE; static const FieldPart I021_295_TS_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_TS_VALUE, NULL }; static const FieldPart *I021_295_TS_PARTS[] = { &I021_295_TS_VALUE, NULL }; static const AsterixField I021_295_TS = { FIXED, 1, 0, 0, &hf_021_295_TS, I021_295_TS_PARTS, { NULL } }; static int hf_021_295_MET; static int hf_021_295_MET_VALUE; static const FieldPart I021_295_MET_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_MET_VALUE, NULL }; static const FieldPart *I021_295_MET_PARTS[] = { &I021_295_MET_VALUE, NULL }; static const AsterixField I021_295_MET = { FIXED, 1, 0, 0, &hf_021_295_MET, I021_295_MET_PARTS, { NULL } }; static int hf_021_295_ROA; static int hf_021_295_ROA_VALUE; static const FieldPart I021_295_ROA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_ROA_VALUE, NULL }; static const FieldPart *I021_295_ROA_PARTS[] = { &I021_295_ROA_VALUE, NULL }; static const AsterixField I021_295_ROA = { FIXED, 1, 0, 0, &hf_021_295_ROA, I021_295_ROA_PARTS, { NULL } }; static int hf_021_295_ARA; static int hf_021_295_ARA_VALUE; static const FieldPart I021_295_ARA_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_ARA_VALUE, NULL }; static const FieldPart *I021_295_ARA_PARTS[] = { &I021_295_ARA_VALUE, NULL }; static const AsterixField I021_295_ARA = { FIXED, 1, 0, 0, &hf_021_295_ARA, I021_295_ARA_PARTS, { NULL } }; static int hf_021_295_SCC; static int hf_021_295_SCC_VALUE; static const FieldPart I021_295_SCC_VALUE = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_SCC_VALUE, NULL }; static const FieldPart *I021_295_SCC_PARTS[] = { &I021_295_SCC_VALUE, NULL }; static const AsterixField I021_295_SCC = { FIXED, 1, 0, 0, &hf_021_295_SCC, I021_295_SCC_PARTS, { NULL } }; static const AsterixField I021_295 = { COMPOUND, 0, 0, 0, &hf_021_295, NULL, { &I021_295_AOS, &I021_295_TRD, &I021_295_M3A, &I021_295_QI, &I021_295_TI1, &I021_295_MAM, &I021_295_GH, &I021_295_FL, &I021_295_SAL, &I021_295_FSA, &I021_295_AS, &I021_295_TAS, &I021_295_MH, &I021_295_BVR, &I021_295_GVR, &I021_295_GV, &I021_295_TAR, &I021_295_TI2, &I021_295_TS, &I021_295_MET, &I021_295_ROA, &I021_295_ARA, &I021_295_SCC, NULL } }; static int hf_021_400; static int hf_021_400_VALUE; static const FieldPart I021_400_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_021_400_VALUE, NULL }; static const FieldPart *I021_400_PARTS[] = { &I021_400_VALUE, NULL }; static const AsterixField I021_400 = { FIXED, 1, 0, 0, &hf_021_400, I021_400_PARTS, { NULL } }; static int hf_021_RE; static const AsterixField I021_RE = { EXP, 0, 0, 1, &hf_021_RE, NULL, { NULL } }; static int hf_021_SP; static const AsterixField I021_SP = { EXP, 0, 0, 1, &hf_021_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I021_V2_6_uap[] = { &I021_V2_6_010, &I021_V2_6_040, &I021_V2_6_161, &I021_V2_6_015, &I021_V2_6_071, &I021_V2_6_130, &I021_V2_6_131, &I021_V2_6_072, &I021_V2_6_150, &I021_V2_6_151, &I021_V2_6_080, &I021_V2_6_073, &I021_V2_6_074, &I021_V2_6_075, &I021_V2_6_076, &I021_V2_6_140, &I021_V2_6_090, &I021_V2_6_210, &I021_V2_6_070, &I021_V2_6_230, &I021_V2_6_145, &I021_V2_6_152, &I021_V2_6_200, &I021_V2_6_155, &I021_V2_6_157, &I021_V2_6_160, &I021_V2_6_165, &I021_V2_6_077, &I021_V2_6_170, &I021_V2_6_020, &I021_V2_6_220, &I021_V2_6_146, &I021_V2_6_148, &I021_V2_6_110, &I021_V2_6_016, &I021_V2_6_008, &I021_V2_6_271, &I021_V2_6_132, &I021_V2_6_250, &I021_V2_6_260, &I021_V2_6_400, &I021_V2_6_295, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_V2_6_RE, &I021_V2_6_SP, NULL }; static const AsterixField **I021_V2_6[] = { I021_V2_6_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I021_uap[] = { &I021_010, &I021_040, &I021_161, &I021_015, &I021_071, &I021_130, &I021_131, &I021_072, &I021_150, &I021_151, &I021_080, &I021_073, &I021_074, &I021_075, &I021_076, &I021_140, &I021_090, &I021_210, &I021_070, &I021_230, &I021_145, &I021_152, &I021_200, &I021_155, &I021_157, &I021_160, &I021_165, &I021_077, &I021_170, &I021_020, &I021_220, &I021_146, &I021_148, &I021_110, &I021_016, &I021_008, &I021_271, &I021_132, &I021_250, &I021_260, &I021_400, &I021_295, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_RE, &I021_SP, NULL }; static const AsterixField **I021[] = { I021_uap, NULL }; DIAG_ON_PEDANTIC /* Category 023, edition 1.2 */ static int hf_023_V1_2_000; static int hf_023_V1_2_000_VALUE; static const value_string valstr_023_V1_2_000_VALUE[] = { { 1, "Ground station status report" }, { 2, "Service status report" }, { 3, "Service statistics report" }, { 0, NULL } }; static const FieldPart I023_V1_2_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_023_V1_2_000_VALUE, NULL }; static const FieldPart *I023_V1_2_000_PARTS[] = { &I023_V1_2_000_VALUE, NULL }; static const AsterixField I023_V1_2_000 = { FIXED, 1, 0, 0, &hf_023_V1_2_000, I023_V1_2_000_PARTS, { NULL } }; static int hf_023_V1_2_010; static int hf_023_V1_2_010_SAC; static const FieldPart I023_V1_2_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_023_V1_2_010_SAC, NULL }; static int hf_023_V1_2_010_SIC; static const FieldPart I023_V1_2_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_023_V1_2_010_SIC, NULL }; static const FieldPart *I023_V1_2_010_PARTS[] = { &I023_V1_2_010_SAC, &I023_V1_2_010_SIC, NULL }; static const AsterixField I023_V1_2_010 = { FIXED, 2, 0, 0, &hf_023_V1_2_010, I023_V1_2_010_PARTS, { NULL } }; static int hf_023_V1_2_015; static int hf_023_V1_2_015_SID; static const FieldPart I023_V1_2_015_SID = { 4, 1.0, FIELD_PART_HEX, &hf_023_V1_2_015_SID, NULL }; static int hf_023_V1_2_015_STYP; static const value_string valstr_023_V1_2_015_STYP[] = { { 1, "ADS-B VDL4" }, { 2, "ADS-B Ext Squitter" }, { 3, "ADS-B UAT" }, { 4, "TIS-B VDL4" }, { 5, "TIS-B Ext Squitter" }, { 6, "TIS-B UAT" }, { 7, "FIS-B VDL4" }, { 8, "GRAS VDL4" }, { 9, "MLT" }, { 0, NULL } }; static const FieldPart I023_V1_2_015_STYP = { 4, 1.0, FIELD_PART_UINT, &hf_023_V1_2_015_STYP, NULL }; static const FieldPart *I023_V1_2_015_PARTS[] = { &I023_V1_2_015_SID, &I023_V1_2_015_STYP, NULL }; static const AsterixField I023_V1_2_015 = { FIXED, 1, 0, 0, &hf_023_V1_2_015, I023_V1_2_015_PARTS, { NULL } }; static int hf_023_V1_2_070; static int hf_023_V1_2_070_VALUE; static const FieldPart I023_V1_2_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_023_V1_2_070_VALUE, NULL }; static const FieldPart *I023_V1_2_070_PARTS[] = { &I023_V1_2_070_VALUE, NULL }; static const AsterixField I023_V1_2_070 = { FIXED, 3, 0, 0, &hf_023_V1_2_070, I023_V1_2_070_PARTS, { NULL } }; static int hf_023_V1_2_100; static int hf_023_V1_2_100_NOGO; static const value_string valstr_023_V1_2_100_NOGO[] = { { 0, "Data is released for operational use" }, { 1, "Data must not be used operationally" }, { 0, NULL } }; static const FieldPart I023_V1_2_100_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_100_NOGO, NULL }; static int hf_023_V1_2_100_ODP; static const value_string valstr_023_V1_2_100_ODP[] = { { 0, "Default, no overload" }, { 1, "Overload in DP" }, { 0, NULL } }; static const FieldPart I023_V1_2_100_ODP = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_100_ODP, NULL }; static int hf_023_V1_2_100_OXT; static const value_string valstr_023_V1_2_100_OXT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I023_V1_2_100_OXT = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_100_OXT, NULL }; static int hf_023_V1_2_100_MSC; static const value_string valstr_023_V1_2_100_MSC[] = { { 0, "Monitoring system not connected or unknown" }, { 1, "Monitoring system connected" }, { 0, NULL } }; static const FieldPart I023_V1_2_100_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_100_MSC, NULL }; static int hf_023_V1_2_100_TSV; static const value_string valstr_023_V1_2_100_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I023_V1_2_100_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_100_TSV, NULL }; static int hf_023_V1_2_100_SPO; static const value_string valstr_023_V1_2_100_SPO[] = { { 0, "No spoofing detected" }, { 1, "Potential spoofing attack" }, { 0, NULL } }; static const FieldPart I023_V1_2_100_SPO = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_100_SPO, NULL }; static int hf_023_V1_2_100_RN; static const value_string valstr_023_V1_2_100_RN[] = { { 0, "Default" }, { 1, "Track numbering has restarted" }, { 0, NULL } }; static const FieldPart I023_V1_2_100_RN = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_100_RN, NULL }; static int hf_023_V1_2_100_GSSP; static const FieldPart I023_V1_2_100_GSSP = { 7, 1.0, FIELD_PART_UFLOAT, &hf_023_V1_2_100_GSSP, NULL }; static const FieldPart *I023_V1_2_100_PARTS[] = { &I023_V1_2_100_NOGO, &I023_V1_2_100_ODP, &I023_V1_2_100_OXT, &I023_V1_2_100_MSC, &I023_V1_2_100_TSV, &I023_V1_2_100_SPO, &I023_V1_2_100_RN, &IXXX_FX, &I023_V1_2_100_GSSP, &IXXX_FX, NULL }; static const AsterixField I023_V1_2_100 = { FX, 1, 0, 0, &hf_023_V1_2_100, I023_V1_2_100_PARTS, { NULL } }; static int hf_023_V1_2_101; static int hf_023_V1_2_101_RP; static const FieldPart I023_V1_2_101_RP = { 8, 0.5, FIELD_PART_UFLOAT, &hf_023_V1_2_101_RP, NULL }; static int hf_023_V1_2_101_SC; static const value_string valstr_023_V1_2_101_SC[] = { { 0, "No information" }, { 1, "NRA class" }, { 2, "Reserved for future use" }, { 3, "Reserved for future use" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I023_V1_2_101_SC = { 3, 1.0, FIELD_PART_UINT, &hf_023_V1_2_101_SC, NULL }; static int hf_023_V1_2_101_SSRP; static const FieldPart I023_V1_2_101_SSRP = { 7, 1.0, FIELD_PART_UFLOAT, &hf_023_V1_2_101_SSRP, NULL }; static const FieldPart *I023_V1_2_101_PARTS[] = { &I023_V1_2_101_RP, &I023_V1_2_101_SC, &IXXX_4bit_spare, &IXXX_FX, &I023_V1_2_101_SSRP, &IXXX_FX, NULL }; static const AsterixField I023_V1_2_101 = { FX, 2, 0, 0, &hf_023_V1_2_101, I023_V1_2_101_PARTS, { NULL } }; static int hf_023_V1_2_110; static int hf_023_V1_2_110_STAT; static const value_string valstr_023_V1_2_110_STAT[] = { { 0, "Unknown" }, { 1, "Failed" }, { 2, "Disabled" }, { 3, "Degraded" }, { 4, "Normal" }, { 5, "Initialisation" }, { 0, NULL } }; static const FieldPart I023_V1_2_110_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_023_V1_2_110_STAT, NULL }; static const FieldPart *I023_V1_2_110_PARTS[] = { &IXXX_4bit_spare, &I023_V1_2_110_STAT, &IXXX_FX, NULL }; static const AsterixField I023_V1_2_110 = { FX, 1, 0, 0, &hf_023_V1_2_110, I023_V1_2_110_PARTS, { NULL } }; static int hf_023_V1_2_120; static int hf_023_V1_2_120_TYPE; static const value_string valstr_023_V1_2_120_TYPE[] = { { 0, "Number of unknown messages received" }, { 1, "Number of too old messages received" }, { 2, "Number of failed message conversions" }, { 3, "Total Number of messages received" }, { 4, "Total Number of messages transmitted" }, { 20, "Number of TIS-B management messages received" }, { 21, "Number of Basic messages received" }, { 22, "Number of High Dynamic messages received" }, { 23, "Number of Full Position messages received" }, { 24, "Number of Basic Ground messages received" }, { 25, "Number of TCP messages received" }, { 26, "Number of UTC time messages received" }, { 27, "Number of Data messages received" }, { 28, "Number of High Resolution messages received" }, { 29, "Number of Aircraft Target Airborne messages received" }, { 30, "Number of Aircraft Target Ground messages received" }, { 31, "Number of Ground Vehicle Target messages received" }, { 32, "Number of 2 slots TCP messages received" }, { 0, NULL } }; static const FieldPart I023_V1_2_120_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_023_V1_2_120_TYPE, NULL }; static int hf_023_V1_2_120_REF; static const value_string valstr_023_V1_2_120_REF[] = { { 0, "From midnight" }, { 1, "From the last report" }, { 0, NULL } }; static const FieldPart I023_V1_2_120_REF = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_2_120_REF, NULL }; static int hf_023_V1_2_120_CV; static const FieldPart I023_V1_2_120_CV = { 32, 1.0, FIELD_PART_HEX, &hf_023_V1_2_120_CV, NULL }; static const FieldPart *I023_V1_2_120_PARTS[] = { &I023_V1_2_120_TYPE, &I023_V1_2_120_REF, &IXXX_7bit_spare, &I023_V1_2_120_CV, NULL }; static const AsterixField I023_V1_2_120 = { REPETITIVE, 6, 1, 0, &hf_023_V1_2_120, I023_V1_2_120_PARTS, { NULL } }; static int hf_023_V1_2_200; static int hf_023_V1_2_200_VALUE; static const FieldPart I023_V1_2_200_VALUE = { 8, 1.0, FIELD_PART_UFLOAT, &hf_023_V1_2_200_VALUE, NULL }; static const FieldPart *I023_V1_2_200_PARTS[] = { &I023_V1_2_200_VALUE, NULL }; static const AsterixField I023_V1_2_200 = { FIXED, 1, 0, 0, &hf_023_V1_2_200, I023_V1_2_200_PARTS, { NULL } }; static int hf_023_V1_2_RE; static const AsterixField I023_V1_2_RE = { EXP, 0, 0, 1, &hf_023_V1_2_RE, NULL, { NULL } }; static int hf_023_V1_2_SP; static const AsterixField I023_V1_2_SP = { EXP, 0, 0, 1, &hf_023_V1_2_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I023_V1_2_uap[] = { &I023_V1_2_010, &I023_V1_2_000, &I023_V1_2_015, &I023_V1_2_070, &I023_V1_2_100, &I023_V1_2_101, &I023_V1_2_200, &I023_V1_2_110, &I023_V1_2_120, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I023_V1_2_RE, &I023_V1_2_SP, NULL }; static const AsterixField **I023_V1_2[] = { I023_V1_2_uap, NULL }; DIAG_ON_PEDANTIC /* Category 023, edition 1.3 */ static int hf_023_V1_3_000; static int hf_023_V1_3_000_VALUE; static const value_string valstr_023_V1_3_000_VALUE[] = { { 1, "Ground station status report" }, { 2, "Service status report" }, { 3, "Service statistics report" }, { 0, NULL } }; static const FieldPart I023_V1_3_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_023_V1_3_000_VALUE, NULL }; static const FieldPart *I023_V1_3_000_PARTS[] = { &I023_V1_3_000_VALUE, NULL }; static const AsterixField I023_V1_3_000 = { FIXED, 1, 0, 0, &hf_023_V1_3_000, I023_V1_3_000_PARTS, { NULL } }; static int hf_023_V1_3_010; static int hf_023_V1_3_010_SAC; static const FieldPart I023_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_023_V1_3_010_SAC, NULL }; static int hf_023_V1_3_010_SIC; static const FieldPart I023_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_023_V1_3_010_SIC, NULL }; static const FieldPart *I023_V1_3_010_PARTS[] = { &I023_V1_3_010_SAC, &I023_V1_3_010_SIC, NULL }; static const AsterixField I023_V1_3_010 = { FIXED, 2, 0, 0, &hf_023_V1_3_010, I023_V1_3_010_PARTS, { NULL } }; static int hf_023_V1_3_015; static int hf_023_V1_3_015_SID; static const FieldPart I023_V1_3_015_SID = { 4, 1.0, FIELD_PART_HEX, &hf_023_V1_3_015_SID, NULL }; static int hf_023_V1_3_015_STYP; static const value_string valstr_023_V1_3_015_STYP[] = { { 1, "ADS-B VDL4" }, { 2, "ADS-B Ext Squitter" }, { 3, "ADS-B UAT" }, { 4, "TIS-B VDL4" }, { 5, "TIS-B Ext Squitter" }, { 6, "TIS-B UAT" }, { 7, "FIS-B VDL4" }, { 8, "GRAS VDL4" }, { 9, "MLT" }, { 0, NULL } }; static const FieldPart I023_V1_3_015_STYP = { 4, 1.0, FIELD_PART_UINT, &hf_023_V1_3_015_STYP, NULL }; static const FieldPart *I023_V1_3_015_PARTS[] = { &I023_V1_3_015_SID, &I023_V1_3_015_STYP, NULL }; static const AsterixField I023_V1_3_015 = { FIXED, 1, 0, 0, &hf_023_V1_3_015, I023_V1_3_015_PARTS, { NULL } }; static int hf_023_V1_3_070; static int hf_023_V1_3_070_VALUE; static const FieldPart I023_V1_3_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_023_V1_3_070_VALUE, NULL }; static const FieldPart *I023_V1_3_070_PARTS[] = { &I023_V1_3_070_VALUE, NULL }; static const AsterixField I023_V1_3_070 = { FIXED, 3, 0, 0, &hf_023_V1_3_070, I023_V1_3_070_PARTS, { NULL } }; static int hf_023_V1_3_100; static int hf_023_V1_3_100_NOGO; static const value_string valstr_023_V1_3_100_NOGO[] = { { 0, "Data is released for operational use" }, { 1, "Data must not be used operationally" }, { 0, NULL } }; static const FieldPart I023_V1_3_100_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_100_NOGO, NULL }; static int hf_023_V1_3_100_ODP; static const value_string valstr_023_V1_3_100_ODP[] = { { 0, "Default, no overload" }, { 1, "Overload in DP" }, { 0, NULL } }; static const FieldPart I023_V1_3_100_ODP = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_100_ODP, NULL }; static int hf_023_V1_3_100_OXT; static const value_string valstr_023_V1_3_100_OXT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I023_V1_3_100_OXT = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_100_OXT, NULL }; static int hf_023_V1_3_100_MSC; static const value_string valstr_023_V1_3_100_MSC[] = { { 0, "Monitoring system not connected or unknown" }, { 1, "Monitoring system connected" }, { 0, NULL } }; static const FieldPart I023_V1_3_100_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_100_MSC, NULL }; static int hf_023_V1_3_100_TSV; static const value_string valstr_023_V1_3_100_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I023_V1_3_100_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_100_TSV, NULL }; static int hf_023_V1_3_100_SPO; static const value_string valstr_023_V1_3_100_SPO[] = { { 0, "No spoofing detected" }, { 1, "Potential spoofing attack" }, { 0, NULL } }; static const FieldPart I023_V1_3_100_SPO = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_100_SPO, NULL }; static int hf_023_V1_3_100_RN; static const value_string valstr_023_V1_3_100_RN[] = { { 0, "Default" }, { 1, "Track numbering has restarted" }, { 0, NULL } }; static const FieldPart I023_V1_3_100_RN = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_100_RN, NULL }; static int hf_023_V1_3_100_GSSP; static const FieldPart I023_V1_3_100_GSSP = { 7, 1.0, FIELD_PART_UFLOAT, &hf_023_V1_3_100_GSSP, NULL }; static const FieldPart *I023_V1_3_100_PARTS[] = { &I023_V1_3_100_NOGO, &I023_V1_3_100_ODP, &I023_V1_3_100_OXT, &I023_V1_3_100_MSC, &I023_V1_3_100_TSV, &I023_V1_3_100_SPO, &I023_V1_3_100_RN, &IXXX_FX, &I023_V1_3_100_GSSP, &IXXX_FX, NULL }; static const AsterixField I023_V1_3_100 = { FX, 1, 0, 0, &hf_023_V1_3_100, I023_V1_3_100_PARTS, { NULL } }; static int hf_023_V1_3_101; static int hf_023_V1_3_101_RP; static const FieldPart I023_V1_3_101_RP = { 8, 0.5, FIELD_PART_UFLOAT, &hf_023_V1_3_101_RP, NULL }; static int hf_023_V1_3_101_SC; static const value_string valstr_023_V1_3_101_SC[] = { { 0, "No information" }, { 1, "NRA class" }, { 2, "Reserved for future use" }, { 3, "Reserved for future use" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I023_V1_3_101_SC = { 3, 1.0, FIELD_PART_UINT, &hf_023_V1_3_101_SC, NULL }; static int hf_023_V1_3_101_SSRP; static const FieldPart I023_V1_3_101_SSRP = { 7, 1.0, FIELD_PART_UFLOAT, &hf_023_V1_3_101_SSRP, NULL }; static const FieldPart *I023_V1_3_101_PARTS[] = { &I023_V1_3_101_RP, &I023_V1_3_101_SC, &IXXX_4bit_spare, &IXXX_FX, &I023_V1_3_101_SSRP, &IXXX_FX, NULL }; static const AsterixField I023_V1_3_101 = { FX, 2, 0, 0, &hf_023_V1_3_101, I023_V1_3_101_PARTS, { NULL } }; static int hf_023_V1_3_110; static int hf_023_V1_3_110_STAT; static const value_string valstr_023_V1_3_110_STAT[] = { { 0, "Unknown" }, { 1, "Failed" }, { 2, "Disabled" }, { 3, "Degraded" }, { 4, "Normal" }, { 5, "Initialisation" }, { 0, NULL } }; static const FieldPart I023_V1_3_110_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_023_V1_3_110_STAT, NULL }; static const FieldPart *I023_V1_3_110_PARTS[] = { &IXXX_4bit_spare, &I023_V1_3_110_STAT, &IXXX_FX, NULL }; static const AsterixField I023_V1_3_110 = { FX, 1, 0, 0, &hf_023_V1_3_110, I023_V1_3_110_PARTS, { NULL } }; static int hf_023_V1_3_120; static int hf_023_V1_3_120_TYPE; static const value_string valstr_023_V1_3_120_TYPE[] = { { 0, "Number of unknown messages received" }, { 1, "Number of too old messages received" }, { 2, "Number of failed message conversions" }, { 3, "Total Number of messages received" }, { 4, "Total Number of messages transmitted" }, { 20, "Number of TIS-B management messages received" }, { 21, "Number of Basic messages received" }, { 22, "Number of High Dynamic messages received" }, { 23, "Number of Full Position messages received" }, { 24, "Number of Basic Ground messages received" }, { 25, "Number of TCP messages received" }, { 26, "Number of UTC time messages received" }, { 27, "Number of Data messages received" }, { 28, "Number of High Resolution messages received" }, { 29, "Number of Aircraft Target Airborne messages received" }, { 30, "Number of Aircraft Target Ground messages received" }, { 31, "Number of Ground Vehicle Target messages received" }, { 32, "Number of 2 slots TCP messages received" }, { 0, NULL } }; static const FieldPart I023_V1_3_120_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_023_V1_3_120_TYPE, NULL }; static int hf_023_V1_3_120_REF; static const value_string valstr_023_V1_3_120_REF[] = { { 0, "From midnight" }, { 1, "From the last report" }, { 0, NULL } }; static const FieldPart I023_V1_3_120_REF = { 1, 1.0, FIELD_PART_UINT, &hf_023_V1_3_120_REF, NULL }; static int hf_023_V1_3_120_CV; static const FieldPart I023_V1_3_120_CV = { 32, 1.0, FIELD_PART_HEX, &hf_023_V1_3_120_CV, NULL }; static const FieldPart *I023_V1_3_120_PARTS[] = { &I023_V1_3_120_TYPE, &I023_V1_3_120_REF, &IXXX_7bit_spare, &I023_V1_3_120_CV, NULL }; static const AsterixField I023_V1_3_120 = { REPETITIVE, 6, 1, 0, &hf_023_V1_3_120, I023_V1_3_120_PARTS, { NULL } }; static int hf_023_V1_3_200; static int hf_023_V1_3_200_VALUE; static const FieldPart I023_V1_3_200_VALUE = { 8, 1.0, FIELD_PART_UFLOAT, &hf_023_V1_3_200_VALUE, NULL }; static const FieldPart *I023_V1_3_200_PARTS[] = { &I023_V1_3_200_VALUE, NULL }; static const AsterixField I023_V1_3_200 = { FIXED, 1, 0, 0, &hf_023_V1_3_200, I023_V1_3_200_PARTS, { NULL } }; static int hf_023_V1_3_RE; static const AsterixField I023_V1_3_RE = { EXP, 0, 0, 1, &hf_023_V1_3_RE, NULL, { NULL } }; static int hf_023_V1_3_SP; static const AsterixField I023_V1_3_SP = { EXP, 0, 0, 1, &hf_023_V1_3_SP, NULL, { NULL } }; /* Category 023, edition 1.3 (latest) */ static int hf_023_000; static int hf_023_000_VALUE; static const value_string valstr_023_000_VALUE[] = { { 1, "Ground station status report" }, { 2, "Service status report" }, { 3, "Service statistics report" }, { 0, NULL } }; static const FieldPart I023_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_023_000_VALUE, NULL }; static const FieldPart *I023_000_PARTS[] = { &I023_000_VALUE, NULL }; static const AsterixField I023_000 = { FIXED, 1, 0, 0, &hf_023_000, I023_000_PARTS, { NULL } }; static int hf_023_010; static int hf_023_010_SAC; static const FieldPart I023_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_023_010_SAC, NULL }; static int hf_023_010_SIC; static const FieldPart I023_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_023_010_SIC, NULL }; static const FieldPart *I023_010_PARTS[] = { &I023_010_SAC, &I023_010_SIC, NULL }; static const AsterixField I023_010 = { FIXED, 2, 0, 0, &hf_023_010, I023_010_PARTS, { NULL } }; static int hf_023_015; static int hf_023_015_SID; static const FieldPart I023_015_SID = { 4, 1.0, FIELD_PART_HEX, &hf_023_015_SID, NULL }; static int hf_023_015_STYP; static const value_string valstr_023_015_STYP[] = { { 1, "ADS-B VDL4" }, { 2, "ADS-B Ext Squitter" }, { 3, "ADS-B UAT" }, { 4, "TIS-B VDL4" }, { 5, "TIS-B Ext Squitter" }, { 6, "TIS-B UAT" }, { 7, "FIS-B VDL4" }, { 8, "GRAS VDL4" }, { 9, "MLT" }, { 0, NULL } }; static const FieldPart I023_015_STYP = { 4, 1.0, FIELD_PART_UINT, &hf_023_015_STYP, NULL }; static const FieldPart *I023_015_PARTS[] = { &I023_015_SID, &I023_015_STYP, NULL }; static const AsterixField I023_015 = { FIXED, 1, 0, 0, &hf_023_015, I023_015_PARTS, { NULL } }; static int hf_023_070; static int hf_023_070_VALUE; static const FieldPart I023_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_023_070_VALUE, NULL }; static const FieldPart *I023_070_PARTS[] = { &I023_070_VALUE, NULL }; static const AsterixField I023_070 = { FIXED, 3, 0, 0, &hf_023_070, I023_070_PARTS, { NULL } }; static int hf_023_100; static int hf_023_100_NOGO; static const value_string valstr_023_100_NOGO[] = { { 0, "Data is released for operational use" }, { 1, "Data must not be used operationally" }, { 0, NULL } }; static const FieldPart I023_100_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_NOGO, NULL }; static int hf_023_100_ODP; static const value_string valstr_023_100_ODP[] = { { 0, "Default, no overload" }, { 1, "Overload in DP" }, { 0, NULL } }; static const FieldPart I023_100_ODP = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_ODP, NULL }; static int hf_023_100_OXT; static const value_string valstr_023_100_OXT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I023_100_OXT = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_OXT, NULL }; static int hf_023_100_MSC; static const value_string valstr_023_100_MSC[] = { { 0, "Monitoring system not connected or unknown" }, { 1, "Monitoring system connected" }, { 0, NULL } }; static const FieldPart I023_100_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_MSC, NULL }; static int hf_023_100_TSV; static const value_string valstr_023_100_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I023_100_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_TSV, NULL }; static int hf_023_100_SPO; static const value_string valstr_023_100_SPO[] = { { 0, "No spoofing detected" }, { 1, "Potential spoofing attack" }, { 0, NULL } }; static const FieldPart I023_100_SPO = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_SPO, NULL }; static int hf_023_100_RN; static const value_string valstr_023_100_RN[] = { { 0, "Default" }, { 1, "Track numbering has restarted" }, { 0, NULL } }; static const FieldPart I023_100_RN = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_RN, NULL }; static int hf_023_100_GSSP; static const FieldPart I023_100_GSSP = { 7, 1.0, FIELD_PART_UFLOAT, &hf_023_100_GSSP, NULL }; static const FieldPart *I023_100_PARTS[] = { &I023_100_NOGO, &I023_100_ODP, &I023_100_OXT, &I023_100_MSC, &I023_100_TSV, &I023_100_SPO, &I023_100_RN, &IXXX_FX, &I023_100_GSSP, &IXXX_FX, NULL }; static const AsterixField I023_100 = { FX, 1, 0, 0, &hf_023_100, I023_100_PARTS, { NULL } }; static int hf_023_101; static int hf_023_101_RP; static const FieldPart I023_101_RP = { 8, 0.5, FIELD_PART_UFLOAT, &hf_023_101_RP, NULL }; static int hf_023_101_SC; static const value_string valstr_023_101_SC[] = { { 0, "No information" }, { 1, "NRA class" }, { 2, "Reserved for future use" }, { 3, "Reserved for future use" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I023_101_SC = { 3, 1.0, FIELD_PART_UINT, &hf_023_101_SC, NULL }; static int hf_023_101_SSRP; static const FieldPart I023_101_SSRP = { 7, 1.0, FIELD_PART_UFLOAT, &hf_023_101_SSRP, NULL }; static const FieldPart *I023_101_PARTS[] = { &I023_101_RP, &I023_101_SC, &IXXX_4bit_spare, &IXXX_FX, &I023_101_SSRP, &IXXX_FX, NULL }; static const AsterixField I023_101 = { FX, 2, 0, 0, &hf_023_101, I023_101_PARTS, { NULL } }; static int hf_023_110; static int hf_023_110_STAT; static const value_string valstr_023_110_STAT[] = { { 0, "Unknown" }, { 1, "Failed" }, { 2, "Disabled" }, { 3, "Degraded" }, { 4, "Normal" }, { 5, "Initialisation" }, { 0, NULL } }; static const FieldPart I023_110_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_023_110_STAT, NULL }; static const FieldPart *I023_110_PARTS[] = { &IXXX_4bit_spare, &I023_110_STAT, &IXXX_FX, NULL }; static const AsterixField I023_110 = { FX, 1, 0, 0, &hf_023_110, I023_110_PARTS, { NULL } }; static int hf_023_120; static int hf_023_120_TYPE; static const value_string valstr_023_120_TYPE[] = { { 0, "Number of unknown messages received" }, { 1, "Number of too old messages received" }, { 2, "Number of failed message conversions" }, { 3, "Total Number of messages received" }, { 4, "Total Number of messages transmitted" }, { 20, "Number of TIS-B management messages received" }, { 21, "Number of Basic messages received" }, { 22, "Number of High Dynamic messages received" }, { 23, "Number of Full Position messages received" }, { 24, "Number of Basic Ground messages received" }, { 25, "Number of TCP messages received" }, { 26, "Number of UTC time messages received" }, { 27, "Number of Data messages received" }, { 28, "Number of High Resolution messages received" }, { 29, "Number of Aircraft Target Airborne messages received" }, { 30, "Number of Aircraft Target Ground messages received" }, { 31, "Number of Ground Vehicle Target messages received" }, { 32, "Number of 2 slots TCP messages received" }, { 0, NULL } }; static const FieldPart I023_120_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_023_120_TYPE, NULL }; static int hf_023_120_REF; static const value_string valstr_023_120_REF[] = { { 0, "From midnight" }, { 1, "From the last report" }, { 0, NULL } }; static const FieldPart I023_120_REF = { 1, 1.0, FIELD_PART_UINT, &hf_023_120_REF, NULL }; static int hf_023_120_CV; static const FieldPart I023_120_CV = { 32, 1.0, FIELD_PART_HEX, &hf_023_120_CV, NULL }; static const FieldPart *I023_120_PARTS[] = { &I023_120_TYPE, &I023_120_REF, &IXXX_7bit_spare, &I023_120_CV, NULL }; static const AsterixField I023_120 = { REPETITIVE, 6, 1, 0, &hf_023_120, I023_120_PARTS, { NULL } }; static int hf_023_200; static int hf_023_200_VALUE; static const FieldPart I023_200_VALUE = { 8, 1.0, FIELD_PART_UFLOAT, &hf_023_200_VALUE, NULL }; static const FieldPart *I023_200_PARTS[] = { &I023_200_VALUE, NULL }; static const AsterixField I023_200 = { FIXED, 1, 0, 0, &hf_023_200, I023_200_PARTS, { NULL } }; static int hf_023_RE; static const AsterixField I023_RE = { EXP, 0, 0, 1, &hf_023_RE, NULL, { NULL } }; static int hf_023_SP; static const AsterixField I023_SP = { EXP, 0, 0, 1, &hf_023_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I023_V1_3_uap[] = { &I023_V1_3_010, &I023_V1_3_000, &I023_V1_3_015, &I023_V1_3_070, &I023_V1_3_100, &I023_V1_3_101, &I023_V1_3_200, &I023_V1_3_110, &I023_V1_3_120, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I023_V1_3_RE, &I023_V1_3_SP, NULL }; static const AsterixField **I023_V1_3[] = { I023_V1_3_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I023_uap[] = { &I023_010, &I023_000, &I023_015, &I023_070, &I023_100, &I023_101, &I023_200, &I023_110, &I023_120, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I023_RE, &I023_SP, NULL }; static const AsterixField **I023[] = { I023_uap, NULL }; DIAG_ON_PEDANTIC /* Category 025, edition 1.5 */ static int hf_025_V1_5_000; static int hf_025_V1_5_000_RTYP; static const FieldPart I025_V1_5_000_RTYP = { 7, 1.0, FIELD_PART_HEX, &hf_025_V1_5_000_RTYP, NULL }; static int hf_025_V1_5_000_RG; static const value_string valstr_025_V1_5_000_RG[] = { { 0, "Periodic Report" }, { 1, "Event Driven Report" }, { 0, NULL } }; static const FieldPart I025_V1_5_000_RG = { 1, 1.0, FIELD_PART_UINT, &hf_025_V1_5_000_RG, NULL }; static const FieldPart *I025_V1_5_000_PARTS[] = { &I025_V1_5_000_RTYP, &I025_V1_5_000_RG, NULL }; static const AsterixField I025_V1_5_000 = { FIXED, 1, 0, 0, &hf_025_V1_5_000, I025_V1_5_000_PARTS, { NULL } }; static int hf_025_V1_5_010; static int hf_025_V1_5_010_SAC; static const FieldPart I025_V1_5_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_025_V1_5_010_SAC, NULL }; static int hf_025_V1_5_010_SIC; static const FieldPart I025_V1_5_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_025_V1_5_010_SIC, NULL }; static const FieldPart *I025_V1_5_010_PARTS[] = { &I025_V1_5_010_SAC, &I025_V1_5_010_SIC, NULL }; static const AsterixField I025_V1_5_010 = { FIXED, 2, 0, 0, &hf_025_V1_5_010, I025_V1_5_010_PARTS, { NULL } }; static int hf_025_V1_5_015; static int hf_025_V1_5_015_VALUE; static const FieldPart I025_V1_5_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_025_V1_5_015_VALUE, NULL }; static const FieldPart *I025_V1_5_015_PARTS[] = { &I025_V1_5_015_VALUE, NULL }; static const AsterixField I025_V1_5_015 = { FIXED, 1, 0, 0, &hf_025_V1_5_015, I025_V1_5_015_PARTS, { NULL } }; static int hf_025_V1_5_020; static int hf_025_V1_5_020_VALUE; static const FieldPart I025_V1_5_020_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_025_V1_5_020_VALUE, NULL }; static const FieldPart *I025_V1_5_020_PARTS[] = { &I025_V1_5_020_VALUE, NULL }; static const AsterixField I025_V1_5_020 = { FIXED, 6, 0, 0, &hf_025_V1_5_020, I025_V1_5_020_PARTS, { NULL } }; static int hf_025_V1_5_070; static int hf_025_V1_5_070_VALUE; static const FieldPart I025_V1_5_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_025_V1_5_070_VALUE, NULL }; static const FieldPart *I025_V1_5_070_PARTS[] = { &I025_V1_5_070_VALUE, NULL }; static const AsterixField I025_V1_5_070 = { FIXED, 3, 0, 0, &hf_025_V1_5_070, I025_V1_5_070_PARTS, { NULL } }; static int hf_025_V1_5_100; static int hf_025_V1_5_100_NOGO; static const value_string valstr_025_V1_5_100_NOGO[] = { { 0, "Data is released for operational use" }, { 1, "Data must not be used operationally" }, { 0, NULL } }; static const FieldPart I025_V1_5_100_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_025_V1_5_100_NOGO, NULL }; static int hf_025_V1_5_100_OPS; static const value_string valstr_025_V1_5_100_OPS[] = { { 0, "Operational" }, { 1, "Operational but in Standby" }, { 2, "Maintenance" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_V1_5_100_OPS = { 2, 1.0, FIELD_PART_UINT, &hf_025_V1_5_100_OPS, NULL }; static int hf_025_V1_5_100_SSTAT; static const value_string valstr_025_V1_5_100_SSTAT[] = { { 0, "Running" }, { 1, "Failed" }, { 2, "Degraded" }, { 3, "Undefined" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 8, "Reserved for future use" }, { 9, "Reserved for future use" }, { 10, "Reserved for future use" }, { 11, "Reserved for future use" }, { 12, "Reserved for future use" }, { 13, "Reserved for future use" }, { 14, "Reserved for future use" }, { 15, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_V1_5_100_SSTAT = { 4, 1.0, FIELD_PART_UINT, &hf_025_V1_5_100_SSTAT, NULL }; static int hf_025_V1_5_100_SYSTAT; static const value_string valstr_025_V1_5_100_SYSTAT[] = { { 0, "Running / OK" }, { 1, "Failed" }, { 2, "Degraded" }, { 3, "Undefined" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_V1_5_100_SYSTAT = { 3, 1.0, FIELD_PART_UINT, &hf_025_V1_5_100_SYSTAT, NULL }; static int hf_025_V1_5_100_SESTAT; static const value_string valstr_025_V1_5_100_SESTAT[] = { { 0, "OK" }, { 1, "Failed" }, { 2, "Degraded" }, { 3, "Undefined" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_V1_5_100_SESTAT = { 3, 1.0, FIELD_PART_UINT, &hf_025_V1_5_100_SESTAT, NULL }; static const FieldPart *I025_V1_5_100_PARTS[] = { &I025_V1_5_100_NOGO, &I025_V1_5_100_OPS, &I025_V1_5_100_SSTAT, &IXXX_FX, &IXXX_1bit_spare, &I025_V1_5_100_SYSTAT, &I025_V1_5_100_SESTAT, &IXXX_FX, NULL }; static const AsterixField I025_V1_5_100 = { FX, 1, 0, 0, &hf_025_V1_5_100, I025_V1_5_100_PARTS, { NULL } }; static int hf_025_V1_5_105; static int hf_025_V1_5_105_VALUE; static const value_string valstr_025_V1_5_105_VALUE[] = { { 0, "No error detected (shall not be sent)" }, { 1, "Error Code Undefined" }, { 2, "Time Source Invalid" }, { 3, "Time Source Coasting" }, { 4, "Track ID numbering has restarted" }, { 5, "Data Processor Overload" }, { 6, "Ground Interface Data Communications Overload" }, { 7, "System stopped by operator" }, { 8, "CBIT failed" }, { 9, "Test Target Failure" }, { 10, "Reserved for allocation by the AMG" }, { 11, "Reserved for allocation by the AMG" }, { 12, "Reserved for allocation by the AMG" }, { 13, "Reserved for allocation by the AMG" }, { 14, "Reserved for allocation by the AMG" }, { 15, "Reserved for allocation by the AMG" }, { 16, "Reserved for allocation by the AMG" }, { 17, "Reserved for allocation by the AMG" }, { 18, "Reserved for allocation by the AMG" }, { 19, "Reserved for allocation by the AMG" }, { 20, "Reserved for allocation by the AMG" }, { 21, "Reserved for allocation by the AMG" }, { 22, "Reserved for allocation by the AMG" }, { 23, "Reserved for allocation by the AMG" }, { 24, "Reserved for allocation by the AMG" }, { 25, "Reserved for allocation by the AMG" }, { 26, "Reserved for allocation by the AMG" }, { 27, "Reserved for allocation by the AMG" }, { 28, "Reserved for allocation by the AMG" }, { 29, "Reserved for allocation by the AMG" }, { 30, "Reserved for allocation by the AMG" }, { 31, "Reserved for allocation by the AMG" }, { 32, "Reserved for allocation by system manufacturers" }, { 33, "Reserved for allocation by system manufacturers" }, { 34, "Reserved for allocation by system manufacturers" }, { 35, "Reserved for allocation by system manufacturers" }, { 36, "Reserved for allocation by system manufacturers" }, { 37, "Reserved for allocation by system manufacturers" }, { 38, "Reserved for allocation by system manufacturers" }, { 39, "Reserved for allocation by system manufacturers" }, { 40, "Reserved for allocation by system manufacturers" }, { 41, "Reserved for allocation by system manufacturers" }, { 42, "Reserved for allocation by system manufacturers" }, { 43, "Reserved for allocation by system manufacturers" }, { 44, "Reserved for allocation by system manufacturers" }, { 45, "Reserved for allocation by system manufacturers" }, { 46, "Reserved for allocation by system manufacturers" }, { 47, "Reserved for allocation by system manufacturers" }, { 48, "Reserved for allocation by system manufacturers" }, { 49, "Reserved for allocation by system manufacturers" }, { 50, "Reserved for allocation by system manufacturers" }, { 51, "Reserved for allocation by system manufacturers" }, { 52, "Reserved for allocation by system manufacturers" }, { 53, "Reserved for allocation by system manufacturers" }, { 54, "Reserved for allocation by system manufacturers" }, { 55, "Reserved for allocation by system manufacturers" }, { 56, "Reserved for allocation by system manufacturers" }, { 57, "Reserved for allocation by system manufacturers" }, { 58, "Reserved for allocation by system manufacturers" }, { 59, "Reserved for allocation by system manufacturers" }, { 60, "Reserved for allocation by system manufacturers" }, { 61, "Reserved for allocation by system manufacturers" }, { 62, "Reserved for allocation by system manufacturers" }, { 63, "Reserved for allocation by system manufacturers" }, { 64, "Reserved for allocation by system manufacturers" }, { 65, "Reserved for allocation by system manufacturers" }, { 66, "Reserved for allocation by system manufacturers" }, { 67, "Reserved for allocation by system manufacturers" }, { 68, "Reserved for allocation by system manufacturers" }, { 69, "Reserved for allocation by system manufacturers" }, { 70, "Reserved for allocation by system manufacturers" }, { 71, "Reserved for allocation by system manufacturers" }, { 72, "Reserved for allocation by system manufacturers" }, { 73, "Reserved for allocation by system manufacturers" }, { 74, "Reserved for allocation by system manufacturers" }, { 75, "Reserved for allocation by system manufacturers" }, { 76, "Reserved for allocation by system manufacturers" }, { 77, "Reserved for allocation by system manufacturers" }, { 78, "Reserved for allocation by system manufacturers" }, { 79, "Reserved for allocation by system manufacturers" }, { 80, "Reserved for allocation by system manufacturers" }, { 81, "Reserved for allocation by system manufacturers" }, { 82, "Reserved for allocation by system manufacturers" }, { 83, "Reserved for allocation by system manufacturers" }, { 84, "Reserved for allocation by system manufacturers" }, { 85, "Reserved for allocation by system manufacturers" }, { 86, "Reserved for allocation by system manufacturers" }, { 87, "Reserved for allocation by system manufacturers" }, { 88, "Reserved for allocation by system manufacturers" }, { 89, "Reserved for allocation by system manufacturers" }, { 90, "Reserved for allocation by system manufacturers" }, { 91, "Reserved for allocation by system manufacturers" }, { 92, "Reserved for allocation by system manufacturers" }, { 93, "Reserved for allocation by system manufacturers" }, { 94, "Reserved for allocation by system manufacturers" }, { 95, "Reserved for allocation by system manufacturers" }, { 96, "Reserved for allocation by system manufacturers" }, { 97, "Reserved for allocation by system manufacturers" }, { 98, "Reserved for allocation by system manufacturers" }, { 99, "Reserved for allocation by system manufacturers" }, { 100, "Reserved for allocation by system manufacturers" }, { 101, "Reserved for allocation by system manufacturers" }, { 102, "Reserved for allocation by system manufacturers" }, { 103, "Reserved for allocation by system manufacturers" }, { 104, "Reserved for allocation by system manufacturers" }, { 105, "Reserved for allocation by system manufacturers" }, { 106, "Reserved for allocation by system manufacturers" }, { 107, "Reserved for allocation by system manufacturers" }, { 108, "Reserved for allocation by system manufacturers" }, { 109, "Reserved for allocation by system manufacturers" }, { 110, "Reserved for allocation by system manufacturers" }, { 111, "Reserved for allocation by system manufacturers" }, { 112, "Reserved for allocation by system manufacturers" }, { 113, "Reserved for allocation by system manufacturers" }, { 114, "Reserved for allocation by system manufacturers" }, { 115, "Reserved for allocation by system manufacturers" }, { 116, "Reserved for allocation by system manufacturers" }, { 117, "Reserved for allocation by system manufacturers" }, { 118, "Reserved for allocation by system manufacturers" }, { 119, "Reserved for allocation by system manufacturers" }, { 120, "Reserved for allocation by system manufacturers" }, { 121, "Reserved for allocation by system manufacturers" }, { 122, "Reserved for allocation by system manufacturers" }, { 123, "Reserved for allocation by system manufacturers" }, { 124, "Reserved for allocation by system manufacturers" }, { 125, "Reserved for allocation by system manufacturers" }, { 126, "Reserved for allocation by system manufacturers" }, { 127, "Reserved for allocation by system manufacturers" }, { 128, "Reserved for allocation by system manufacturers" }, { 129, "Reserved for allocation by system manufacturers" }, { 130, "Reserved for allocation by system manufacturers" }, { 131, "Reserved for allocation by system manufacturers" }, { 132, "Reserved for allocation by system manufacturers" }, { 133, "Reserved for allocation by system manufacturers" }, { 134, "Reserved for allocation by system manufacturers" }, { 135, "Reserved for allocation by system manufacturers" }, { 136, "Reserved for allocation by system manufacturers" }, { 137, "Reserved for allocation by system manufacturers" }, { 138, "Reserved for allocation by system manufacturers" }, { 139, "Reserved for allocation by system manufacturers" }, { 140, "Reserved for allocation by system manufacturers" }, { 141, "Reserved for allocation by system manufacturers" }, { 142, "Reserved for allocation by system manufacturers" }, { 143, "Reserved for allocation by system manufacturers" }, { 144, "Reserved for allocation by system manufacturers" }, { 145, "Reserved for allocation by system manufacturers" }, { 146, "Reserved for allocation by system manufacturers" }, { 147, "Reserved for allocation by system manufacturers" }, { 148, "Reserved for allocation by system manufacturers" }, { 149, "Reserved for allocation by system manufacturers" }, { 150, "Reserved for allocation by system manufacturers" }, { 151, "Reserved for allocation by system manufacturers" }, { 152, "Reserved for allocation by system manufacturers" }, { 153, "Reserved for allocation by system manufacturers" }, { 154, "Reserved for allocation by system manufacturers" }, { 155, "Reserved for allocation by system manufacturers" }, { 156, "Reserved for allocation by system manufacturers" }, { 157, "Reserved for allocation by system manufacturers" }, { 158, "Reserved for allocation by system manufacturers" }, { 159, "Reserved for allocation by system manufacturers" }, { 160, "Reserved for allocation by system manufacturers" }, { 161, "Reserved for allocation by system manufacturers" }, { 162, "Reserved for allocation by system manufacturers" }, { 163, "Reserved for allocation by system manufacturers" }, { 164, "Reserved for allocation by system manufacturers" }, { 165, "Reserved for allocation by system manufacturers" }, { 166, "Reserved for allocation by system manufacturers" }, { 167, "Reserved for allocation by system manufacturers" }, { 168, "Reserved for allocation by system manufacturers" }, { 169, "Reserved for allocation by system manufacturers" }, { 170, "Reserved for allocation by system manufacturers" }, { 171, "Reserved for allocation by system manufacturers" }, { 172, "Reserved for allocation by system manufacturers" }, { 173, "Reserved for allocation by system manufacturers" }, { 174, "Reserved for allocation by system manufacturers" }, { 175, "Reserved for allocation by system manufacturers" }, { 176, "Reserved for allocation by system manufacturers" }, { 177, "Reserved for allocation by system manufacturers" }, { 178, "Reserved for allocation by system manufacturers" }, { 179, "Reserved for allocation by system manufacturers" }, { 180, "Reserved for allocation by system manufacturers" }, { 181, "Reserved for allocation by system manufacturers" }, { 182, "Reserved for allocation by system manufacturers" }, { 183, "Reserved for allocation by system manufacturers" }, { 184, "Reserved for allocation by system manufacturers" }, { 185, "Reserved for allocation by system manufacturers" }, { 186, "Reserved for allocation by system manufacturers" }, { 187, "Reserved for allocation by system manufacturers" }, { 188, "Reserved for allocation by system manufacturers" }, { 189, "Reserved for allocation by system manufacturers" }, { 190, "Reserved for allocation by system manufacturers" }, { 191, "Reserved for allocation by system manufacturers" }, { 192, "Reserved for allocation by system manufacturers" }, { 193, "Reserved for allocation by system manufacturers" }, { 194, "Reserved for allocation by system manufacturers" }, { 195, "Reserved for allocation by system manufacturers" }, { 196, "Reserved for allocation by system manufacturers" }, { 197, "Reserved for allocation by system manufacturers" }, { 198, "Reserved for allocation by system manufacturers" }, { 199, "Reserved for allocation by system manufacturers" }, { 200, "Reserved for allocation by system manufacturers" }, { 201, "Reserved for allocation by system manufacturers" }, { 202, "Reserved for allocation by system manufacturers" }, { 203, "Reserved for allocation by system manufacturers" }, { 204, "Reserved for allocation by system manufacturers" }, { 205, "Reserved for allocation by system manufacturers" }, { 206, "Reserved for allocation by system manufacturers" }, { 207, "Reserved for allocation by system manufacturers" }, { 208, "Reserved for allocation by system manufacturers" }, { 209, "Reserved for allocation by system manufacturers" }, { 210, "Reserved for allocation by system manufacturers" }, { 211, "Reserved for allocation by system manufacturers" }, { 212, "Reserved for allocation by system manufacturers" }, { 213, "Reserved for allocation by system manufacturers" }, { 214, "Reserved for allocation by system manufacturers" }, { 215, "Reserved for allocation by system manufacturers" }, { 216, "Reserved for allocation by system manufacturers" }, { 217, "Reserved for allocation by system manufacturers" }, { 218, "Reserved for allocation by system manufacturers" }, { 219, "Reserved for allocation by system manufacturers" }, { 220, "Reserved for allocation by system manufacturers" }, { 221, "Reserved for allocation by system manufacturers" }, { 222, "Reserved for allocation by system manufacturers" }, { 223, "Reserved for allocation by system manufacturers" }, { 224, "Reserved for allocation by system manufacturers" }, { 225, "Reserved for allocation by system manufacturers" }, { 226, "Reserved for allocation by system manufacturers" }, { 227, "Reserved for allocation by system manufacturers" }, { 228, "Reserved for allocation by system manufacturers" }, { 229, "Reserved for allocation by system manufacturers" }, { 230, "Reserved for allocation by system manufacturers" }, { 231, "Reserved for allocation by system manufacturers" }, { 232, "Reserved for allocation by system manufacturers" }, { 233, "Reserved for allocation by system manufacturers" }, { 234, "Reserved for allocation by system manufacturers" }, { 235, "Reserved for allocation by system manufacturers" }, { 236, "Reserved for allocation by system manufacturers" }, { 237, "Reserved for allocation by system manufacturers" }, { 238, "Reserved for allocation by system manufacturers" }, { 239, "Reserved for allocation by system manufacturers" }, { 240, "Reserved for allocation by system manufacturers" }, { 241, "Reserved for allocation by system manufacturers" }, { 242, "Reserved for allocation by system manufacturers" }, { 243, "Reserved for allocation by system manufacturers" }, { 244, "Reserved for allocation by system manufacturers" }, { 245, "Reserved for allocation by system manufacturers" }, { 246, "Reserved for allocation by system manufacturers" }, { 247, "Reserved for allocation by system manufacturers" }, { 248, "Reserved for allocation by system manufacturers" }, { 249, "Reserved for allocation by system manufacturers" }, { 250, "Reserved for allocation by system manufacturers" }, { 251, "Reserved for allocation by system manufacturers" }, { 252, "Reserved for allocation by system manufacturers" }, { 253, "Reserved for allocation by system manufacturers" }, { 254, "Reserved for allocation by system manufacturers" }, { 255, "Reserved for allocation by system manufacturers" }, { 0, NULL } }; static const FieldPart I025_V1_5_105_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_025_V1_5_105_VALUE, NULL }; static const FieldPart *I025_V1_5_105_PARTS[] = { &I025_V1_5_105_VALUE, NULL }; static const AsterixField I025_V1_5_105 = { REPETITIVE, 1, 1, 0, &hf_025_V1_5_105, I025_V1_5_105_PARTS, { NULL } }; static int hf_025_V1_5_120; static int hf_025_V1_5_120_CID; static const FieldPart I025_V1_5_120_CID = { 16, 1.0, FIELD_PART_HEX, &hf_025_V1_5_120_CID, NULL }; static int hf_025_V1_5_120_ERRC; static const value_string valstr_025_V1_5_120_ERRC[] = { { 0, "No Error Detected" }, { 1, "Error Code Undefined" }, { 2, "Reserved for allocation by the AMG" }, { 3, "Reserved for allocation by the AMG" }, { 4, "Reserved for allocation by the AMG" }, { 5, "Reserved for allocation by the AMG" }, { 6, "Reserved for allocation by the AMG" }, { 7, "Reserved for allocation by the AMG" }, { 8, "Reserved for allocation by the AMG" }, { 9, "Reserved for allocation by the AMG" }, { 10, "Reserved for allocation by the AMG" }, { 11, "Reserved for allocation by the AMG" }, { 12, "Reserved for allocation by the AMG" }, { 13, "Reserved for allocation by the AMG" }, { 14, "Reserved for allocation by the AMG" }, { 15, "Reserved for allocation by the AMG" }, { 16, "Reserved for allocation by system manufacturers" }, { 17, "Reserved for allocation by system manufacturers" }, { 18, "Reserved for allocation by system manufacturers" }, { 19, "Reserved for allocation by system manufacturers" }, { 20, "Reserved for allocation by system manufacturers" }, { 21, "Reserved for allocation by system manufacturers" }, { 22, "Reserved for allocation by system manufacturers" }, { 23, "Reserved for allocation by system manufacturers" }, { 24, "Reserved for allocation by system manufacturers" }, { 25, "Reserved for allocation by system manufacturers" }, { 26, "Reserved for allocation by system manufacturers" }, { 27, "Reserved for allocation by system manufacturers" }, { 28, "Reserved for allocation by system manufacturers" }, { 29, "Reserved for allocation by system manufacturers" }, { 30, "Reserved for allocation by system manufacturers" }, { 31, "Reserved for allocation by system manufacturers" }, { 32, "Reserved for allocation by system manufacturers" }, { 33, "Reserved for allocation by system manufacturers" }, { 34, "Reserved for allocation by system manufacturers" }, { 35, "Reserved for allocation by system manufacturers" }, { 36, "Reserved for allocation by system manufacturers" }, { 37, "Reserved for allocation by system manufacturers" }, { 38, "Reserved for allocation by system manufacturers" }, { 39, "Reserved for allocation by system manufacturers" }, { 40, "Reserved for allocation by system manufacturers" }, { 41, "Reserved for allocation by system manufacturers" }, { 42, "Reserved for allocation by system manufacturers" }, { 43, "Reserved for allocation by system manufacturers" }, { 44, "Reserved for allocation by system manufacturers" }, { 45, "Reserved for allocation by system manufacturers" }, { 46, "Reserved for allocation by system manufacturers" }, { 47, "Reserved for allocation by system manufacturers" }, { 48, "Reserved for allocation by system manufacturers" }, { 49, "Reserved for allocation by system manufacturers" }, { 50, "Reserved for allocation by system manufacturers" }, { 51, "Reserved for allocation by system manufacturers" }, { 52, "Reserved for allocation by system manufacturers" }, { 53, "Reserved for allocation by system manufacturers" }, { 54, "Reserved for allocation by system manufacturers" }, { 55, "Reserved for allocation by system manufacturers" }, { 56, "Reserved for allocation by system manufacturers" }, { 57, "Reserved for allocation by system manufacturers" }, { 58, "Reserved for allocation by system manufacturers" }, { 59, "Reserved for allocation by system manufacturers" }, { 60, "Reserved for allocation by system manufacturers" }, { 61, "Reserved for allocation by system manufacturers" }, { 62, "Reserved for allocation by system manufacturers" }, { 63, "Reserved for allocation by system manufacturers" }, { 0, NULL } }; static const FieldPart I025_V1_5_120_ERRC = { 6, 1.0, FIELD_PART_UINT, &hf_025_V1_5_120_ERRC, NULL }; static int hf_025_V1_5_120_CS; static const value_string valstr_025_V1_5_120_CS[] = { { 0, "Running" }, { 1, "Failed" }, { 2, "Maintenance" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I025_V1_5_120_CS = { 2, 1.0, FIELD_PART_UINT, &hf_025_V1_5_120_CS, NULL }; static const FieldPart *I025_V1_5_120_PARTS[] = { &I025_V1_5_120_CID, &I025_V1_5_120_ERRC, &I025_V1_5_120_CS, NULL }; static const AsterixField I025_V1_5_120 = { REPETITIVE, 3, 1, 0, &hf_025_V1_5_120, I025_V1_5_120_PARTS, { NULL } }; static int hf_025_V1_5_140; static int hf_025_V1_5_140_TYPE; static const value_string valstr_025_V1_5_140_TYPE[] = { { 0, "Number of unknown messages received" }, { 1, "Number of too old messages received" }, { 2, "Number of failed message conversions" }, { 3, "Total Number of messages received" }, { 4, "Total number of messages transmitted" }, { 5, "Reserved for AMG" }, { 6, "Reserved for AMG" }, { 7, "Reserved for AMG" }, { 8, "Reserved for AMG" }, { 9, "Reserved for AMG" }, { 10, "Reserved for AMG" }, { 11, "Reserved for AMG" }, { 12, "Reserved for AMG" }, { 13, "Reserved for AMG" }, { 14, "Reserved for AMG" }, { 15, "Reserved for AMG" }, { 16, "Reserved for AMG" }, { 17, "Reserved for AMG" }, { 18, "Reserved for AMG" }, { 19, "Reserved for AMG" }, { 20, "Implementation specific" }, { 21, "Implementation specific" }, { 22, "Implementation specific" }, { 23, "Implementation specific" }, { 24, "Implementation specific" }, { 25, "Implementation specific" }, { 26, "Implementation specific" }, { 27, "Implementation specific" }, { 28, "Implementation specific" }, { 29, "Implementation specific" }, { 30, "Implementation specific" }, { 31, "Implementation specific" }, { 32, "Implementation specific" }, { 33, "Implementation specific" }, { 34, "Implementation specific" }, { 35, "Implementation specific" }, { 36, "Implementation specific" }, { 37, "Implementation specific" }, { 38, "Implementation specific" }, { 39, "Implementation specific" }, { 40, "Implementation specific" }, { 41, "Implementation specific" }, { 42, "Implementation specific" }, { 43, "Implementation specific" }, { 44, "Implementation specific" }, { 45, "Implementation specific" }, { 46, "Implementation specific" }, { 47, "Implementation specific" }, { 48, "Implementation specific" }, { 49, "Implementation specific" }, { 50, "Implementation specific" }, { 51, "Implementation specific" }, { 52, "Implementation specific" }, { 53, "Implementation specific" }, { 54, "Implementation specific" }, { 55, "Implementation specific" }, { 56, "Implementation specific" }, { 57, "Implementation specific" }, { 58, "Implementation specific" }, { 59, "Implementation specific" }, { 60, "Implementation specific" }, { 61, "Implementation specific" }, { 62, "Implementation specific" }, { 63, "Implementation specific" }, { 64, "Implementation specific" }, { 65, "Implementation specific" }, { 66, "Implementation specific" }, { 67, "Implementation specific" }, { 68, "Implementation specific" }, { 69, "Implementation specific" }, { 70, "Implementation specific" }, { 71, "Implementation specific" }, { 72, "Implementation specific" }, { 73, "Implementation specific" }, { 74, "Implementation specific" }, { 75, "Implementation specific" }, { 76, "Implementation specific" }, { 77, "Implementation specific" }, { 78, "Implementation specific" }, { 79, "Implementation specific" }, { 80, "Implementation specific" }, { 81, "Implementation specific" }, { 82, "Implementation specific" }, { 83, "Implementation specific" }, { 84, "Implementation specific" }, { 85, "Implementation specific" }, { 86, "Implementation specific" }, { 87, "Implementation specific" }, { 88, "Implementation specific" }, { 89, "Implementation specific" }, { 90, "Implementation specific" }, { 91, "Implementation specific" }, { 92, "Implementation specific" }, { 93, "Implementation specific" }, { 94, "Implementation specific" }, { 95, "Implementation specific" }, { 96, "Implementation specific" }, { 97, "Implementation specific" }, { 98, "Implementation specific" }, { 99, "Implementation specific" }, { 100, "Implementation specific" }, { 101, "Implementation specific" }, { 102, "Implementation specific" }, { 103, "Implementation specific" }, { 104, "Implementation specific" }, { 105, "Implementation specific" }, { 106, "Implementation specific" }, { 107, "Implementation specific" }, { 108, "Implementation specific" }, { 109, "Implementation specific" }, { 110, "Implementation specific" }, { 111, "Implementation specific" }, { 112, "Implementation specific" }, { 113, "Implementation specific" }, { 114, "Implementation specific" }, { 115, "Implementation specific" }, { 116, "Implementation specific" }, { 117, "Implementation specific" }, { 118, "Implementation specific" }, { 119, "Implementation specific" }, { 120, "Implementation specific" }, { 121, "Implementation specific" }, { 122, "Implementation specific" }, { 123, "Implementation specific" }, { 124, "Implementation specific" }, { 125, "Implementation specific" }, { 126, "Implementation specific" }, { 127, "Implementation specific" }, { 128, "Implementation specific" }, { 129, "Implementation specific" }, { 130, "Implementation specific" }, { 131, "Implementation specific" }, { 132, "Implementation specific" }, { 133, "Implementation specific" }, { 134, "Implementation specific" }, { 135, "Implementation specific" }, { 136, "Implementation specific" }, { 137, "Implementation specific" }, { 138, "Implementation specific" }, { 139, "Implementation specific" }, { 140, "Implementation specific" }, { 141, "Implementation specific" }, { 142, "Implementation specific" }, { 143, "Implementation specific" }, { 144, "Implementation specific" }, { 145, "Implementation specific" }, { 146, "Implementation specific" }, { 147, "Implementation specific" }, { 148, "Implementation specific" }, { 149, "Implementation specific" }, { 150, "Implementation specific" }, { 151, "Implementation specific" }, { 152, "Implementation specific" }, { 153, "Implementation specific" }, { 154, "Implementation specific" }, { 155, "Implementation specific" }, { 156, "Implementation specific" }, { 157, "Implementation specific" }, { 158, "Implementation specific" }, { 159, "Implementation specific" }, { 160, "Implementation specific" }, { 161, "Implementation specific" }, { 162, "Implementation specific" }, { 163, "Implementation specific" }, { 164, "Implementation specific" }, { 165, "Implementation specific" }, { 166, "Implementation specific" }, { 167, "Implementation specific" }, { 168, "Implementation specific" }, { 169, "Implementation specific" }, { 170, "Implementation specific" }, { 171, "Implementation specific" }, { 172, "Implementation specific" }, { 173, "Implementation specific" }, { 174, "Implementation specific" }, { 175, "Implementation specific" }, { 176, "Implementation specific" }, { 177, "Implementation specific" }, { 178, "Implementation specific" }, { 179, "Implementation specific" }, { 180, "Implementation specific" }, { 181, "Implementation specific" }, { 182, "Implementation specific" }, { 183, "Implementation specific" }, { 184, "Implementation specific" }, { 185, "Implementation specific" }, { 186, "Implementation specific" }, { 187, "Implementation specific" }, { 188, "Implementation specific" }, { 189, "Implementation specific" }, { 190, "Implementation specific" }, { 191, "Implementation specific" }, { 192, "Implementation specific" }, { 193, "Implementation specific" }, { 194, "Implementation specific" }, { 195, "Implementation specific" }, { 196, "Implementation specific" }, { 197, "Implementation specific" }, { 198, "Implementation specific" }, { 199, "Implementation specific" }, { 200, "Implementation specific" }, { 201, "Implementation specific" }, { 202, "Implementation specific" }, { 203, "Implementation specific" }, { 204, "Implementation specific" }, { 205, "Implementation specific" }, { 206, "Implementation specific" }, { 207, "Implementation specific" }, { 208, "Implementation specific" }, { 209, "Implementation specific" }, { 210, "Implementation specific" }, { 211, "Implementation specific" }, { 212, "Implementation specific" }, { 213, "Implementation specific" }, { 214, "Implementation specific" }, { 215, "Implementation specific" }, { 216, "Implementation specific" }, { 217, "Implementation specific" }, { 218, "Implementation specific" }, { 219, "Implementation specific" }, { 220, "Implementation specific" }, { 221, "Implementation specific" }, { 222, "Implementation specific" }, { 223, "Implementation specific" }, { 224, "Implementation specific" }, { 225, "Implementation specific" }, { 226, "Implementation specific" }, { 227, "Implementation specific" }, { 228, "Implementation specific" }, { 229, "Implementation specific" }, { 230, "Implementation specific" }, { 231, "Implementation specific" }, { 232, "Implementation specific" }, { 233, "Implementation specific" }, { 234, "Implementation specific" }, { 235, "Implementation specific" }, { 236, "Implementation specific" }, { 237, "Implementation specific" }, { 238, "Implementation specific" }, { 239, "Implementation specific" }, { 240, "Implementation specific" }, { 241, "Implementation specific" }, { 242, "Implementation specific" }, { 243, "Implementation specific" }, { 244, "Implementation specific" }, { 245, "Implementation specific" }, { 246, "Implementation specific" }, { 247, "Implementation specific" }, { 248, "Implementation specific" }, { 249, "Implementation specific" }, { 250, "Implementation specific" }, { 251, "Implementation specific" }, { 252, "Implementation specific" }, { 253, "Implementation specific" }, { 254, "Implementation specific" }, { 255, "Implementation specific" }, { 0, NULL } }; static const FieldPart I025_V1_5_140_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_025_V1_5_140_TYPE, NULL }; static int hf_025_V1_5_140_REF; static const value_string valstr_025_V1_5_140_REF[] = { { 0, "From UTC midnight" }, { 1, "From the previous report" }, { 0, NULL } }; static const FieldPart I025_V1_5_140_REF = { 1, 1.0, FIELD_PART_UINT, &hf_025_V1_5_140_REF, NULL }; static int hf_025_V1_5_140_COUNT; static const FieldPart I025_V1_5_140_COUNT = { 32, 1.0, FIELD_PART_UINT, &hf_025_V1_5_140_COUNT, NULL }; static const FieldPart *I025_V1_5_140_PARTS[] = { &I025_V1_5_140_TYPE, &I025_V1_5_140_REF, &IXXX_7bit_spare, &I025_V1_5_140_COUNT, NULL }; static const AsterixField I025_V1_5_140 = { REPETITIVE, 6, 1, 0, &hf_025_V1_5_140, I025_V1_5_140_PARTS, { NULL } }; static int hf_025_V1_5_200; static int hf_025_V1_5_200_VALUE; static const FieldPart I025_V1_5_200_VALUE = { 24, 1.0, FIELD_PART_UINT, &hf_025_V1_5_200_VALUE, NULL }; static const FieldPart *I025_V1_5_200_PARTS[] = { &I025_V1_5_200_VALUE, NULL }; static const AsterixField I025_V1_5_200 = { FIXED, 3, 0, 0, &hf_025_V1_5_200, I025_V1_5_200_PARTS, { NULL } }; static int hf_025_V1_5_600; static int hf_025_V1_5_600_LAT; static const FieldPart I025_V1_5_600_LAT = { 32, 4.190951585769653e-08, FIELD_PART_FLOAT, &hf_025_V1_5_600_LAT, NULL }; static int hf_025_V1_5_600_LON; static const FieldPart I025_V1_5_600_LON = { 32, 4.190951585769653e-08, FIELD_PART_FLOAT, &hf_025_V1_5_600_LON, NULL }; static const FieldPart *I025_V1_5_600_PARTS[] = { &I025_V1_5_600_LAT, &I025_V1_5_600_LON, NULL }; static const AsterixField I025_V1_5_600 = { FIXED, 8, 0, 0, &hf_025_V1_5_600, I025_V1_5_600_PARTS, { NULL } }; static int hf_025_V1_5_610; static int hf_025_V1_5_610_VALUE; static const FieldPart I025_V1_5_610_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_025_V1_5_610_VALUE, NULL }; static const FieldPart *I025_V1_5_610_PARTS[] = { &I025_V1_5_610_VALUE, NULL }; static const AsterixField I025_V1_5_610 = { FIXED, 2, 0, 0, &hf_025_V1_5_610, I025_V1_5_610_PARTS, { NULL } }; static int hf_025_V1_5_SP; static const AsterixField I025_V1_5_SP = { EXP, 0, 0, 1, &hf_025_V1_5_SP, NULL, { NULL } }; /* Category 025, edition 1.5 (latest) */ static int hf_025_000; static int hf_025_000_RTYP; static const FieldPart I025_000_RTYP = { 7, 1.0, FIELD_PART_HEX, &hf_025_000_RTYP, NULL }; static int hf_025_000_RG; static const value_string valstr_025_000_RG[] = { { 0, "Periodic Report" }, { 1, "Event Driven Report" }, { 0, NULL } }; static const FieldPart I025_000_RG = { 1, 1.0, FIELD_PART_UINT, &hf_025_000_RG, NULL }; static const FieldPart *I025_000_PARTS[] = { &I025_000_RTYP, &I025_000_RG, NULL }; static const AsterixField I025_000 = { FIXED, 1, 0, 0, &hf_025_000, I025_000_PARTS, { NULL } }; static int hf_025_010; static int hf_025_010_SAC; static const FieldPart I025_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_025_010_SAC, NULL }; static int hf_025_010_SIC; static const FieldPart I025_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_025_010_SIC, NULL }; static const FieldPart *I025_010_PARTS[] = { &I025_010_SAC, &I025_010_SIC, NULL }; static const AsterixField I025_010 = { FIXED, 2, 0, 0, &hf_025_010, I025_010_PARTS, { NULL } }; static int hf_025_015; static int hf_025_015_VALUE; static const FieldPart I025_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_025_015_VALUE, NULL }; static const FieldPart *I025_015_PARTS[] = { &I025_015_VALUE, NULL }; static const AsterixField I025_015 = { FIXED, 1, 0, 0, &hf_025_015, I025_015_PARTS, { NULL } }; static int hf_025_020; static int hf_025_020_VALUE; static const FieldPart I025_020_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_025_020_VALUE, NULL }; static const FieldPart *I025_020_PARTS[] = { &I025_020_VALUE, NULL }; static const AsterixField I025_020 = { FIXED, 6, 0, 0, &hf_025_020, I025_020_PARTS, { NULL } }; static int hf_025_070; static int hf_025_070_VALUE; static const FieldPart I025_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_025_070_VALUE, NULL }; static const FieldPart *I025_070_PARTS[] = { &I025_070_VALUE, NULL }; static const AsterixField I025_070 = { FIXED, 3, 0, 0, &hf_025_070, I025_070_PARTS, { NULL } }; static int hf_025_100; static int hf_025_100_NOGO; static const value_string valstr_025_100_NOGO[] = { { 0, "Data is released for operational use" }, { 1, "Data must not be used operationally" }, { 0, NULL } }; static const FieldPart I025_100_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_025_100_NOGO, NULL }; static int hf_025_100_OPS; static const value_string valstr_025_100_OPS[] = { { 0, "Operational" }, { 1, "Operational but in Standby" }, { 2, "Maintenance" }, { 3, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_100_OPS = { 2, 1.0, FIELD_PART_UINT, &hf_025_100_OPS, NULL }; static int hf_025_100_SSTAT; static const value_string valstr_025_100_SSTAT[] = { { 0, "Running" }, { 1, "Failed" }, { 2, "Degraded" }, { 3, "Undefined" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 8, "Reserved for future use" }, { 9, "Reserved for future use" }, { 10, "Reserved for future use" }, { 11, "Reserved for future use" }, { 12, "Reserved for future use" }, { 13, "Reserved for future use" }, { 14, "Reserved for future use" }, { 15, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_100_SSTAT = { 4, 1.0, FIELD_PART_UINT, &hf_025_100_SSTAT, NULL }; static int hf_025_100_SYSTAT; static const value_string valstr_025_100_SYSTAT[] = { { 0, "Running / OK" }, { 1, "Failed" }, { 2, "Degraded" }, { 3, "Undefined" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_100_SYSTAT = { 3, 1.0, FIELD_PART_UINT, &hf_025_100_SYSTAT, NULL }; static int hf_025_100_SESTAT; static const value_string valstr_025_100_SESTAT[] = { { 0, "OK" }, { 1, "Failed" }, { 2, "Degraded" }, { 3, "Undefined" }, { 4, "Reserved for future use" }, { 5, "Reserved for future use" }, { 6, "Reserved for future use" }, { 7, "Reserved for future use" }, { 0, NULL } }; static const FieldPart I025_100_SESTAT = { 3, 1.0, FIELD_PART_UINT, &hf_025_100_SESTAT, NULL }; static const FieldPart *I025_100_PARTS[] = { &I025_100_NOGO, &I025_100_OPS, &I025_100_SSTAT, &IXXX_FX, &IXXX_1bit_spare, &I025_100_SYSTAT, &I025_100_SESTAT, &IXXX_FX, NULL }; static const AsterixField I025_100 = { FX, 1, 0, 0, &hf_025_100, I025_100_PARTS, { NULL } }; static int hf_025_105; static int hf_025_105_VALUE; static const value_string valstr_025_105_VALUE[] = { { 0, "No error detected (shall not be sent)" }, { 1, "Error Code Undefined" }, { 2, "Time Source Invalid" }, { 3, "Time Source Coasting" }, { 4, "Track ID numbering has restarted" }, { 5, "Data Processor Overload" }, { 6, "Ground Interface Data Communications Overload" }, { 7, "System stopped by operator" }, { 8, "CBIT failed" }, { 9, "Test Target Failure" }, { 10, "Reserved for allocation by the AMG" }, { 11, "Reserved for allocation by the AMG" }, { 12, "Reserved for allocation by the AMG" }, { 13, "Reserved for allocation by the AMG" }, { 14, "Reserved for allocation by the AMG" }, { 15, "Reserved for allocation by the AMG" }, { 16, "Reserved for allocation by the AMG" }, { 17, "Reserved for allocation by the AMG" }, { 18, "Reserved for allocation by the AMG" }, { 19, "Reserved for allocation by the AMG" }, { 20, "Reserved for allocation by the AMG" }, { 21, "Reserved for allocation by the AMG" }, { 22, "Reserved for allocation by the AMG" }, { 23, "Reserved for allocation by the AMG" }, { 24, "Reserved for allocation by the AMG" }, { 25, "Reserved for allocation by the AMG" }, { 26, "Reserved for allocation by the AMG" }, { 27, "Reserved for allocation by the AMG" }, { 28, "Reserved for allocation by the AMG" }, { 29, "Reserved for allocation by the AMG" }, { 30, "Reserved for allocation by the AMG" }, { 31, "Reserved for allocation by the AMG" }, { 32, "Reserved for allocation by system manufacturers" }, { 33, "Reserved for allocation by system manufacturers" }, { 34, "Reserved for allocation by system manufacturers" }, { 35, "Reserved for allocation by system manufacturers" }, { 36, "Reserved for allocation by system manufacturers" }, { 37, "Reserved for allocation by system manufacturers" }, { 38, "Reserved for allocation by system manufacturers" }, { 39, "Reserved for allocation by system manufacturers" }, { 40, "Reserved for allocation by system manufacturers" }, { 41, "Reserved for allocation by system manufacturers" }, { 42, "Reserved for allocation by system manufacturers" }, { 43, "Reserved for allocation by system manufacturers" }, { 44, "Reserved for allocation by system manufacturers" }, { 45, "Reserved for allocation by system manufacturers" }, { 46, "Reserved for allocation by system manufacturers" }, { 47, "Reserved for allocation by system manufacturers" }, { 48, "Reserved for allocation by system manufacturers" }, { 49, "Reserved for allocation by system manufacturers" }, { 50, "Reserved for allocation by system manufacturers" }, { 51, "Reserved for allocation by system manufacturers" }, { 52, "Reserved for allocation by system manufacturers" }, { 53, "Reserved for allocation by system manufacturers" }, { 54, "Reserved for allocation by system manufacturers" }, { 55, "Reserved for allocation by system manufacturers" }, { 56, "Reserved for allocation by system manufacturers" }, { 57, "Reserved for allocation by system manufacturers" }, { 58, "Reserved for allocation by system manufacturers" }, { 59, "Reserved for allocation by system manufacturers" }, { 60, "Reserved for allocation by system manufacturers" }, { 61, "Reserved for allocation by system manufacturers" }, { 62, "Reserved for allocation by system manufacturers" }, { 63, "Reserved for allocation by system manufacturers" }, { 64, "Reserved for allocation by system manufacturers" }, { 65, "Reserved for allocation by system manufacturers" }, { 66, "Reserved for allocation by system manufacturers" }, { 67, "Reserved for allocation by system manufacturers" }, { 68, "Reserved for allocation by system manufacturers" }, { 69, "Reserved for allocation by system manufacturers" }, { 70, "Reserved for allocation by system manufacturers" }, { 71, "Reserved for allocation by system manufacturers" }, { 72, "Reserved for allocation by system manufacturers" }, { 73, "Reserved for allocation by system manufacturers" }, { 74, "Reserved for allocation by system manufacturers" }, { 75, "Reserved for allocation by system manufacturers" }, { 76, "Reserved for allocation by system manufacturers" }, { 77, "Reserved for allocation by system manufacturers" }, { 78, "Reserved for allocation by system manufacturers" }, { 79, "Reserved for allocation by system manufacturers" }, { 80, "Reserved for allocation by system manufacturers" }, { 81, "Reserved for allocation by system manufacturers" }, { 82, "Reserved for allocation by system manufacturers" }, { 83, "Reserved for allocation by system manufacturers" }, { 84, "Reserved for allocation by system manufacturers" }, { 85, "Reserved for allocation by system manufacturers" }, { 86, "Reserved for allocation by system manufacturers" }, { 87, "Reserved for allocation by system manufacturers" }, { 88, "Reserved for allocation by system manufacturers" }, { 89, "Reserved for allocation by system manufacturers" }, { 90, "Reserved for allocation by system manufacturers" }, { 91, "Reserved for allocation by system manufacturers" }, { 92, "Reserved for allocation by system manufacturers" }, { 93, "Reserved for allocation by system manufacturers" }, { 94, "Reserved for allocation by system manufacturers" }, { 95, "Reserved for allocation by system manufacturers" }, { 96, "Reserved for allocation by system manufacturers" }, { 97, "Reserved for allocation by system manufacturers" }, { 98, "Reserved for allocation by system manufacturers" }, { 99, "Reserved for allocation by system manufacturers" }, { 100, "Reserved for allocation by system manufacturers" }, { 101, "Reserved for allocation by system manufacturers" }, { 102, "Reserved for allocation by system manufacturers" }, { 103, "Reserved for allocation by system manufacturers" }, { 104, "Reserved for allocation by system manufacturers" }, { 105, "Reserved for allocation by system manufacturers" }, { 106, "Reserved for allocation by system manufacturers" }, { 107, "Reserved for allocation by system manufacturers" }, { 108, "Reserved for allocation by system manufacturers" }, { 109, "Reserved for allocation by system manufacturers" }, { 110, "Reserved for allocation by system manufacturers" }, { 111, "Reserved for allocation by system manufacturers" }, { 112, "Reserved for allocation by system manufacturers" }, { 113, "Reserved for allocation by system manufacturers" }, { 114, "Reserved for allocation by system manufacturers" }, { 115, "Reserved for allocation by system manufacturers" }, { 116, "Reserved for allocation by system manufacturers" }, { 117, "Reserved for allocation by system manufacturers" }, { 118, "Reserved for allocation by system manufacturers" }, { 119, "Reserved for allocation by system manufacturers" }, { 120, "Reserved for allocation by system manufacturers" }, { 121, "Reserved for allocation by system manufacturers" }, { 122, "Reserved for allocation by system manufacturers" }, { 123, "Reserved for allocation by system manufacturers" }, { 124, "Reserved for allocation by system manufacturers" }, { 125, "Reserved for allocation by system manufacturers" }, { 126, "Reserved for allocation by system manufacturers" }, { 127, "Reserved for allocation by system manufacturers" }, { 128, "Reserved for allocation by system manufacturers" }, { 129, "Reserved for allocation by system manufacturers" }, { 130, "Reserved for allocation by system manufacturers" }, { 131, "Reserved for allocation by system manufacturers" }, { 132, "Reserved for allocation by system manufacturers" }, { 133, "Reserved for allocation by system manufacturers" }, { 134, "Reserved for allocation by system manufacturers" }, { 135, "Reserved for allocation by system manufacturers" }, { 136, "Reserved for allocation by system manufacturers" }, { 137, "Reserved for allocation by system manufacturers" }, { 138, "Reserved for allocation by system manufacturers" }, { 139, "Reserved for allocation by system manufacturers" }, { 140, "Reserved for allocation by system manufacturers" }, { 141, "Reserved for allocation by system manufacturers" }, { 142, "Reserved for allocation by system manufacturers" }, { 143, "Reserved for allocation by system manufacturers" }, { 144, "Reserved for allocation by system manufacturers" }, { 145, "Reserved for allocation by system manufacturers" }, { 146, "Reserved for allocation by system manufacturers" }, { 147, "Reserved for allocation by system manufacturers" }, { 148, "Reserved for allocation by system manufacturers" }, { 149, "Reserved for allocation by system manufacturers" }, { 150, "Reserved for allocation by system manufacturers" }, { 151, "Reserved for allocation by system manufacturers" }, { 152, "Reserved for allocation by system manufacturers" }, { 153, "Reserved for allocation by system manufacturers" }, { 154, "Reserved for allocation by system manufacturers" }, { 155, "Reserved for allocation by system manufacturers" }, { 156, "Reserved for allocation by system manufacturers" }, { 157, "Reserved for allocation by system manufacturers" }, { 158, "Reserved for allocation by system manufacturers" }, { 159, "Reserved for allocation by system manufacturers" }, { 160, "Reserved for allocation by system manufacturers" }, { 161, "Reserved for allocation by system manufacturers" }, { 162, "Reserved for allocation by system manufacturers" }, { 163, "Reserved for allocation by system manufacturers" }, { 164, "Reserved for allocation by system manufacturers" }, { 165, "Reserved for allocation by system manufacturers" }, { 166, "Reserved for allocation by system manufacturers" }, { 167, "Reserved for allocation by system manufacturers" }, { 168, "Reserved for allocation by system manufacturers" }, { 169, "Reserved for allocation by system manufacturers" }, { 170, "Reserved for allocation by system manufacturers" }, { 171, "Reserved for allocation by system manufacturers" }, { 172, "Reserved for allocation by system manufacturers" }, { 173, "Reserved for allocation by system manufacturers" }, { 174, "Reserved for allocation by system manufacturers" }, { 175, "Reserved for allocation by system manufacturers" }, { 176, "Reserved for allocation by system manufacturers" }, { 177, "Reserved for allocation by system manufacturers" }, { 178, "Reserved for allocation by system manufacturers" }, { 179, "Reserved for allocation by system manufacturers" }, { 180, "Reserved for allocation by system manufacturers" }, { 181, "Reserved for allocation by system manufacturers" }, { 182, "Reserved for allocation by system manufacturers" }, { 183, "Reserved for allocation by system manufacturers" }, { 184, "Reserved for allocation by system manufacturers" }, { 185, "Reserved for allocation by system manufacturers" }, { 186, "Reserved for allocation by system manufacturers" }, { 187, "Reserved for allocation by system manufacturers" }, { 188, "Reserved for allocation by system manufacturers" }, { 189, "Reserved for allocation by system manufacturers" }, { 190, "Reserved for allocation by system manufacturers" }, { 191, "Reserved for allocation by system manufacturers" }, { 192, "Reserved for allocation by system manufacturers" }, { 193, "Reserved for allocation by system manufacturers" }, { 194, "Reserved for allocation by system manufacturers" }, { 195, "Reserved for allocation by system manufacturers" }, { 196, "Reserved for allocation by system manufacturers" }, { 197, "Reserved for allocation by system manufacturers" }, { 198, "Reserved for allocation by system manufacturers" }, { 199, "Reserved for allocation by system manufacturers" }, { 200, "Reserved for allocation by system manufacturers" }, { 201, "Reserved for allocation by system manufacturers" }, { 202, "Reserved for allocation by system manufacturers" }, { 203, "Reserved for allocation by system manufacturers" }, { 204, "Reserved for allocation by system manufacturers" }, { 205, "Reserved for allocation by system manufacturers" }, { 206, "Reserved for allocation by system manufacturers" }, { 207, "Reserved for allocation by system manufacturers" }, { 208, "Reserved for allocation by system manufacturers" }, { 209, "Reserved for allocation by system manufacturers" }, { 210, "Reserved for allocation by system manufacturers" }, { 211, "Reserved for allocation by system manufacturers" }, { 212, "Reserved for allocation by system manufacturers" }, { 213, "Reserved for allocation by system manufacturers" }, { 214, "Reserved for allocation by system manufacturers" }, { 215, "Reserved for allocation by system manufacturers" }, { 216, "Reserved for allocation by system manufacturers" }, { 217, "Reserved for allocation by system manufacturers" }, { 218, "Reserved for allocation by system manufacturers" }, { 219, "Reserved for allocation by system manufacturers" }, { 220, "Reserved for allocation by system manufacturers" }, { 221, "Reserved for allocation by system manufacturers" }, { 222, "Reserved for allocation by system manufacturers" }, { 223, "Reserved for allocation by system manufacturers" }, { 224, "Reserved for allocation by system manufacturers" }, { 225, "Reserved for allocation by system manufacturers" }, { 226, "Reserved for allocation by system manufacturers" }, { 227, "Reserved for allocation by system manufacturers" }, { 228, "Reserved for allocation by system manufacturers" }, { 229, "Reserved for allocation by system manufacturers" }, { 230, "Reserved for allocation by system manufacturers" }, { 231, "Reserved for allocation by system manufacturers" }, { 232, "Reserved for allocation by system manufacturers" }, { 233, "Reserved for allocation by system manufacturers" }, { 234, "Reserved for allocation by system manufacturers" }, { 235, "Reserved for allocation by system manufacturers" }, { 236, "Reserved for allocation by system manufacturers" }, { 237, "Reserved for allocation by system manufacturers" }, { 238, "Reserved for allocation by system manufacturers" }, { 239, "Reserved for allocation by system manufacturers" }, { 240, "Reserved for allocation by system manufacturers" }, { 241, "Reserved for allocation by system manufacturers" }, { 242, "Reserved for allocation by system manufacturers" }, { 243, "Reserved for allocation by system manufacturers" }, { 244, "Reserved for allocation by system manufacturers" }, { 245, "Reserved for allocation by system manufacturers" }, { 246, "Reserved for allocation by system manufacturers" }, { 247, "Reserved for allocation by system manufacturers" }, { 248, "Reserved for allocation by system manufacturers" }, { 249, "Reserved for allocation by system manufacturers" }, { 250, "Reserved for allocation by system manufacturers" }, { 251, "Reserved for allocation by system manufacturers" }, { 252, "Reserved for allocation by system manufacturers" }, { 253, "Reserved for allocation by system manufacturers" }, { 254, "Reserved for allocation by system manufacturers" }, { 255, "Reserved for allocation by system manufacturers" }, { 0, NULL } }; static const FieldPart I025_105_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_025_105_VALUE, NULL }; static const FieldPart *I025_105_PARTS[] = { &I025_105_VALUE, NULL }; static const AsterixField I025_105 = { REPETITIVE, 1, 1, 0, &hf_025_105, I025_105_PARTS, { NULL } }; static int hf_025_120; static int hf_025_120_CID; static const FieldPart I025_120_CID = { 16, 1.0, FIELD_PART_HEX, &hf_025_120_CID, NULL }; static int hf_025_120_ERRC; static const value_string valstr_025_120_ERRC[] = { { 0, "No Error Detected" }, { 1, "Error Code Undefined" }, { 2, "Reserved for allocation by the AMG" }, { 3, "Reserved for allocation by the AMG" }, { 4, "Reserved for allocation by the AMG" }, { 5, "Reserved for allocation by the AMG" }, { 6, "Reserved for allocation by the AMG" }, { 7, "Reserved for allocation by the AMG" }, { 8, "Reserved for allocation by the AMG" }, { 9, "Reserved for allocation by the AMG" }, { 10, "Reserved for allocation by the AMG" }, { 11, "Reserved for allocation by the AMG" }, { 12, "Reserved for allocation by the AMG" }, { 13, "Reserved for allocation by the AMG" }, { 14, "Reserved for allocation by the AMG" }, { 15, "Reserved for allocation by the AMG" }, { 16, "Reserved for allocation by system manufacturers" }, { 17, "Reserved for allocation by system manufacturers" }, { 18, "Reserved for allocation by system manufacturers" }, { 19, "Reserved for allocation by system manufacturers" }, { 20, "Reserved for allocation by system manufacturers" }, { 21, "Reserved for allocation by system manufacturers" }, { 22, "Reserved for allocation by system manufacturers" }, { 23, "Reserved for allocation by system manufacturers" }, { 24, "Reserved for allocation by system manufacturers" }, { 25, "Reserved for allocation by system manufacturers" }, { 26, "Reserved for allocation by system manufacturers" }, { 27, "Reserved for allocation by system manufacturers" }, { 28, "Reserved for allocation by system manufacturers" }, { 29, "Reserved for allocation by system manufacturers" }, { 30, "Reserved for allocation by system manufacturers" }, { 31, "Reserved for allocation by system manufacturers" }, { 32, "Reserved for allocation by system manufacturers" }, { 33, "Reserved for allocation by system manufacturers" }, { 34, "Reserved for allocation by system manufacturers" }, { 35, "Reserved for allocation by system manufacturers" }, { 36, "Reserved for allocation by system manufacturers" }, { 37, "Reserved for allocation by system manufacturers" }, { 38, "Reserved for allocation by system manufacturers" }, { 39, "Reserved for allocation by system manufacturers" }, { 40, "Reserved for allocation by system manufacturers" }, { 41, "Reserved for allocation by system manufacturers" }, { 42, "Reserved for allocation by system manufacturers" }, { 43, "Reserved for allocation by system manufacturers" }, { 44, "Reserved for allocation by system manufacturers" }, { 45, "Reserved for allocation by system manufacturers" }, { 46, "Reserved for allocation by system manufacturers" }, { 47, "Reserved for allocation by system manufacturers" }, { 48, "Reserved for allocation by system manufacturers" }, { 49, "Reserved for allocation by system manufacturers" }, { 50, "Reserved for allocation by system manufacturers" }, { 51, "Reserved for allocation by system manufacturers" }, { 52, "Reserved for allocation by system manufacturers" }, { 53, "Reserved for allocation by system manufacturers" }, { 54, "Reserved for allocation by system manufacturers" }, { 55, "Reserved for allocation by system manufacturers" }, { 56, "Reserved for allocation by system manufacturers" }, { 57, "Reserved for allocation by system manufacturers" }, { 58, "Reserved for allocation by system manufacturers" }, { 59, "Reserved for allocation by system manufacturers" }, { 60, "Reserved for allocation by system manufacturers" }, { 61, "Reserved for allocation by system manufacturers" }, { 62, "Reserved for allocation by system manufacturers" }, { 63, "Reserved for allocation by system manufacturers" }, { 0, NULL } }; static const FieldPart I025_120_ERRC = { 6, 1.0, FIELD_PART_UINT, &hf_025_120_ERRC, NULL }; static int hf_025_120_CS; static const value_string valstr_025_120_CS[] = { { 0, "Running" }, { 1, "Failed" }, { 2, "Maintenance" }, { 3, "Reserved" }, { 0, NULL } }; static const FieldPart I025_120_CS = { 2, 1.0, FIELD_PART_UINT, &hf_025_120_CS, NULL }; static const FieldPart *I025_120_PARTS[] = { &I025_120_CID, &I025_120_ERRC, &I025_120_CS, NULL }; static const AsterixField I025_120 = { REPETITIVE, 3, 1, 0, &hf_025_120, I025_120_PARTS, { NULL } }; static int hf_025_140; static int hf_025_140_TYPE; static const value_string valstr_025_140_TYPE[] = { { 0, "Number of unknown messages received" }, { 1, "Number of too old messages received" }, { 2, "Number of failed message conversions" }, { 3, "Total Number of messages received" }, { 4, "Total number of messages transmitted" }, { 5, "Reserved for AMG" }, { 6, "Reserved for AMG" }, { 7, "Reserved for AMG" }, { 8, "Reserved for AMG" }, { 9, "Reserved for AMG" }, { 10, "Reserved for AMG" }, { 11, "Reserved for AMG" }, { 12, "Reserved for AMG" }, { 13, "Reserved for AMG" }, { 14, "Reserved for AMG" }, { 15, "Reserved for AMG" }, { 16, "Reserved for AMG" }, { 17, "Reserved for AMG" }, { 18, "Reserved for AMG" }, { 19, "Reserved for AMG" }, { 20, "Implementation specific" }, { 21, "Implementation specific" }, { 22, "Implementation specific" }, { 23, "Implementation specific" }, { 24, "Implementation specific" }, { 25, "Implementation specific" }, { 26, "Implementation specific" }, { 27, "Implementation specific" }, { 28, "Implementation specific" }, { 29, "Implementation specific" }, { 30, "Implementation specific" }, { 31, "Implementation specific" }, { 32, "Implementation specific" }, { 33, "Implementation specific" }, { 34, "Implementation specific" }, { 35, "Implementation specific" }, { 36, "Implementation specific" }, { 37, "Implementation specific" }, { 38, "Implementation specific" }, { 39, "Implementation specific" }, { 40, "Implementation specific" }, { 41, "Implementation specific" }, { 42, "Implementation specific" }, { 43, "Implementation specific" }, { 44, "Implementation specific" }, { 45, "Implementation specific" }, { 46, "Implementation specific" }, { 47, "Implementation specific" }, { 48, "Implementation specific" }, { 49, "Implementation specific" }, { 50, "Implementation specific" }, { 51, "Implementation specific" }, { 52, "Implementation specific" }, { 53, "Implementation specific" }, { 54, "Implementation specific" }, { 55, "Implementation specific" }, { 56, "Implementation specific" }, { 57, "Implementation specific" }, { 58, "Implementation specific" }, { 59, "Implementation specific" }, { 60, "Implementation specific" }, { 61, "Implementation specific" }, { 62, "Implementation specific" }, { 63, "Implementation specific" }, { 64, "Implementation specific" }, { 65, "Implementation specific" }, { 66, "Implementation specific" }, { 67, "Implementation specific" }, { 68, "Implementation specific" }, { 69, "Implementation specific" }, { 70, "Implementation specific" }, { 71, "Implementation specific" }, { 72, "Implementation specific" }, { 73, "Implementation specific" }, { 74, "Implementation specific" }, { 75, "Implementation specific" }, { 76, "Implementation specific" }, { 77, "Implementation specific" }, { 78, "Implementation specific" }, { 79, "Implementation specific" }, { 80, "Implementation specific" }, { 81, "Implementation specific" }, { 82, "Implementation specific" }, { 83, "Implementation specific" }, { 84, "Implementation specific" }, { 85, "Implementation specific" }, { 86, "Implementation specific" }, { 87, "Implementation specific" }, { 88, "Implementation specific" }, { 89, "Implementation specific" }, { 90, "Implementation specific" }, { 91, "Implementation specific" }, { 92, "Implementation specific" }, { 93, "Implementation specific" }, { 94, "Implementation specific" }, { 95, "Implementation specific" }, { 96, "Implementation specific" }, { 97, "Implementation specific" }, { 98, "Implementation specific" }, { 99, "Implementation specific" }, { 100, "Implementation specific" }, { 101, "Implementation specific" }, { 102, "Implementation specific" }, { 103, "Implementation specific" }, { 104, "Implementation specific" }, { 105, "Implementation specific" }, { 106, "Implementation specific" }, { 107, "Implementation specific" }, { 108, "Implementation specific" }, { 109, "Implementation specific" }, { 110, "Implementation specific" }, { 111, "Implementation specific" }, { 112, "Implementation specific" }, { 113, "Implementation specific" }, { 114, "Implementation specific" }, { 115, "Implementation specific" }, { 116, "Implementation specific" }, { 117, "Implementation specific" }, { 118, "Implementation specific" }, { 119, "Implementation specific" }, { 120, "Implementation specific" }, { 121, "Implementation specific" }, { 122, "Implementation specific" }, { 123, "Implementation specific" }, { 124, "Implementation specific" }, { 125, "Implementation specific" }, { 126, "Implementation specific" }, { 127, "Implementation specific" }, { 128, "Implementation specific" }, { 129, "Implementation specific" }, { 130, "Implementation specific" }, { 131, "Implementation specific" }, { 132, "Implementation specific" }, { 133, "Implementation specific" }, { 134, "Implementation specific" }, { 135, "Implementation specific" }, { 136, "Implementation specific" }, { 137, "Implementation specific" }, { 138, "Implementation specific" }, { 139, "Implementation specific" }, { 140, "Implementation specific" }, { 141, "Implementation specific" }, { 142, "Implementation specific" }, { 143, "Implementation specific" }, { 144, "Implementation specific" }, { 145, "Implementation specific" }, { 146, "Implementation specific" }, { 147, "Implementation specific" }, { 148, "Implementation specific" }, { 149, "Implementation specific" }, { 150, "Implementation specific" }, { 151, "Implementation specific" }, { 152, "Implementation specific" }, { 153, "Implementation specific" }, { 154, "Implementation specific" }, { 155, "Implementation specific" }, { 156, "Implementation specific" }, { 157, "Implementation specific" }, { 158, "Implementation specific" }, { 159, "Implementation specific" }, { 160, "Implementation specific" }, { 161, "Implementation specific" }, { 162, "Implementation specific" }, { 163, "Implementation specific" }, { 164, "Implementation specific" }, { 165, "Implementation specific" }, { 166, "Implementation specific" }, { 167, "Implementation specific" }, { 168, "Implementation specific" }, { 169, "Implementation specific" }, { 170, "Implementation specific" }, { 171, "Implementation specific" }, { 172, "Implementation specific" }, { 173, "Implementation specific" }, { 174, "Implementation specific" }, { 175, "Implementation specific" }, { 176, "Implementation specific" }, { 177, "Implementation specific" }, { 178, "Implementation specific" }, { 179, "Implementation specific" }, { 180, "Implementation specific" }, { 181, "Implementation specific" }, { 182, "Implementation specific" }, { 183, "Implementation specific" }, { 184, "Implementation specific" }, { 185, "Implementation specific" }, { 186, "Implementation specific" }, { 187, "Implementation specific" }, { 188, "Implementation specific" }, { 189, "Implementation specific" }, { 190, "Implementation specific" }, { 191, "Implementation specific" }, { 192, "Implementation specific" }, { 193, "Implementation specific" }, { 194, "Implementation specific" }, { 195, "Implementation specific" }, { 196, "Implementation specific" }, { 197, "Implementation specific" }, { 198, "Implementation specific" }, { 199, "Implementation specific" }, { 200, "Implementation specific" }, { 201, "Implementation specific" }, { 202, "Implementation specific" }, { 203, "Implementation specific" }, { 204, "Implementation specific" }, { 205, "Implementation specific" }, { 206, "Implementation specific" }, { 207, "Implementation specific" }, { 208, "Implementation specific" }, { 209, "Implementation specific" }, { 210, "Implementation specific" }, { 211, "Implementation specific" }, { 212, "Implementation specific" }, { 213, "Implementation specific" }, { 214, "Implementation specific" }, { 215, "Implementation specific" }, { 216, "Implementation specific" }, { 217, "Implementation specific" }, { 218, "Implementation specific" }, { 219, "Implementation specific" }, { 220, "Implementation specific" }, { 221, "Implementation specific" }, { 222, "Implementation specific" }, { 223, "Implementation specific" }, { 224, "Implementation specific" }, { 225, "Implementation specific" }, { 226, "Implementation specific" }, { 227, "Implementation specific" }, { 228, "Implementation specific" }, { 229, "Implementation specific" }, { 230, "Implementation specific" }, { 231, "Implementation specific" }, { 232, "Implementation specific" }, { 233, "Implementation specific" }, { 234, "Implementation specific" }, { 235, "Implementation specific" }, { 236, "Implementation specific" }, { 237, "Implementation specific" }, { 238, "Implementation specific" }, { 239, "Implementation specific" }, { 240, "Implementation specific" }, { 241, "Implementation specific" }, { 242, "Implementation specific" }, { 243, "Implementation specific" }, { 244, "Implementation specific" }, { 245, "Implementation specific" }, { 246, "Implementation specific" }, { 247, "Implementation specific" }, { 248, "Implementation specific" }, { 249, "Implementation specific" }, { 250, "Implementation specific" }, { 251, "Implementation specific" }, { 252, "Implementation specific" }, { 253, "Implementation specific" }, { 254, "Implementation specific" }, { 255, "Implementation specific" }, { 0, NULL } }; static const FieldPart I025_140_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_025_140_TYPE, NULL }; static int hf_025_140_REF; static const value_string valstr_025_140_REF[] = { { 0, "From UTC midnight" }, { 1, "From the previous report" }, { 0, NULL } }; static const FieldPart I025_140_REF = { 1, 1.0, FIELD_PART_UINT, &hf_025_140_REF, NULL }; static int hf_025_140_COUNT; static const FieldPart I025_140_COUNT = { 32, 1.0, FIELD_PART_UINT, &hf_025_140_COUNT, NULL }; static const FieldPart *I025_140_PARTS[] = { &I025_140_TYPE, &I025_140_REF, &IXXX_7bit_spare, &I025_140_COUNT, NULL }; static const AsterixField I025_140 = { REPETITIVE, 6, 1, 0, &hf_025_140, I025_140_PARTS, { NULL } }; static int hf_025_200; static int hf_025_200_VALUE; static const FieldPart I025_200_VALUE = { 24, 1.0, FIELD_PART_UINT, &hf_025_200_VALUE, NULL }; static const FieldPart *I025_200_PARTS[] = { &I025_200_VALUE, NULL }; static const AsterixField I025_200 = { FIXED, 3, 0, 0, &hf_025_200, I025_200_PARTS, { NULL } }; static int hf_025_600; static int hf_025_600_LAT; static const FieldPart I025_600_LAT = { 32, 4.190951585769653e-08, FIELD_PART_FLOAT, &hf_025_600_LAT, NULL }; static int hf_025_600_LON; static const FieldPart I025_600_LON = { 32, 4.190951585769653e-08, FIELD_PART_FLOAT, &hf_025_600_LON, NULL }; static const FieldPart *I025_600_PARTS[] = { &I025_600_LAT, &I025_600_LON, NULL }; static const AsterixField I025_600 = { FIXED, 8, 0, 0, &hf_025_600, I025_600_PARTS, { NULL } }; static int hf_025_610; static int hf_025_610_VALUE; static const FieldPart I025_610_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_025_610_VALUE, NULL }; static const FieldPart *I025_610_PARTS[] = { &I025_610_VALUE, NULL }; static const AsterixField I025_610 = { FIXED, 2, 0, 0, &hf_025_610, I025_610_PARTS, { NULL } }; static int hf_025_SP; static const AsterixField I025_SP = { EXP, 0, 0, 1, &hf_025_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I025_V1_5_uap[] = { &I025_V1_5_010, &I025_V1_5_000, &I025_V1_5_200, &I025_V1_5_015, &I025_V1_5_020, &I025_V1_5_070, &I025_V1_5_100, &I025_V1_5_105, &I025_V1_5_120, &I025_V1_5_140, &I025_V1_5_SP, &I025_V1_5_600, &I025_V1_5_610, NULL }; static const AsterixField **I025_V1_5[] = { I025_V1_5_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I025_uap[] = { &I025_010, &I025_000, &I025_200, &I025_015, &I025_020, &I025_070, &I025_100, &I025_105, &I025_120, &I025_140, &I025_SP, &I025_600, &I025_610, NULL }; static const AsterixField **I025[] = { I025_uap, NULL }; DIAG_ON_PEDANTIC /* Category 032, edition 1.1 */ static int hf_032_V1_1_010; static int hf_032_V1_1_010_SAC; static const FieldPart I032_V1_1_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_032_V1_1_010_SAC, NULL }; static int hf_032_V1_1_010_SIC; static const FieldPart I032_V1_1_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_032_V1_1_010_SIC, NULL }; static const FieldPart *I032_V1_1_010_PARTS[] = { &I032_V1_1_010_SAC, &I032_V1_1_010_SIC, NULL }; static const AsterixField I032_V1_1_010 = { FIXED, 2, 0, 0, &hf_032_V1_1_010, I032_V1_1_010_PARTS, { NULL } }; static int hf_032_V1_1_015; static int hf_032_V1_1_015_VALUE; static const FieldPart I032_V1_1_015_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_032_V1_1_015_VALUE, NULL }; static const FieldPart *I032_V1_1_015_PARTS[] = { &I032_V1_1_015_VALUE, NULL }; static const AsterixField I032_V1_1_015 = { FIXED, 2, 0, 0, &hf_032_V1_1_015, I032_V1_1_015_PARTS, { NULL } }; static int hf_032_V1_1_018; static int hf_032_V1_1_018_SAC; static const FieldPart I032_V1_1_018_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_032_V1_1_018_SAC, NULL }; static int hf_032_V1_1_018_SIC; static const FieldPart I032_V1_1_018_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_032_V1_1_018_SIC, NULL }; static const FieldPart *I032_V1_1_018_PARTS[] = { &I032_V1_1_018_SAC, &I032_V1_1_018_SIC, NULL }; static const AsterixField I032_V1_1_018 = { FIXED, 2, 0, 0, &hf_032_V1_1_018, I032_V1_1_018_PARTS, { NULL } }; static int hf_032_V1_1_020; static int hf_032_V1_1_020_VALUE; static const FieldPart I032_V1_1_020_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_032_V1_1_020_VALUE, NULL }; static const FieldPart *I032_V1_1_020_PARTS[] = { &I032_V1_1_020_VALUE, NULL }; static const AsterixField I032_V1_1_020 = { FIXED, 3, 0, 0, &hf_032_V1_1_020, I032_V1_1_020_PARTS, { NULL } }; static int hf_032_V1_1_035; static int hf_032_V1_1_035_FAMILY; static const value_string valstr_032_V1_1_035_FAMILY[] = { { 1, "Information sent by an FPPS" }, { 0, NULL } }; static const FieldPart I032_V1_1_035_FAMILY = { 4, 1.0, FIELD_PART_UINT, &hf_032_V1_1_035_FAMILY, NULL }; static int hf_032_V1_1_035_NATURE; static const value_string valstr_032_V1_1_035_NATURE[] = { { 1, "Flight Plan to track initial correlation" }, { 2, "Miniplan update" }, { 3, "End of correlation" }, { 4, "Miniplan Cancellation" }, { 5, "Retained Miniplan" }, { 0, NULL } }; static const FieldPart I032_V1_1_035_NATURE = { 4, 1.0, FIELD_PART_UINT, &hf_032_V1_1_035_NATURE, NULL }; static const FieldPart *I032_V1_1_035_PARTS[] = { &I032_V1_1_035_FAMILY, &I032_V1_1_035_NATURE, NULL }; static const AsterixField I032_V1_1_035 = { FIXED, 1, 0, 0, &hf_032_V1_1_035, I032_V1_1_035_PARTS, { NULL } }; static int hf_032_V1_1_040; static int hf_032_V1_1_040_VALUE; static const FieldPart I032_V1_1_040_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_032_V1_1_040_VALUE, NULL }; static const FieldPart *I032_V1_1_040_PARTS[] = { &I032_V1_1_040_VALUE, NULL }; static const AsterixField I032_V1_1_040 = { FIXED, 2, 0, 0, &hf_032_V1_1_040, I032_V1_1_040_PARTS, { NULL } }; static int hf_032_V1_1_050; static int hf_032_V1_1_050_SUI; static const FieldPart I032_V1_1_050_SUI = { 8, 1.0, FIELD_PART_UINT, &hf_032_V1_1_050_SUI, NULL }; static int hf_032_V1_1_050_STN; static const FieldPart I032_V1_1_050_STN = { 15, 1.0, FIELD_PART_UINT, &hf_032_V1_1_050_STN, NULL }; static const FieldPart *I032_V1_1_050_PARTS[] = { &I032_V1_1_050_SUI, &I032_V1_1_050_STN, &IXXX_FX, NULL }; static const AsterixField I032_V1_1_050 = { FX, 3, 0, 0, &hf_032_V1_1_050, I032_V1_1_050_PARTS, { NULL } }; static int hf_032_V1_1_060; static int hf_032_V1_1_060_MODE3A; static const FieldPart I032_V1_1_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_032_V1_1_060_MODE3A, NULL }; static const FieldPart *I032_V1_1_060_PARTS[] = { &IXXX_4bit_spare, &I032_V1_1_060_MODE3A, NULL }; static const AsterixField I032_V1_1_060 = { FIXED, 2, 0, 0, &hf_032_V1_1_060, I032_V1_1_060_PARTS, { NULL } }; static int hf_032_V1_1_400; static int hf_032_V1_1_400_VALUE; static const FieldPart I032_V1_1_400_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_400_VALUE, NULL }; static const FieldPart *I032_V1_1_400_PARTS[] = { &I032_V1_1_400_VALUE, NULL }; static const AsterixField I032_V1_1_400 = { FIXED, 7, 0, 0, &hf_032_V1_1_400, I032_V1_1_400_PARTS, { NULL } }; static int hf_032_V1_1_410; static int hf_032_V1_1_410_VALUE; static const FieldPart I032_V1_1_410_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_032_V1_1_410_VALUE, NULL }; static const FieldPart *I032_V1_1_410_PARTS[] = { &I032_V1_1_410_VALUE, NULL }; static const AsterixField I032_V1_1_410 = { FIXED, 2, 0, 0, &hf_032_V1_1_410, I032_V1_1_410_PARTS, { NULL } }; static int hf_032_V1_1_420; static int hf_032_V1_1_420_GATOAT; static const value_string valstr_032_V1_1_420_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I032_V1_1_420_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_032_V1_1_420_GATOAT, NULL }; static int hf_032_V1_1_420_FR1FR2; static const value_string valstr_032_V1_1_420_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I032_V1_1_420_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_032_V1_1_420_FR1FR2, NULL }; static int hf_032_V1_1_420_SP3; static const FieldPart I032_V1_1_420_SP3 = { 1, 1.0, FIELD_PART_HEX, &hf_032_V1_1_420_SP3, NULL }; static int hf_032_V1_1_420_SP2; static const FieldPart I032_V1_1_420_SP2 = { 1, 1.0, FIELD_PART_HEX, &hf_032_V1_1_420_SP2, NULL }; static int hf_032_V1_1_420_SP1; static const FieldPart I032_V1_1_420_SP1 = { 1, 1.0, FIELD_PART_HEX, &hf_032_V1_1_420_SP1, NULL }; static const FieldPart *I032_V1_1_420_PARTS[] = { &I032_V1_1_420_GATOAT, &I032_V1_1_420_FR1FR2, &I032_V1_1_420_SP3, &I032_V1_1_420_SP2, &I032_V1_1_420_SP1, &IXXX_1bit_spare, NULL }; static const AsterixField I032_V1_1_420 = { FIXED, 1, 0, 0, &hf_032_V1_1_420, I032_V1_1_420_PARTS, { NULL } }; static int hf_032_V1_1_430; static int hf_032_V1_1_430_VALUE; static const FieldPart I032_V1_1_430_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_430_VALUE, NULL }; static const FieldPart *I032_V1_1_430_PARTS[] = { &I032_V1_1_430_VALUE, NULL }; static const AsterixField I032_V1_1_430 = { FIXED, 4, 0, 0, &hf_032_V1_1_430, I032_V1_1_430_PARTS, { NULL } }; static int hf_032_V1_1_435; static int hf_032_V1_1_435_VALUE; static const value_string valstr_032_V1_1_435_VALUE[] = { { 76, "Light" }, { 77, "Medium" }, { 72, "Heavy" }, { 74, "Super" }, { 0, NULL } }; static const FieldPart I032_V1_1_435_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_032_V1_1_435_VALUE, NULL }; static const FieldPart *I032_V1_1_435_PARTS[] = { &I032_V1_1_435_VALUE, NULL }; static const AsterixField I032_V1_1_435 = { FIXED, 1, 0, 0, &hf_032_V1_1_435, I032_V1_1_435_PARTS, { NULL } }; static int hf_032_V1_1_440; static int hf_032_V1_1_440_VALUE; static const FieldPart I032_V1_1_440_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_440_VALUE, NULL }; static const FieldPart *I032_V1_1_440_PARTS[] = { &I032_V1_1_440_VALUE, NULL }; static const AsterixField I032_V1_1_440 = { FIXED, 4, 0, 0, &hf_032_V1_1_440, I032_V1_1_440_PARTS, { NULL } }; static int hf_032_V1_1_450; static int hf_032_V1_1_450_VALUE; static const FieldPart I032_V1_1_450_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_450_VALUE, NULL }; static const FieldPart *I032_V1_1_450_PARTS[] = { &I032_V1_1_450_VALUE, NULL }; static const AsterixField I032_V1_1_450 = { FIXED, 4, 0, 0, &hf_032_V1_1_450, I032_V1_1_450_PARTS, { NULL } }; static int hf_032_V1_1_460; static int hf_032_V1_1_460_OCT1; static const FieldPart I032_V1_1_460_OCT1 = { 3, 1.0, FIELD_PART_HEX, &hf_032_V1_1_460_OCT1, NULL }; static int hf_032_V1_1_460_OCT2; static const FieldPart I032_V1_1_460_OCT2 = { 3, 1.0, FIELD_PART_HEX, &hf_032_V1_1_460_OCT2, NULL }; static int hf_032_V1_1_460_OCT3; static const FieldPart I032_V1_1_460_OCT3 = { 3, 1.0, FIELD_PART_HEX, &hf_032_V1_1_460_OCT3, NULL }; static int hf_032_V1_1_460_OCT4; static const FieldPart I032_V1_1_460_OCT4 = { 3, 1.0, FIELD_PART_HEX, &hf_032_V1_1_460_OCT4, NULL }; static const FieldPart *I032_V1_1_460_PARTS[] = { &IXXX_4bit_spare, &I032_V1_1_460_OCT1, &I032_V1_1_460_OCT2, &I032_V1_1_460_OCT3, &I032_V1_1_460_OCT4, NULL }; static const AsterixField I032_V1_1_460 = { REPETITIVE, 2, 1, 0, &hf_032_V1_1_460, I032_V1_1_460_PARTS, { NULL } }; static int hf_032_V1_1_480; static int hf_032_V1_1_480_VALUE; static const FieldPart I032_V1_1_480_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_032_V1_1_480_VALUE, NULL }; static const FieldPart *I032_V1_1_480_PARTS[] = { &I032_V1_1_480_VALUE, NULL }; static const AsterixField I032_V1_1_480 = { FIXED, 2, 0, 0, &hf_032_V1_1_480, I032_V1_1_480_PARTS, { NULL } }; static int hf_032_V1_1_490; static int hf_032_V1_1_490_CEN; static const FieldPart I032_V1_1_490_CEN = { 8, 1.0, FIELD_PART_HEX, &hf_032_V1_1_490_CEN, NULL }; static int hf_032_V1_1_490_POS; static const FieldPart I032_V1_1_490_POS = { 8, 1.0, FIELD_PART_HEX, &hf_032_V1_1_490_POS, NULL }; static const FieldPart *I032_V1_1_490_PARTS[] = { &I032_V1_1_490_CEN, &I032_V1_1_490_POS, NULL }; static const AsterixField I032_V1_1_490 = { FIXED, 2, 0, 0, &hf_032_V1_1_490, I032_V1_1_490_PARTS, { NULL } }; static int hf_032_V1_1_500; static int hf_032_V1_1_500_IFI; static int hf_032_V1_1_500_IFI_TYP; static const value_string valstr_032_V1_1_500_IFI_TYP[] = { { 0, "Plan Number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_IFI_TYP, NULL }; static int hf_032_V1_1_500_IFI_NBR; static const FieldPart I032_V1_1_500_IFI_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_IFI_NBR, NULL }; static const FieldPart *I032_V1_1_500_IFI_PARTS[] = { &I032_V1_1_500_IFI_TYP, &IXXX_3bit_spare, &I032_V1_1_500_IFI_NBR, NULL }; static const AsterixField I032_V1_1_500_IFI = { FIXED, 4, 0, 0, &hf_032_V1_1_500_IFI, I032_V1_1_500_IFI_PARTS, { NULL } }; static int hf_032_V1_1_500_RVP; static int hf_032_V1_1_500_RVP_RVSM; static const value_string valstr_032_V1_1_500_RVP_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not approved" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_RVP_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_RVP_RVSM, NULL }; static int hf_032_V1_1_500_RVP_HPR; static const value_string valstr_032_V1_1_500_RVP_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_RVP_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_RVP_HPR, NULL }; static const FieldPart *I032_V1_1_500_RVP_PARTS[] = { &IXXX_5bit_spare, &I032_V1_1_500_RVP_RVSM, &I032_V1_1_500_RVP_HPR, NULL }; static const AsterixField I032_V1_1_500_RVP = { FIXED, 1, 0, 0, &hf_032_V1_1_500_RVP, I032_V1_1_500_RVP_PARTS, { NULL } }; static int hf_032_V1_1_500_RDS; static int hf_032_V1_1_500_RDS_NU1; static const FieldPart I032_V1_1_500_RDS_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_500_RDS_NU1, NULL }; static int hf_032_V1_1_500_RDS_NU2; static const FieldPart I032_V1_1_500_RDS_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_500_RDS_NU2, NULL }; static int hf_032_V1_1_500_RDS_LTR; static const FieldPart I032_V1_1_500_RDS_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_500_RDS_LTR, NULL }; static const FieldPart *I032_V1_1_500_RDS_PARTS[] = { &I032_V1_1_500_RDS_NU1, &I032_V1_1_500_RDS_NU2, &I032_V1_1_500_RDS_LTR, NULL }; static const AsterixField I032_V1_1_500_RDS = { FIXED, 3, 0, 0, &hf_032_V1_1_500_RDS, I032_V1_1_500_RDS_PARTS, { NULL } }; static int hf_032_V1_1_500_TOD; static int hf_032_V1_1_500_TOD_TYP; static const value_string valstr_032_V1_1_500_TOD_TYP[] = { { 0, "Scheduled Off-Block Time" }, { 1, "Estimated Off-Block Time" }, { 2, "Estimated Take-Off Time" }, { 3, "Actual Off-Block Time" }, { 4, "Predicted Time at Runway Hold" }, { 5, "Actual Time at Runway Hold" }, { 6, "Actual Line-Up Time" }, { 7, "Actual Take-Off Time" }, { 8, "Estimated Time of Arrival" }, { 9, "Predicted Landing Time" }, { 10, "Actual Landing Time" }, { 11, "Actual Time off Runway" }, { 12, "Predicted Time to Gate" }, { 13, "Actual On-Block Time" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_TOD_TYP, NULL }; static int hf_032_V1_1_500_TOD_DAY; static const value_string valstr_032_V1_1_500_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_TOD_DAY, NULL }; static int hf_032_V1_1_500_TOD_HOR; static const FieldPart I032_V1_1_500_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_TOD_HOR, NULL }; static int hf_032_V1_1_500_TOD_MIN; static const FieldPart I032_V1_1_500_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_TOD_MIN, NULL }; static int hf_032_V1_1_500_TOD_AVS; static const value_string valstr_032_V1_1_500_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_TOD_AVS, NULL }; static int hf_032_V1_1_500_TOD_SEC; static const FieldPart I032_V1_1_500_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_TOD_SEC, NULL }; static const FieldPart *I032_V1_1_500_TOD_PARTS[] = { &I032_V1_1_500_TOD_TYP, &I032_V1_1_500_TOD_DAY, &IXXX_4bit_spare, &I032_V1_1_500_TOD_HOR, &IXXX_2bit_spare, &I032_V1_1_500_TOD_MIN, &I032_V1_1_500_TOD_AVS, &IXXX_1bit_spare, &I032_V1_1_500_TOD_SEC, NULL }; static const AsterixField I032_V1_1_500_TOD = { REPETITIVE, 4, 1, 0, &hf_032_V1_1_500_TOD, I032_V1_1_500_TOD_PARTS, { NULL } }; static int hf_032_V1_1_500_AST; static int hf_032_V1_1_500_AST_VALUE; static const FieldPart I032_V1_1_500_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_500_AST_VALUE, NULL }; static const FieldPart *I032_V1_1_500_AST_PARTS[] = { &I032_V1_1_500_AST_VALUE, NULL }; static const AsterixField I032_V1_1_500_AST = { FIXED, 6, 0, 0, &hf_032_V1_1_500_AST, I032_V1_1_500_AST_PARTS, { NULL } }; static int hf_032_V1_1_500_STS; static int hf_032_V1_1_500_STS_EMP; static const value_string valstr_032_V1_1_500_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_STS_EMP, NULL }; static int hf_032_V1_1_500_STS_AVL; static const value_string valstr_032_V1_1_500_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I032_V1_1_500_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_032_V1_1_500_STS_AVL, NULL }; static const FieldPart *I032_V1_1_500_STS_PARTS[] = { &I032_V1_1_500_STS_EMP, &I032_V1_1_500_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I032_V1_1_500_STS = { FIXED, 1, 0, 0, &hf_032_V1_1_500_STS, I032_V1_1_500_STS_PARTS, { NULL } }; static int hf_032_V1_1_500_SID; static int hf_032_V1_1_500_SID_VALUE; static const FieldPart I032_V1_1_500_SID_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_500_SID_VALUE, NULL }; static const FieldPart *I032_V1_1_500_SID_PARTS[] = { &I032_V1_1_500_SID_VALUE, NULL }; static const AsterixField I032_V1_1_500_SID = { FIXED, 7, 0, 0, &hf_032_V1_1_500_SID, I032_V1_1_500_SID_PARTS, { NULL } }; static int hf_032_V1_1_500_STAR; static int hf_032_V1_1_500_STAR_VALUE; static const FieldPart I032_V1_1_500_STAR_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_032_V1_1_500_STAR_VALUE, NULL }; static const FieldPart *I032_V1_1_500_STAR_PARTS[] = { &I032_V1_1_500_STAR_VALUE, NULL }; static const AsterixField I032_V1_1_500_STAR = { FIXED, 7, 0, 0, &hf_032_V1_1_500_STAR, I032_V1_1_500_STAR_PARTS, { NULL } }; static const AsterixField I032_V1_1_500 = { COMPOUND, 0, 0, 0, &hf_032_V1_1_500, NULL, { &I032_V1_1_500_IFI, &I032_V1_1_500_RVP, &I032_V1_1_500_RDS, &I032_V1_1_500_TOD, &I032_V1_1_500_AST, &I032_V1_1_500_STS, &I032_V1_1_500_SID, &I032_V1_1_500_STAR, NULL } }; static int hf_032_V1_1_RE; static const AsterixField I032_V1_1_RE = { EXP, 0, 0, 1, &hf_032_V1_1_RE, NULL, { NULL } }; /* Category 032, edition 1.1 (latest) */ static int hf_032_010; static int hf_032_010_SAC; static const FieldPart I032_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_032_010_SAC, NULL }; static int hf_032_010_SIC; static const FieldPart I032_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_032_010_SIC, NULL }; static const FieldPart *I032_010_PARTS[] = { &I032_010_SAC, &I032_010_SIC, NULL }; static const AsterixField I032_010 = { FIXED, 2, 0, 0, &hf_032_010, I032_010_PARTS, { NULL } }; static int hf_032_015; static int hf_032_015_VALUE; static const FieldPart I032_015_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_032_015_VALUE, NULL }; static const FieldPart *I032_015_PARTS[] = { &I032_015_VALUE, NULL }; static const AsterixField I032_015 = { FIXED, 2, 0, 0, &hf_032_015, I032_015_PARTS, { NULL } }; static int hf_032_018; static int hf_032_018_SAC; static const FieldPart I032_018_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_032_018_SAC, NULL }; static int hf_032_018_SIC; static const FieldPart I032_018_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_032_018_SIC, NULL }; static const FieldPart *I032_018_PARTS[] = { &I032_018_SAC, &I032_018_SIC, NULL }; static const AsterixField I032_018 = { FIXED, 2, 0, 0, &hf_032_018, I032_018_PARTS, { NULL } }; static int hf_032_020; static int hf_032_020_VALUE; static const FieldPart I032_020_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_032_020_VALUE, NULL }; static const FieldPart *I032_020_PARTS[] = { &I032_020_VALUE, NULL }; static const AsterixField I032_020 = { FIXED, 3, 0, 0, &hf_032_020, I032_020_PARTS, { NULL } }; static int hf_032_035; static int hf_032_035_FAMILY; static const value_string valstr_032_035_FAMILY[] = { { 1, "Information sent by an FPPS" }, { 0, NULL } }; static const FieldPart I032_035_FAMILY = { 4, 1.0, FIELD_PART_UINT, &hf_032_035_FAMILY, NULL }; static int hf_032_035_NATURE; static const value_string valstr_032_035_NATURE[] = { { 1, "Flight Plan to track initial correlation" }, { 2, "Miniplan update" }, { 3, "End of correlation" }, { 4, "Miniplan Cancellation" }, { 5, "Retained Miniplan" }, { 0, NULL } }; static const FieldPart I032_035_NATURE = { 4, 1.0, FIELD_PART_UINT, &hf_032_035_NATURE, NULL }; static const FieldPart *I032_035_PARTS[] = { &I032_035_FAMILY, &I032_035_NATURE, NULL }; static const AsterixField I032_035 = { FIXED, 1, 0, 0, &hf_032_035, I032_035_PARTS, { NULL } }; static int hf_032_040; static int hf_032_040_VALUE; static const FieldPart I032_040_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_032_040_VALUE, NULL }; static const FieldPart *I032_040_PARTS[] = { &I032_040_VALUE, NULL }; static const AsterixField I032_040 = { FIXED, 2, 0, 0, &hf_032_040, I032_040_PARTS, { NULL } }; static int hf_032_050; static int hf_032_050_SUI; static const FieldPart I032_050_SUI = { 8, 1.0, FIELD_PART_UINT, &hf_032_050_SUI, NULL }; static int hf_032_050_STN; static const FieldPart I032_050_STN = { 15, 1.0, FIELD_PART_UINT, &hf_032_050_STN, NULL }; static const FieldPart *I032_050_PARTS[] = { &I032_050_SUI, &I032_050_STN, &IXXX_FX, NULL }; static const AsterixField I032_050 = { FX, 3, 0, 0, &hf_032_050, I032_050_PARTS, { NULL } }; static int hf_032_060; static int hf_032_060_MODE3A; static const FieldPart I032_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_032_060_MODE3A, NULL }; static const FieldPart *I032_060_PARTS[] = { &IXXX_4bit_spare, &I032_060_MODE3A, NULL }; static const AsterixField I032_060 = { FIXED, 2, 0, 0, &hf_032_060, I032_060_PARTS, { NULL } }; static int hf_032_400; static int hf_032_400_VALUE; static const FieldPart I032_400_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_032_400_VALUE, NULL }; static const FieldPart *I032_400_PARTS[] = { &I032_400_VALUE, NULL }; static const AsterixField I032_400 = { FIXED, 7, 0, 0, &hf_032_400, I032_400_PARTS, { NULL } }; static int hf_032_410; static int hf_032_410_VALUE; static const FieldPart I032_410_VALUE = { 16, 1.0, FIELD_PART_UINT, &hf_032_410_VALUE, NULL }; static const FieldPart *I032_410_PARTS[] = { &I032_410_VALUE, NULL }; static const AsterixField I032_410 = { FIXED, 2, 0, 0, &hf_032_410, I032_410_PARTS, { NULL } }; static int hf_032_420; static int hf_032_420_GATOAT; static const value_string valstr_032_420_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I032_420_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_032_420_GATOAT, NULL }; static int hf_032_420_FR1FR2; static const value_string valstr_032_420_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I032_420_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_032_420_FR1FR2, NULL }; static int hf_032_420_SP3; static const FieldPart I032_420_SP3 = { 1, 1.0, FIELD_PART_HEX, &hf_032_420_SP3, NULL }; static int hf_032_420_SP2; static const FieldPart I032_420_SP2 = { 1, 1.0, FIELD_PART_HEX, &hf_032_420_SP2, NULL }; static int hf_032_420_SP1; static const FieldPart I032_420_SP1 = { 1, 1.0, FIELD_PART_HEX, &hf_032_420_SP1, NULL }; static const FieldPart *I032_420_PARTS[] = { &I032_420_GATOAT, &I032_420_FR1FR2, &I032_420_SP3, &I032_420_SP2, &I032_420_SP1, &IXXX_1bit_spare, NULL }; static const AsterixField I032_420 = { FIXED, 1, 0, 0, &hf_032_420, I032_420_PARTS, { NULL } }; static int hf_032_430; static int hf_032_430_VALUE; static const FieldPart I032_430_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_032_430_VALUE, NULL }; static const FieldPart *I032_430_PARTS[] = { &I032_430_VALUE, NULL }; static const AsterixField I032_430 = { FIXED, 4, 0, 0, &hf_032_430, I032_430_PARTS, { NULL } }; static int hf_032_435; static int hf_032_435_VALUE; static const value_string valstr_032_435_VALUE[] = { { 76, "Light" }, { 77, "Medium" }, { 72, "Heavy" }, { 74, "Super" }, { 0, NULL } }; static const FieldPart I032_435_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_032_435_VALUE, NULL }; static const FieldPart *I032_435_PARTS[] = { &I032_435_VALUE, NULL }; static const AsterixField I032_435 = { FIXED, 1, 0, 0, &hf_032_435, I032_435_PARTS, { NULL } }; static int hf_032_440; static int hf_032_440_VALUE; static const FieldPart I032_440_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_032_440_VALUE, NULL }; static const FieldPart *I032_440_PARTS[] = { &I032_440_VALUE, NULL }; static const AsterixField I032_440 = { FIXED, 4, 0, 0, &hf_032_440, I032_440_PARTS, { NULL } }; static int hf_032_450; static int hf_032_450_VALUE; static const FieldPart I032_450_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_032_450_VALUE, NULL }; static const FieldPart *I032_450_PARTS[] = { &I032_450_VALUE, NULL }; static const AsterixField I032_450 = { FIXED, 4, 0, 0, &hf_032_450, I032_450_PARTS, { NULL } }; static int hf_032_460; static int hf_032_460_OCT1; static const FieldPart I032_460_OCT1 = { 3, 1.0, FIELD_PART_HEX, &hf_032_460_OCT1, NULL }; static int hf_032_460_OCT2; static const FieldPart I032_460_OCT2 = { 3, 1.0, FIELD_PART_HEX, &hf_032_460_OCT2, NULL }; static int hf_032_460_OCT3; static const FieldPart I032_460_OCT3 = { 3, 1.0, FIELD_PART_HEX, &hf_032_460_OCT3, NULL }; static int hf_032_460_OCT4; static const FieldPart I032_460_OCT4 = { 3, 1.0, FIELD_PART_HEX, &hf_032_460_OCT4, NULL }; static const FieldPart *I032_460_PARTS[] = { &IXXX_4bit_spare, &I032_460_OCT1, &I032_460_OCT2, &I032_460_OCT3, &I032_460_OCT4, NULL }; static const AsterixField I032_460 = { REPETITIVE, 2, 1, 0, &hf_032_460, I032_460_PARTS, { NULL } }; static int hf_032_480; static int hf_032_480_VALUE; static const FieldPart I032_480_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_032_480_VALUE, NULL }; static const FieldPart *I032_480_PARTS[] = { &I032_480_VALUE, NULL }; static const AsterixField I032_480 = { FIXED, 2, 0, 0, &hf_032_480, I032_480_PARTS, { NULL } }; static int hf_032_490; static int hf_032_490_CEN; static const FieldPart I032_490_CEN = { 8, 1.0, FIELD_PART_HEX, &hf_032_490_CEN, NULL }; static int hf_032_490_POS; static const FieldPart I032_490_POS = { 8, 1.0, FIELD_PART_HEX, &hf_032_490_POS, NULL }; static const FieldPart *I032_490_PARTS[] = { &I032_490_CEN, &I032_490_POS, NULL }; static const AsterixField I032_490 = { FIXED, 2, 0, 0, &hf_032_490, I032_490_PARTS, { NULL } }; static int hf_032_500; static int hf_032_500_IFI; static int hf_032_500_IFI_TYP; static const value_string valstr_032_500_IFI_TYP[] = { { 0, "Plan Number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I032_500_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_IFI_TYP, NULL }; static int hf_032_500_IFI_NBR; static const FieldPart I032_500_IFI_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_032_500_IFI_NBR, NULL }; static const FieldPart *I032_500_IFI_PARTS[] = { &I032_500_IFI_TYP, &IXXX_3bit_spare, &I032_500_IFI_NBR, NULL }; static const AsterixField I032_500_IFI = { FIXED, 4, 0, 0, &hf_032_500_IFI, I032_500_IFI_PARTS, { NULL } }; static int hf_032_500_RVP; static int hf_032_500_RVP_RVSM; static const value_string valstr_032_500_RVP_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not approved" }, { 0, NULL } }; static const FieldPart I032_500_RVP_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_RVP_RVSM, NULL }; static int hf_032_500_RVP_HPR; static const value_string valstr_032_500_RVP_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I032_500_RVP_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_032_500_RVP_HPR, NULL }; static const FieldPart *I032_500_RVP_PARTS[] = { &IXXX_5bit_spare, &I032_500_RVP_RVSM, &I032_500_RVP_HPR, NULL }; static const AsterixField I032_500_RVP = { FIXED, 1, 0, 0, &hf_032_500_RVP, I032_500_RVP_PARTS, { NULL } }; static int hf_032_500_RDS; static int hf_032_500_RDS_NU1; static const FieldPart I032_500_RDS_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_032_500_RDS_NU1, NULL }; static int hf_032_500_RDS_NU2; static const FieldPart I032_500_RDS_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_032_500_RDS_NU2, NULL }; static int hf_032_500_RDS_LTR; static const FieldPart I032_500_RDS_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_032_500_RDS_LTR, NULL }; static const FieldPart *I032_500_RDS_PARTS[] = { &I032_500_RDS_NU1, &I032_500_RDS_NU2, &I032_500_RDS_LTR, NULL }; static const AsterixField I032_500_RDS = { FIXED, 3, 0, 0, &hf_032_500_RDS, I032_500_RDS_PARTS, { NULL } }; static int hf_032_500_TOD; static int hf_032_500_TOD_TYP; static const value_string valstr_032_500_TOD_TYP[] = { { 0, "Scheduled Off-Block Time" }, { 1, "Estimated Off-Block Time" }, { 2, "Estimated Take-Off Time" }, { 3, "Actual Off-Block Time" }, { 4, "Predicted Time at Runway Hold" }, { 5, "Actual Time at Runway Hold" }, { 6, "Actual Line-Up Time" }, { 7, "Actual Take-Off Time" }, { 8, "Estimated Time of Arrival" }, { 9, "Predicted Landing Time" }, { 10, "Actual Landing Time" }, { 11, "Actual Time off Runway" }, { 12, "Predicted Time to Gate" }, { 13, "Actual On-Block Time" }, { 0, NULL } }; static const FieldPart I032_500_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_032_500_TOD_TYP, NULL }; static int hf_032_500_TOD_DAY; static const value_string valstr_032_500_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I032_500_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_TOD_DAY, NULL }; static int hf_032_500_TOD_HOR; static const FieldPart I032_500_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_032_500_TOD_HOR, NULL }; static int hf_032_500_TOD_MIN; static const FieldPart I032_500_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_032_500_TOD_MIN, NULL }; static int hf_032_500_TOD_AVS; static const value_string valstr_032_500_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I032_500_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_032_500_TOD_AVS, NULL }; static int hf_032_500_TOD_SEC; static const FieldPart I032_500_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_032_500_TOD_SEC, NULL }; static const FieldPart *I032_500_TOD_PARTS[] = { &I032_500_TOD_TYP, &I032_500_TOD_DAY, &IXXX_4bit_spare, &I032_500_TOD_HOR, &IXXX_2bit_spare, &I032_500_TOD_MIN, &I032_500_TOD_AVS, &IXXX_1bit_spare, &I032_500_TOD_SEC, NULL }; static const AsterixField I032_500_TOD = { REPETITIVE, 4, 1, 0, &hf_032_500_TOD, I032_500_TOD_PARTS, { NULL } }; static int hf_032_500_AST; static int hf_032_500_AST_VALUE; static const FieldPart I032_500_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_032_500_AST_VALUE, NULL }; static const FieldPart *I032_500_AST_PARTS[] = { &I032_500_AST_VALUE, NULL }; static const AsterixField I032_500_AST = { FIXED, 6, 0, 0, &hf_032_500_AST, I032_500_AST_PARTS, { NULL } }; static int hf_032_500_STS; static int hf_032_500_STS_EMP; static const value_string valstr_032_500_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I032_500_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_STS_EMP, NULL }; static int hf_032_500_STS_AVL; static const value_string valstr_032_500_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I032_500_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_STS_AVL, NULL }; static const FieldPart *I032_500_STS_PARTS[] = { &I032_500_STS_EMP, &I032_500_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I032_500_STS = { FIXED, 1, 0, 0, &hf_032_500_STS, I032_500_STS_PARTS, { NULL } }; static int hf_032_500_SID; static int hf_032_500_SID_VALUE; static const FieldPart I032_500_SID_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_032_500_SID_VALUE, NULL }; static const FieldPart *I032_500_SID_PARTS[] = { &I032_500_SID_VALUE, NULL }; static const AsterixField I032_500_SID = { FIXED, 7, 0, 0, &hf_032_500_SID, I032_500_SID_PARTS, { NULL } }; static int hf_032_500_STAR; static int hf_032_500_STAR_VALUE; static const FieldPart I032_500_STAR_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_032_500_STAR_VALUE, NULL }; static const FieldPart *I032_500_STAR_PARTS[] = { &I032_500_STAR_VALUE, NULL }; static const AsterixField I032_500_STAR = { FIXED, 7, 0, 0, &hf_032_500_STAR, I032_500_STAR_PARTS, { NULL } }; static const AsterixField I032_500 = { COMPOUND, 0, 0, 0, &hf_032_500, NULL, { &I032_500_IFI, &I032_500_RVP, &I032_500_RDS, &I032_500_TOD, &I032_500_AST, &I032_500_STS, &I032_500_SID, &I032_500_STAR, NULL } }; static int hf_032_RE; static const AsterixField I032_RE = { EXP, 0, 0, 1, &hf_032_RE, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I032_V1_1_uap[] = { &I032_V1_1_010, &I032_V1_1_015, &I032_V1_1_018, &I032_V1_1_035, &I032_V1_1_020, &I032_V1_1_040, &I032_V1_1_050, &I032_V1_1_060, &I032_V1_1_400, &I032_V1_1_410, &I032_V1_1_420, &I032_V1_1_440, &I032_V1_1_450, &I032_V1_1_480, &I032_V1_1_490, &I032_V1_1_430, &I032_V1_1_435, &I032_V1_1_460, &I032_V1_1_500, &IX_SPARE, &I032_V1_1_RE, NULL }; static const AsterixField **I032_V1_1[] = { I032_V1_1_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I032_uap[] = { &I032_010, &I032_015, &I032_018, &I032_035, &I032_020, &I032_040, &I032_050, &I032_060, &I032_400, &I032_410, &I032_420, &I032_440, &I032_450, &I032_480, &I032_490, &I032_430, &I032_435, &I032_460, &I032_500, &IX_SPARE, &I032_RE, NULL }; static const AsterixField **I032[] = { I032_uap, NULL }; DIAG_ON_PEDANTIC /* Category 034, edition 1.27 */ static int hf_034_V1_27_000; static int hf_034_V1_27_000_VALUE; static const value_string valstr_034_V1_27_000_VALUE[] = { { 1, "North marker message" }, { 2, "Sector crossing message" }, { 3, "Geographical filtering message" }, { 4, "Jamming strobe message" }, { 0, NULL } }; static const FieldPart I034_V1_27_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_V1_27_000_VALUE, NULL }; static const FieldPart *I034_V1_27_000_PARTS[] = { &I034_V1_27_000_VALUE, NULL }; static const AsterixField I034_V1_27_000 = { FIXED, 1, 0, 0, &hf_034_V1_27_000, I034_V1_27_000_PARTS, { NULL } }; static int hf_034_V1_27_010; static int hf_034_V1_27_010_SAC; static const FieldPart I034_V1_27_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_034_V1_27_010_SAC, NULL }; static int hf_034_V1_27_010_SIC; static const FieldPart I034_V1_27_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_034_V1_27_010_SIC, NULL }; static const FieldPart *I034_V1_27_010_PARTS[] = { &I034_V1_27_010_SAC, &I034_V1_27_010_SIC, NULL }; static const AsterixField I034_V1_27_010 = { FIXED, 2, 0, 0, &hf_034_V1_27_010, I034_V1_27_010_PARTS, { NULL } }; static int hf_034_V1_27_020; static int hf_034_V1_27_020_VALUE; static const FieldPart I034_V1_27_020_VALUE = { 8, 1.40625, FIELD_PART_UFLOAT, &hf_034_V1_27_020_VALUE, NULL }; static const FieldPart *I034_V1_27_020_PARTS[] = { &I034_V1_27_020_VALUE, NULL }; static const AsterixField I034_V1_27_020 = { FIXED, 1, 0, 0, &hf_034_V1_27_020, I034_V1_27_020_PARTS, { NULL } }; static int hf_034_V1_27_030; static int hf_034_V1_27_030_VALUE; static const FieldPart I034_V1_27_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_034_V1_27_030_VALUE, NULL }; static const FieldPart *I034_V1_27_030_PARTS[] = { &I034_V1_27_030_VALUE, NULL }; static const AsterixField I034_V1_27_030 = { FIXED, 3, 0, 0, &hf_034_V1_27_030, I034_V1_27_030_PARTS, { NULL } }; static int hf_034_V1_27_041; static int hf_034_V1_27_041_VALUE; static const FieldPart I034_V1_27_041_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_034_V1_27_041_VALUE, NULL }; static const FieldPart *I034_V1_27_041_PARTS[] = { &I034_V1_27_041_VALUE, NULL }; static const AsterixField I034_V1_27_041 = { FIXED, 2, 0, 0, &hf_034_V1_27_041, I034_V1_27_041_PARTS, { NULL } }; static int hf_034_V1_27_050; static int hf_034_V1_27_050_COM; static int hf_034_V1_27_050_COM_NOGO; static const value_string valstr_034_V1_27_050_COM_NOGO[] = { { 0, "System is released for operational use" }, { 1, "Operational use of System is inhibited, i.e. the data shall be discarded by an operational SDPS" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_COM_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_COM_NOGO, NULL }; static int hf_034_V1_27_050_COM_RDPC; static const value_string valstr_034_V1_27_050_COM_RDPC[] = { { 0, "RDPC-1 selected" }, { 1, "RDPC-2 selected" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_COM_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_COM_RDPC, NULL }; static int hf_034_V1_27_050_COM_RDPR; static const value_string valstr_034_V1_27_050_COM_RDPR[] = { { 0, "Default situation" }, { 1, "Reset of RDPC" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_COM_RDPR = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_COM_RDPR, NULL }; static int hf_034_V1_27_050_COM_OVLRDP; static const value_string valstr_034_V1_27_050_COM_OVLRDP[] = { { 0, "Default, no overload" }, { 1, "Overload in RDP" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_COM_OVLRDP = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_COM_OVLRDP, NULL }; static int hf_034_V1_27_050_COM_OVLXMT; static const value_string valstr_034_V1_27_050_COM_OVLXMT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_COM_OVLXMT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_COM_OVLXMT, NULL }; static int hf_034_V1_27_050_COM_MSC; static const value_string valstr_034_V1_27_050_COM_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_COM_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_COM_MSC, NULL }; static int hf_034_V1_27_050_COM_TSV; static const value_string valstr_034_V1_27_050_COM_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_COM_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_COM_TSV, NULL }; static const FieldPart *I034_V1_27_050_COM_PARTS[] = { &I034_V1_27_050_COM_NOGO, &I034_V1_27_050_COM_RDPC, &I034_V1_27_050_COM_RDPR, &I034_V1_27_050_COM_OVLRDP, &I034_V1_27_050_COM_OVLXMT, &I034_V1_27_050_COM_MSC, &I034_V1_27_050_COM_TSV, &IXXX_1bit_spare, NULL }; static const AsterixField I034_V1_27_050_COM = { FIXED, 1, 0, 0, &hf_034_V1_27_050_COM, I034_V1_27_050_COM_PARTS, { NULL } }; static int hf_034_V1_27_050_PSR; static int hf_034_V1_27_050_PSR_ANT; static const value_string valstr_034_V1_27_050_PSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_PSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_PSR_ANT, NULL }; static int hf_034_V1_27_050_PSR_CHAB; static const value_string valstr_034_V1_27_050_PSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Diversity mode ; Channel A and B selected" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_PSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_PSR_CHAB, NULL }; static int hf_034_V1_27_050_PSR_OVL; static const value_string valstr_034_V1_27_050_PSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_PSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_PSR_OVL, NULL }; static int hf_034_V1_27_050_PSR_MSC; static const value_string valstr_034_V1_27_050_PSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_PSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_PSR_MSC, NULL }; static const FieldPart *I034_V1_27_050_PSR_PARTS[] = { &I034_V1_27_050_PSR_ANT, &I034_V1_27_050_PSR_CHAB, &I034_V1_27_050_PSR_OVL, &I034_V1_27_050_PSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_V1_27_050_PSR = { FIXED, 1, 0, 0, &hf_034_V1_27_050_PSR, I034_V1_27_050_PSR_PARTS, { NULL } }; static int hf_034_V1_27_050_SSR; static int hf_034_V1_27_050_SSR_ANT; static const value_string valstr_034_V1_27_050_SSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_SSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_SSR_ANT, NULL }; static int hf_034_V1_27_050_SSR_CHAB; static const value_string valstr_034_V1_27_050_SSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Invalid combination" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_SSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_SSR_CHAB, NULL }; static int hf_034_V1_27_050_SSR_OVL; static const value_string valstr_034_V1_27_050_SSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_SSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_SSR_OVL, NULL }; static int hf_034_V1_27_050_SSR_MSC; static const value_string valstr_034_V1_27_050_SSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_SSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_SSR_MSC, NULL }; static const FieldPart *I034_V1_27_050_SSR_PARTS[] = { &I034_V1_27_050_SSR_ANT, &I034_V1_27_050_SSR_CHAB, &I034_V1_27_050_SSR_OVL, &I034_V1_27_050_SSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_V1_27_050_SSR = { FIXED, 1, 0, 0, &hf_034_V1_27_050_SSR, I034_V1_27_050_SSR_PARTS, { NULL } }; static int hf_034_V1_27_050_MDS; static int hf_034_V1_27_050_MDS_ANT; static const value_string valstr_034_V1_27_050_MDS_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_ANT, NULL }; static int hf_034_V1_27_050_MDS_CHAB; static const value_string valstr_034_V1_27_050_MDS_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Illegal combination" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_CHAB, NULL }; static int hf_034_V1_27_050_MDS_OVLSUR; static const value_string valstr_034_V1_27_050_MDS_OVLSUR[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_OVLSUR = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_OVLSUR, NULL }; static int hf_034_V1_27_050_MDS_MSC; static const value_string valstr_034_V1_27_050_MDS_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_MSC, NULL }; static int hf_034_V1_27_050_MDS_SCF; static const value_string valstr_034_V1_27_050_MDS_SCF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_SCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_SCF, NULL }; static int hf_034_V1_27_050_MDS_DLF; static const value_string valstr_034_V1_27_050_MDS_DLF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_DLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_DLF, NULL }; static int hf_034_V1_27_050_MDS_OVLSCF; static const value_string valstr_034_V1_27_050_MDS_OVLSCF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_OVLSCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_OVLSCF, NULL }; static int hf_034_V1_27_050_MDS_OVLDLF; static const value_string valstr_034_V1_27_050_MDS_OVLDLF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_27_050_MDS_OVLDLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_050_MDS_OVLDLF, NULL }; static const FieldPart *I034_V1_27_050_MDS_PARTS[] = { &I034_V1_27_050_MDS_ANT, &I034_V1_27_050_MDS_CHAB, &I034_V1_27_050_MDS_OVLSUR, &I034_V1_27_050_MDS_MSC, &I034_V1_27_050_MDS_SCF, &I034_V1_27_050_MDS_DLF, &I034_V1_27_050_MDS_OVLSCF, &I034_V1_27_050_MDS_OVLDLF, &IXXX_7bit_spare, NULL }; static const AsterixField I034_V1_27_050_MDS = { FIXED, 2, 0, 0, &hf_034_V1_27_050_MDS, I034_V1_27_050_MDS_PARTS, { NULL } }; static const AsterixField I034_V1_27_050 = { COMPOUND, 0, 0, 0, &hf_034_V1_27_050, NULL, { &I034_V1_27_050_COM, &IX_SPARE, &IX_SPARE, &I034_V1_27_050_PSR, &I034_V1_27_050_SSR, &I034_V1_27_050_MDS, NULL } }; static int hf_034_V1_27_060; static int hf_034_V1_27_060_COM; static int hf_034_V1_27_060_COM_REDRDP; static const value_string valstr_034_V1_27_060_COM_REDRDP[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_COM_REDRDP = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_COM_REDRDP, NULL }; static int hf_034_V1_27_060_COM_REDXMT; static const value_string valstr_034_V1_27_060_COM_REDXMT[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_COM_REDXMT = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_COM_REDXMT, NULL }; static const FieldPart *I034_V1_27_060_COM_PARTS[] = { &IXXX_1bit_spare, &I034_V1_27_060_COM_REDRDP, &I034_V1_27_060_COM_REDXMT, &IXXX_1bit_spare, NULL }; static const AsterixField I034_V1_27_060_COM = { FIXED, 1, 0, 0, &hf_034_V1_27_060_COM, I034_V1_27_060_COM_PARTS, { NULL } }; static int hf_034_V1_27_060_PSR; static int hf_034_V1_27_060_PSR_POL; static const value_string valstr_034_V1_27_060_PSR_POL[] = { { 0, "Linear polarization" }, { 1, "Circular polarization" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_PSR_POL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_PSR_POL, NULL }; static int hf_034_V1_27_060_PSR_REDRAD; static const value_string valstr_034_V1_27_060_PSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_PSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_PSR_REDRAD, NULL }; static int hf_034_V1_27_060_PSR_STC; static const value_string valstr_034_V1_27_060_PSR_STC[] = { { 0, "STC Map-1" }, { 1, "STC Map-2" }, { 2, "STC Map-3" }, { 3, "STC Map-4" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_PSR_STC = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_PSR_STC, NULL }; static const FieldPart *I034_V1_27_060_PSR_PARTS[] = { &I034_V1_27_060_PSR_POL, &I034_V1_27_060_PSR_REDRAD, &I034_V1_27_060_PSR_STC, &IXXX_2bit_spare, NULL }; static const AsterixField I034_V1_27_060_PSR = { FIXED, 1, 0, 0, &hf_034_V1_27_060_PSR, I034_V1_27_060_PSR_PARTS, { NULL } }; static int hf_034_V1_27_060_SSR; static int hf_034_V1_27_060_SSR_REDRAD; static const value_string valstr_034_V1_27_060_SSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_SSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_SSR_REDRAD, NULL }; static const FieldPart *I034_V1_27_060_SSR_PARTS[] = { &I034_V1_27_060_SSR_REDRAD, &IXXX_5bit_spare, NULL }; static const AsterixField I034_V1_27_060_SSR = { FIXED, 1, 0, 0, &hf_034_V1_27_060_SSR, I034_V1_27_060_SSR_PARTS, { NULL } }; static int hf_034_V1_27_060_MDS; static int hf_034_V1_27_060_MDS_REDRAD; static const value_string valstr_034_V1_27_060_MDS_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_MDS_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_MDS_REDRAD, NULL }; static int hf_034_V1_27_060_MDS_CLU; static const value_string valstr_034_V1_27_060_MDS_CLU[] = { { 0, "Autonomous" }, { 1, "Not autonomous" }, { 0, NULL } }; static const FieldPart I034_V1_27_060_MDS_CLU = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_27_060_MDS_CLU, NULL }; static const FieldPart *I034_V1_27_060_MDS_PARTS[] = { &I034_V1_27_060_MDS_REDRAD, &I034_V1_27_060_MDS_CLU, &IXXX_4bit_spare, NULL }; static const AsterixField I034_V1_27_060_MDS = { FIXED, 1, 0, 0, &hf_034_V1_27_060_MDS, I034_V1_27_060_MDS_PARTS, { NULL } }; static const AsterixField I034_V1_27_060 = { COMPOUND, 0, 0, 0, &hf_034_V1_27_060, NULL, { &I034_V1_27_060_COM, &IX_SPARE, &IX_SPARE, &I034_V1_27_060_PSR, &I034_V1_27_060_SSR, &I034_V1_27_060_MDS, NULL } }; static int hf_034_V1_27_070; static int hf_034_V1_27_070_TYP; static const value_string valstr_034_V1_27_070_TYP[] = { { 0, "No detection (number of misses)" }, { 1, "Single PSR target reports" }, { 2, "Single SSR target reports (Non-Mode S)" }, { 3, "SSR+PSR target reports (Non-Mode S)" }, { 4, "Single All-Call target reports (Mode S)" }, { 5, "Single Roll-Call target reports (Mode S)" }, { 6, "All-Call + PSR (Mode S) target reports" }, { 7, "Roll-Call + PSR (Mode S) target reports" }, { 8, "Filter for Weather data" }, { 9, "Filter for Jamming Strobe" }, { 10, "Filter for PSR data" }, { 11, "Filter for SSR/Mode S data" }, { 12, "Filter for SSR/Mode S+PSR data" }, { 13, "Filter for Enhanced Surveillance data" }, { 14, "Filter for PSR+Enhanced Surveillance" }, { 15, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 16, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 0, NULL } }; static const FieldPart I034_V1_27_070_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_034_V1_27_070_TYP, NULL }; static int hf_034_V1_27_070_COUNT; static const FieldPart I034_V1_27_070_COUNT = { 11, 1.0, FIELD_PART_UINT, &hf_034_V1_27_070_COUNT, NULL }; static const FieldPart *I034_V1_27_070_PARTS[] = { &I034_V1_27_070_TYP, &I034_V1_27_070_COUNT, NULL }; static const AsterixField I034_V1_27_070 = { REPETITIVE, 2, 1, 0, &hf_034_V1_27_070, I034_V1_27_070_PARTS, { NULL } }; static int hf_034_V1_27_090; static int hf_034_V1_27_090_RNG; static const FieldPart I034_V1_27_090_RNG = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_034_V1_27_090_RNG, NULL }; static int hf_034_V1_27_090_AZM; static const FieldPart I034_V1_27_090_AZM = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_034_V1_27_090_AZM, NULL }; static const FieldPart *I034_V1_27_090_PARTS[] = { &I034_V1_27_090_RNG, &I034_V1_27_090_AZM, NULL }; static const AsterixField I034_V1_27_090 = { FIXED, 2, 0, 0, &hf_034_V1_27_090, I034_V1_27_090_PARTS, { NULL } }; static int hf_034_V1_27_100; static int hf_034_V1_27_100_RHOST; static const FieldPart I034_V1_27_100_RHOST = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_V1_27_100_RHOST, NULL }; static int hf_034_V1_27_100_RHOEND; static const FieldPart I034_V1_27_100_RHOEND = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_V1_27_100_RHOEND, NULL }; static int hf_034_V1_27_100_THETAST; static const FieldPart I034_V1_27_100_THETAST = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_V1_27_100_THETAST, NULL }; static int hf_034_V1_27_100_THETAEND; static const FieldPart I034_V1_27_100_THETAEND = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_V1_27_100_THETAEND, NULL }; static const FieldPart *I034_V1_27_100_PARTS[] = { &I034_V1_27_100_RHOST, &I034_V1_27_100_RHOEND, &I034_V1_27_100_THETAST, &I034_V1_27_100_THETAEND, NULL }; static const AsterixField I034_V1_27_100 = { FIXED, 8, 0, 0, &hf_034_V1_27_100, I034_V1_27_100_PARTS, { NULL } }; static int hf_034_V1_27_110; static int hf_034_V1_27_110_VALUE; static const value_string valstr_034_V1_27_110_VALUE[] = { { 0, "Invalid value" }, { 1, "Filter for Weather data" }, { 2, "Filter for Jamming Strobe" }, { 3, "Filter for PSR data" }, { 4, "Filter for SSR/Mode S data" }, { 5, "Filter for SSR/Mode S + PSR data" }, { 6, "Enhanced Surveillance data" }, { 7, "Filter for PSR+Enhanced Surveillance data" }, { 8, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 9, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 0, NULL } }; static const FieldPart I034_V1_27_110_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_V1_27_110_VALUE, NULL }; static const FieldPart *I034_V1_27_110_PARTS[] = { &I034_V1_27_110_VALUE, NULL }; static const AsterixField I034_V1_27_110 = { FIXED, 1, 0, 0, &hf_034_V1_27_110, I034_V1_27_110_PARTS, { NULL } }; static int hf_034_V1_27_120; static int hf_034_V1_27_120_HGT; static const FieldPart I034_V1_27_120_HGT = { 16, 1.0, FIELD_PART_FLOAT, &hf_034_V1_27_120_HGT, NULL }; static int hf_034_V1_27_120_LAT; static const FieldPart I034_V1_27_120_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_V1_27_120_LAT, NULL }; static int hf_034_V1_27_120_LON; static const FieldPart I034_V1_27_120_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_V1_27_120_LON, NULL }; static const FieldPart *I034_V1_27_120_PARTS[] = { &I034_V1_27_120_HGT, &I034_V1_27_120_LAT, &I034_V1_27_120_LON, NULL }; static const AsterixField I034_V1_27_120 = { FIXED, 8, 0, 0, &hf_034_V1_27_120, I034_V1_27_120_PARTS, { NULL } }; static int hf_034_V1_27_RE; static const AsterixField I034_V1_27_RE = { EXP, 0, 0, 1, &hf_034_V1_27_RE, NULL, { NULL } }; static int hf_034_V1_27_SP; static const AsterixField I034_V1_27_SP = { EXP, 0, 0, 1, &hf_034_V1_27_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I034_V1_27_uap[] = { &I034_V1_27_010, &I034_V1_27_000, &I034_V1_27_030, &I034_V1_27_020, &I034_V1_27_041, &I034_V1_27_050, &I034_V1_27_060, &I034_V1_27_070, &I034_V1_27_100, &I034_V1_27_110, &I034_V1_27_120, &I034_V1_27_090, &I034_V1_27_RE, &I034_V1_27_SP, NULL }; static const AsterixField **I034_V1_27[] = { I034_V1_27_uap, NULL }; DIAG_ON_PEDANTIC /* Category 034, edition 1.28 */ static int hf_034_V1_28_000; static int hf_034_V1_28_000_VALUE; static const value_string valstr_034_V1_28_000_VALUE[] = { { 1, "North marker message" }, { 2, "Sector crossing message" }, { 3, "Geographical filtering message" }, { 4, "Jamming strobe message" }, { 5, "Solar Storm Message" }, { 0, NULL } }; static const FieldPart I034_V1_28_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_V1_28_000_VALUE, NULL }; static const FieldPart *I034_V1_28_000_PARTS[] = { &I034_V1_28_000_VALUE, NULL }; static const AsterixField I034_V1_28_000 = { FIXED, 1, 0, 0, &hf_034_V1_28_000, I034_V1_28_000_PARTS, { NULL } }; static int hf_034_V1_28_010; static int hf_034_V1_28_010_SAC; static const FieldPart I034_V1_28_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_034_V1_28_010_SAC, NULL }; static int hf_034_V1_28_010_SIC; static const FieldPart I034_V1_28_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_034_V1_28_010_SIC, NULL }; static const FieldPart *I034_V1_28_010_PARTS[] = { &I034_V1_28_010_SAC, &I034_V1_28_010_SIC, NULL }; static const AsterixField I034_V1_28_010 = { FIXED, 2, 0, 0, &hf_034_V1_28_010, I034_V1_28_010_PARTS, { NULL } }; static int hf_034_V1_28_020; static int hf_034_V1_28_020_VALUE; static const FieldPart I034_V1_28_020_VALUE = { 8, 1.40625, FIELD_PART_UFLOAT, &hf_034_V1_28_020_VALUE, NULL }; static const FieldPart *I034_V1_28_020_PARTS[] = { &I034_V1_28_020_VALUE, NULL }; static const AsterixField I034_V1_28_020 = { FIXED, 1, 0, 0, &hf_034_V1_28_020, I034_V1_28_020_PARTS, { NULL } }; static int hf_034_V1_28_030; static int hf_034_V1_28_030_VALUE; static const FieldPart I034_V1_28_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_034_V1_28_030_VALUE, NULL }; static const FieldPart *I034_V1_28_030_PARTS[] = { &I034_V1_28_030_VALUE, NULL }; static const AsterixField I034_V1_28_030 = { FIXED, 3, 0, 0, &hf_034_V1_28_030, I034_V1_28_030_PARTS, { NULL } }; static int hf_034_V1_28_041; static int hf_034_V1_28_041_VALUE; static const FieldPart I034_V1_28_041_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_034_V1_28_041_VALUE, NULL }; static const FieldPart *I034_V1_28_041_PARTS[] = { &I034_V1_28_041_VALUE, NULL }; static const AsterixField I034_V1_28_041 = { FIXED, 2, 0, 0, &hf_034_V1_28_041, I034_V1_28_041_PARTS, { NULL } }; static int hf_034_V1_28_050; static int hf_034_V1_28_050_COM; static int hf_034_V1_28_050_COM_NOGO; static const value_string valstr_034_V1_28_050_COM_NOGO[] = { { 0, "System is released for operational use" }, { 1, "Operational use of System is inhibited, i.e. the data shall be discarded by an operational SDPS" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_COM_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_COM_NOGO, NULL }; static int hf_034_V1_28_050_COM_RDPC; static const value_string valstr_034_V1_28_050_COM_RDPC[] = { { 0, "RDPC-1 selected" }, { 1, "RDPC-2 selected" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_COM_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_COM_RDPC, NULL }; static int hf_034_V1_28_050_COM_RDPR; static const value_string valstr_034_V1_28_050_COM_RDPR[] = { { 0, "Default situation" }, { 1, "Reset of RDPC" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_COM_RDPR = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_COM_RDPR, NULL }; static int hf_034_V1_28_050_COM_OVLRDP; static const value_string valstr_034_V1_28_050_COM_OVLRDP[] = { { 0, "Default, no overload" }, { 1, "Overload in RDP" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_COM_OVLRDP = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_COM_OVLRDP, NULL }; static int hf_034_V1_28_050_COM_OVLXMT; static const value_string valstr_034_V1_28_050_COM_OVLXMT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_COM_OVLXMT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_COM_OVLXMT, NULL }; static int hf_034_V1_28_050_COM_MSC; static const value_string valstr_034_V1_28_050_COM_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_COM_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_COM_MSC, NULL }; static int hf_034_V1_28_050_COM_TSV; static const value_string valstr_034_V1_28_050_COM_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_COM_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_COM_TSV, NULL }; static const FieldPart *I034_V1_28_050_COM_PARTS[] = { &I034_V1_28_050_COM_NOGO, &I034_V1_28_050_COM_RDPC, &I034_V1_28_050_COM_RDPR, &I034_V1_28_050_COM_OVLRDP, &I034_V1_28_050_COM_OVLXMT, &I034_V1_28_050_COM_MSC, &I034_V1_28_050_COM_TSV, &IXXX_1bit_spare, NULL }; static const AsterixField I034_V1_28_050_COM = { FIXED, 1, 0, 0, &hf_034_V1_28_050_COM, I034_V1_28_050_COM_PARTS, { NULL } }; static int hf_034_V1_28_050_PSR; static int hf_034_V1_28_050_PSR_ANT; static const value_string valstr_034_V1_28_050_PSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_PSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_PSR_ANT, NULL }; static int hf_034_V1_28_050_PSR_CHAB; static const value_string valstr_034_V1_28_050_PSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Diversity mode ; Channel A and B selected" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_PSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_PSR_CHAB, NULL }; static int hf_034_V1_28_050_PSR_OVL; static const value_string valstr_034_V1_28_050_PSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_PSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_PSR_OVL, NULL }; static int hf_034_V1_28_050_PSR_MSC; static const value_string valstr_034_V1_28_050_PSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_PSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_PSR_MSC, NULL }; static const FieldPart *I034_V1_28_050_PSR_PARTS[] = { &I034_V1_28_050_PSR_ANT, &I034_V1_28_050_PSR_CHAB, &I034_V1_28_050_PSR_OVL, &I034_V1_28_050_PSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_V1_28_050_PSR = { FIXED, 1, 0, 0, &hf_034_V1_28_050_PSR, I034_V1_28_050_PSR_PARTS, { NULL } }; static int hf_034_V1_28_050_SSR; static int hf_034_V1_28_050_SSR_ANT; static const value_string valstr_034_V1_28_050_SSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_SSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_SSR_ANT, NULL }; static int hf_034_V1_28_050_SSR_CHAB; static const value_string valstr_034_V1_28_050_SSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Invalid combination" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_SSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_SSR_CHAB, NULL }; static int hf_034_V1_28_050_SSR_OVL; static const value_string valstr_034_V1_28_050_SSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_SSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_SSR_OVL, NULL }; static int hf_034_V1_28_050_SSR_MSC; static const value_string valstr_034_V1_28_050_SSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_SSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_SSR_MSC, NULL }; static const FieldPart *I034_V1_28_050_SSR_PARTS[] = { &I034_V1_28_050_SSR_ANT, &I034_V1_28_050_SSR_CHAB, &I034_V1_28_050_SSR_OVL, &I034_V1_28_050_SSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_V1_28_050_SSR = { FIXED, 1, 0, 0, &hf_034_V1_28_050_SSR, I034_V1_28_050_SSR_PARTS, { NULL } }; static int hf_034_V1_28_050_MDS; static int hf_034_V1_28_050_MDS_ANT; static const value_string valstr_034_V1_28_050_MDS_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_ANT, NULL }; static int hf_034_V1_28_050_MDS_CHAB; static const value_string valstr_034_V1_28_050_MDS_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Illegal combination" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_CHAB, NULL }; static int hf_034_V1_28_050_MDS_OVLSUR; static const value_string valstr_034_V1_28_050_MDS_OVLSUR[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_OVLSUR = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_OVLSUR, NULL }; static int hf_034_V1_28_050_MDS_MSC; static const value_string valstr_034_V1_28_050_MDS_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_MSC, NULL }; static int hf_034_V1_28_050_MDS_SCF; static const value_string valstr_034_V1_28_050_MDS_SCF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_SCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_SCF, NULL }; static int hf_034_V1_28_050_MDS_DLF; static const value_string valstr_034_V1_28_050_MDS_DLF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_DLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_DLF, NULL }; static int hf_034_V1_28_050_MDS_OVLSCF; static const value_string valstr_034_V1_28_050_MDS_OVLSCF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_OVLSCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_OVLSCF, NULL }; static int hf_034_V1_28_050_MDS_OVLDLF; static const value_string valstr_034_V1_28_050_MDS_OVLDLF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_28_050_MDS_OVLDLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_050_MDS_OVLDLF, NULL }; static const FieldPart *I034_V1_28_050_MDS_PARTS[] = { &I034_V1_28_050_MDS_ANT, &I034_V1_28_050_MDS_CHAB, &I034_V1_28_050_MDS_OVLSUR, &I034_V1_28_050_MDS_MSC, &I034_V1_28_050_MDS_SCF, &I034_V1_28_050_MDS_DLF, &I034_V1_28_050_MDS_OVLSCF, &I034_V1_28_050_MDS_OVLDLF, &IXXX_7bit_spare, NULL }; static const AsterixField I034_V1_28_050_MDS = { FIXED, 2, 0, 0, &hf_034_V1_28_050_MDS, I034_V1_28_050_MDS_PARTS, { NULL } }; static const AsterixField I034_V1_28_050 = { COMPOUND, 0, 0, 0, &hf_034_V1_28_050, NULL, { &I034_V1_28_050_COM, &IX_SPARE, &IX_SPARE, &I034_V1_28_050_PSR, &I034_V1_28_050_SSR, &I034_V1_28_050_MDS, NULL } }; static int hf_034_V1_28_060; static int hf_034_V1_28_060_COM; static int hf_034_V1_28_060_COM_REDRDP; static const value_string valstr_034_V1_28_060_COM_REDRDP[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_COM_REDRDP = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_COM_REDRDP, NULL }; static int hf_034_V1_28_060_COM_REDXMT; static const value_string valstr_034_V1_28_060_COM_REDXMT[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_COM_REDXMT = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_COM_REDXMT, NULL }; static const FieldPart *I034_V1_28_060_COM_PARTS[] = { &IXXX_1bit_spare, &I034_V1_28_060_COM_REDRDP, &I034_V1_28_060_COM_REDXMT, &IXXX_1bit_spare, NULL }; static const AsterixField I034_V1_28_060_COM = { FIXED, 1, 0, 0, &hf_034_V1_28_060_COM, I034_V1_28_060_COM_PARTS, { NULL } }; static int hf_034_V1_28_060_PSR; static int hf_034_V1_28_060_PSR_POL; static const value_string valstr_034_V1_28_060_PSR_POL[] = { { 0, "Linear polarization" }, { 1, "Circular polarization" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_PSR_POL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_PSR_POL, NULL }; static int hf_034_V1_28_060_PSR_REDRAD; static const value_string valstr_034_V1_28_060_PSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_PSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_PSR_REDRAD, NULL }; static int hf_034_V1_28_060_PSR_STC; static const value_string valstr_034_V1_28_060_PSR_STC[] = { { 0, "STC Map-1" }, { 1, "STC Map-2" }, { 2, "STC Map-3" }, { 3, "STC Map-4" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_PSR_STC = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_PSR_STC, NULL }; static const FieldPart *I034_V1_28_060_PSR_PARTS[] = { &I034_V1_28_060_PSR_POL, &I034_V1_28_060_PSR_REDRAD, &I034_V1_28_060_PSR_STC, &IXXX_2bit_spare, NULL }; static const AsterixField I034_V1_28_060_PSR = { FIXED, 1, 0, 0, &hf_034_V1_28_060_PSR, I034_V1_28_060_PSR_PARTS, { NULL } }; static int hf_034_V1_28_060_SSR; static int hf_034_V1_28_060_SSR_REDRAD; static const value_string valstr_034_V1_28_060_SSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_SSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_SSR_REDRAD, NULL }; static const FieldPart *I034_V1_28_060_SSR_PARTS[] = { &I034_V1_28_060_SSR_REDRAD, &IXXX_5bit_spare, NULL }; static const AsterixField I034_V1_28_060_SSR = { FIXED, 1, 0, 0, &hf_034_V1_28_060_SSR, I034_V1_28_060_SSR_PARTS, { NULL } }; static int hf_034_V1_28_060_MDS; static int hf_034_V1_28_060_MDS_REDRAD; static const value_string valstr_034_V1_28_060_MDS_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_MDS_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_MDS_REDRAD, NULL }; static int hf_034_V1_28_060_MDS_CLU; static const value_string valstr_034_V1_28_060_MDS_CLU[] = { { 0, "Autonomous" }, { 1, "Not autonomous" }, { 0, NULL } }; static const FieldPart I034_V1_28_060_MDS_CLU = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_28_060_MDS_CLU, NULL }; static const FieldPart *I034_V1_28_060_MDS_PARTS[] = { &I034_V1_28_060_MDS_REDRAD, &I034_V1_28_060_MDS_CLU, &IXXX_4bit_spare, NULL }; static const AsterixField I034_V1_28_060_MDS = { FIXED, 1, 0, 0, &hf_034_V1_28_060_MDS, I034_V1_28_060_MDS_PARTS, { NULL } }; static const AsterixField I034_V1_28_060 = { COMPOUND, 0, 0, 0, &hf_034_V1_28_060, NULL, { &I034_V1_28_060_COM, &IX_SPARE, &IX_SPARE, &I034_V1_28_060_PSR, &I034_V1_28_060_SSR, &I034_V1_28_060_MDS, NULL } }; static int hf_034_V1_28_070; static int hf_034_V1_28_070_TYP; static const value_string valstr_034_V1_28_070_TYP[] = { { 0, "No detection (number of misses)" }, { 1, "Single PSR target reports" }, { 2, "Single SSR target reports (Non-Mode S)" }, { 3, "SSR+PSR target reports (Non-Mode S)" }, { 4, "Single All-Call target reports (Mode S)" }, { 5, "Single Roll-Call target reports (Mode S)" }, { 6, "All-Call + PSR (Mode S) target reports" }, { 7, "Roll-Call + PSR (Mode S) target reports" }, { 8, "Filter for Weather data" }, { 9, "Filter for Jamming Strobe" }, { 10, "Filter for PSR data" }, { 11, "Filter for SSR/Mode S data" }, { 12, "Filter for SSR/Mode S+PSR data" }, { 13, "Filter for Enhanced Surveillance data" }, { 14, "Filter for PSR+Enhanced Surveillance" }, { 15, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 16, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 17, "Re-Interrogations (per sector)" }, { 18, "BDS Swap and wrong DF replies(per sector)" }, { 19, "Mode A/C FRUIT (per sector)" }, { 20, "Mode S FRUIT (per sector)" }, { 0, NULL } }; static const FieldPart I034_V1_28_070_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_034_V1_28_070_TYP, NULL }; static int hf_034_V1_28_070_COUNT; static const FieldPart I034_V1_28_070_COUNT = { 11, 1.0, FIELD_PART_UINT, &hf_034_V1_28_070_COUNT, NULL }; static const FieldPart *I034_V1_28_070_PARTS[] = { &I034_V1_28_070_TYP, &I034_V1_28_070_COUNT, NULL }; static const AsterixField I034_V1_28_070 = { REPETITIVE, 2, 1, 0, &hf_034_V1_28_070, I034_V1_28_070_PARTS, { NULL } }; static int hf_034_V1_28_090; static int hf_034_V1_28_090_RNG; static const FieldPart I034_V1_28_090_RNG = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_034_V1_28_090_RNG, NULL }; static int hf_034_V1_28_090_AZM; static const FieldPart I034_V1_28_090_AZM = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_034_V1_28_090_AZM, NULL }; static const FieldPart *I034_V1_28_090_PARTS[] = { &I034_V1_28_090_RNG, &I034_V1_28_090_AZM, NULL }; static const AsterixField I034_V1_28_090 = { FIXED, 2, 0, 0, &hf_034_V1_28_090, I034_V1_28_090_PARTS, { NULL } }; static int hf_034_V1_28_100; static int hf_034_V1_28_100_RHOST; static const FieldPart I034_V1_28_100_RHOST = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_V1_28_100_RHOST, NULL }; static int hf_034_V1_28_100_RHOEND; static const FieldPart I034_V1_28_100_RHOEND = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_V1_28_100_RHOEND, NULL }; static int hf_034_V1_28_100_THETAST; static const FieldPart I034_V1_28_100_THETAST = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_V1_28_100_THETAST, NULL }; static int hf_034_V1_28_100_THETAEND; static const FieldPart I034_V1_28_100_THETAEND = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_V1_28_100_THETAEND, NULL }; static const FieldPart *I034_V1_28_100_PARTS[] = { &I034_V1_28_100_RHOST, &I034_V1_28_100_RHOEND, &I034_V1_28_100_THETAST, &I034_V1_28_100_THETAEND, NULL }; static const AsterixField I034_V1_28_100 = { FIXED, 8, 0, 0, &hf_034_V1_28_100, I034_V1_28_100_PARTS, { NULL } }; static int hf_034_V1_28_110; static int hf_034_V1_28_110_VALUE; static const value_string valstr_034_V1_28_110_VALUE[] = { { 0, "Invalid value" }, { 1, "Filter for Weather data" }, { 2, "Filter for Jamming Strobe" }, { 3, "Filter for PSR data" }, { 4, "Filter for SSR/Mode S data" }, { 5, "Filter for SSR/Mode S + PSR data" }, { 6, "Enhanced Surveillance data" }, { 7, "Filter for PSR+Enhanced Surveillance data" }, { 8, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 9, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 0, NULL } }; static const FieldPart I034_V1_28_110_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_V1_28_110_VALUE, NULL }; static const FieldPart *I034_V1_28_110_PARTS[] = { &I034_V1_28_110_VALUE, NULL }; static const AsterixField I034_V1_28_110 = { FIXED, 1, 0, 0, &hf_034_V1_28_110, I034_V1_28_110_PARTS, { NULL } }; static int hf_034_V1_28_120; static int hf_034_V1_28_120_HGT; static const FieldPart I034_V1_28_120_HGT = { 16, 1.0, FIELD_PART_FLOAT, &hf_034_V1_28_120_HGT, NULL }; static int hf_034_V1_28_120_LAT; static const FieldPart I034_V1_28_120_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_V1_28_120_LAT, NULL }; static int hf_034_V1_28_120_LON; static const FieldPart I034_V1_28_120_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_V1_28_120_LON, NULL }; static const FieldPart *I034_V1_28_120_PARTS[] = { &I034_V1_28_120_HGT, &I034_V1_28_120_LAT, &I034_V1_28_120_LON, NULL }; static const AsterixField I034_V1_28_120 = { FIXED, 8, 0, 0, &hf_034_V1_28_120, I034_V1_28_120_PARTS, { NULL } }; static int hf_034_V1_28_RE; static const AsterixField I034_V1_28_RE = { EXP, 0, 0, 1, &hf_034_V1_28_RE, NULL, { NULL } }; static int hf_034_V1_28_SP; static const AsterixField I034_V1_28_SP = { EXP, 0, 0, 1, &hf_034_V1_28_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I034_V1_28_uap[] = { &I034_V1_28_010, &I034_V1_28_000, &I034_V1_28_030, &I034_V1_28_020, &I034_V1_28_041, &I034_V1_28_050, &I034_V1_28_060, &I034_V1_28_070, &I034_V1_28_100, &I034_V1_28_110, &I034_V1_28_120, &I034_V1_28_090, &I034_V1_28_RE, &I034_V1_28_SP, NULL }; static const AsterixField **I034_V1_28[] = { I034_V1_28_uap, NULL }; DIAG_ON_PEDANTIC /* Category 034, edition 1.29 */ static int hf_034_V1_29_000; static int hf_034_V1_29_000_VALUE; static const value_string valstr_034_V1_29_000_VALUE[] = { { 1, "North marker message" }, { 2, "Sector crossing message" }, { 3, "Geographical filtering message" }, { 4, "Jamming strobe message" }, { 5, "Solar Storm Message" }, { 6, "SSR Jamming Strobe Message" }, { 7, "Mode S Jamming Strobe Message" }, { 0, NULL } }; static const FieldPart I034_V1_29_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_V1_29_000_VALUE, NULL }; static const FieldPart *I034_V1_29_000_PARTS[] = { &I034_V1_29_000_VALUE, NULL }; static const AsterixField I034_V1_29_000 = { FIXED, 1, 0, 0, &hf_034_V1_29_000, I034_V1_29_000_PARTS, { NULL } }; static int hf_034_V1_29_010; static int hf_034_V1_29_010_SAC; static const FieldPart I034_V1_29_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_034_V1_29_010_SAC, NULL }; static int hf_034_V1_29_010_SIC; static const FieldPart I034_V1_29_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_034_V1_29_010_SIC, NULL }; static const FieldPart *I034_V1_29_010_PARTS[] = { &I034_V1_29_010_SAC, &I034_V1_29_010_SIC, NULL }; static const AsterixField I034_V1_29_010 = { FIXED, 2, 0, 0, &hf_034_V1_29_010, I034_V1_29_010_PARTS, { NULL } }; static int hf_034_V1_29_020; static int hf_034_V1_29_020_VALUE; static const FieldPart I034_V1_29_020_VALUE = { 8, 1.40625, FIELD_PART_UFLOAT, &hf_034_V1_29_020_VALUE, NULL }; static const FieldPart *I034_V1_29_020_PARTS[] = { &I034_V1_29_020_VALUE, NULL }; static const AsterixField I034_V1_29_020 = { FIXED, 1, 0, 0, &hf_034_V1_29_020, I034_V1_29_020_PARTS, { NULL } }; static int hf_034_V1_29_030; static int hf_034_V1_29_030_VALUE; static const FieldPart I034_V1_29_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_034_V1_29_030_VALUE, NULL }; static const FieldPart *I034_V1_29_030_PARTS[] = { &I034_V1_29_030_VALUE, NULL }; static const AsterixField I034_V1_29_030 = { FIXED, 3, 0, 0, &hf_034_V1_29_030, I034_V1_29_030_PARTS, { NULL } }; static int hf_034_V1_29_041; static int hf_034_V1_29_041_VALUE; static const FieldPart I034_V1_29_041_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_034_V1_29_041_VALUE, NULL }; static const FieldPart *I034_V1_29_041_PARTS[] = { &I034_V1_29_041_VALUE, NULL }; static const AsterixField I034_V1_29_041 = { FIXED, 2, 0, 0, &hf_034_V1_29_041, I034_V1_29_041_PARTS, { NULL } }; static int hf_034_V1_29_050; static int hf_034_V1_29_050_COM; static int hf_034_V1_29_050_COM_NOGO; static const value_string valstr_034_V1_29_050_COM_NOGO[] = { { 0, "System is released for operational use" }, { 1, "Operational use of System is inhibited, i.e. the data shall be discarded by an operational SDPS" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_COM_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_COM_NOGO, NULL }; static int hf_034_V1_29_050_COM_RDPC; static const value_string valstr_034_V1_29_050_COM_RDPC[] = { { 0, "RDPC-1 selected" }, { 1, "RDPC-2 selected" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_COM_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_COM_RDPC, NULL }; static int hf_034_V1_29_050_COM_RDPR; static const value_string valstr_034_V1_29_050_COM_RDPR[] = { { 0, "Default situation" }, { 1, "Reset of RDPC" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_COM_RDPR = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_COM_RDPR, NULL }; static int hf_034_V1_29_050_COM_OVLRDP; static const value_string valstr_034_V1_29_050_COM_OVLRDP[] = { { 0, "Default, no overload" }, { 1, "Overload in RDP" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_COM_OVLRDP = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_COM_OVLRDP, NULL }; static int hf_034_V1_29_050_COM_OVLXMT; static const value_string valstr_034_V1_29_050_COM_OVLXMT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_COM_OVLXMT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_COM_OVLXMT, NULL }; static int hf_034_V1_29_050_COM_MSC; static const value_string valstr_034_V1_29_050_COM_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_COM_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_COM_MSC, NULL }; static int hf_034_V1_29_050_COM_TSV; static const value_string valstr_034_V1_29_050_COM_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_COM_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_COM_TSV, NULL }; static const FieldPart *I034_V1_29_050_COM_PARTS[] = { &I034_V1_29_050_COM_NOGO, &I034_V1_29_050_COM_RDPC, &I034_V1_29_050_COM_RDPR, &I034_V1_29_050_COM_OVLRDP, &I034_V1_29_050_COM_OVLXMT, &I034_V1_29_050_COM_MSC, &I034_V1_29_050_COM_TSV, &IXXX_1bit_spare, NULL }; static const AsterixField I034_V1_29_050_COM = { FIXED, 1, 0, 0, &hf_034_V1_29_050_COM, I034_V1_29_050_COM_PARTS, { NULL } }; static int hf_034_V1_29_050_PSR; static int hf_034_V1_29_050_PSR_ANT; static const value_string valstr_034_V1_29_050_PSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_PSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_PSR_ANT, NULL }; static int hf_034_V1_29_050_PSR_CHAB; static const value_string valstr_034_V1_29_050_PSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Diversity mode ; Channel A and B selected" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_PSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_PSR_CHAB, NULL }; static int hf_034_V1_29_050_PSR_OVL; static const value_string valstr_034_V1_29_050_PSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_PSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_PSR_OVL, NULL }; static int hf_034_V1_29_050_PSR_MSC; static const value_string valstr_034_V1_29_050_PSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_PSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_PSR_MSC, NULL }; static const FieldPart *I034_V1_29_050_PSR_PARTS[] = { &I034_V1_29_050_PSR_ANT, &I034_V1_29_050_PSR_CHAB, &I034_V1_29_050_PSR_OVL, &I034_V1_29_050_PSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_V1_29_050_PSR = { FIXED, 1, 0, 0, &hf_034_V1_29_050_PSR, I034_V1_29_050_PSR_PARTS, { NULL } }; static int hf_034_V1_29_050_SSR; static int hf_034_V1_29_050_SSR_ANT; static const value_string valstr_034_V1_29_050_SSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_SSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_SSR_ANT, NULL }; static int hf_034_V1_29_050_SSR_CHAB; static const value_string valstr_034_V1_29_050_SSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Invalid combination" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_SSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_SSR_CHAB, NULL }; static int hf_034_V1_29_050_SSR_OVL; static const value_string valstr_034_V1_29_050_SSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_SSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_SSR_OVL, NULL }; static int hf_034_V1_29_050_SSR_MSC; static const value_string valstr_034_V1_29_050_SSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_SSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_SSR_MSC, NULL }; static const FieldPart *I034_V1_29_050_SSR_PARTS[] = { &I034_V1_29_050_SSR_ANT, &I034_V1_29_050_SSR_CHAB, &I034_V1_29_050_SSR_OVL, &I034_V1_29_050_SSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_V1_29_050_SSR = { FIXED, 1, 0, 0, &hf_034_V1_29_050_SSR, I034_V1_29_050_SSR_PARTS, { NULL } }; static int hf_034_V1_29_050_MDS; static int hf_034_V1_29_050_MDS_ANT; static const value_string valstr_034_V1_29_050_MDS_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_ANT, NULL }; static int hf_034_V1_29_050_MDS_CHAB; static const value_string valstr_034_V1_29_050_MDS_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Illegal combination" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_CHAB, NULL }; static int hf_034_V1_29_050_MDS_OVLSUR; static const value_string valstr_034_V1_29_050_MDS_OVLSUR[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_OVLSUR = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_OVLSUR, NULL }; static int hf_034_V1_29_050_MDS_MSC; static const value_string valstr_034_V1_29_050_MDS_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_MSC, NULL }; static int hf_034_V1_29_050_MDS_SCF; static const value_string valstr_034_V1_29_050_MDS_SCF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_SCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_SCF, NULL }; static int hf_034_V1_29_050_MDS_DLF; static const value_string valstr_034_V1_29_050_MDS_DLF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_DLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_DLF, NULL }; static int hf_034_V1_29_050_MDS_OVLSCF; static const value_string valstr_034_V1_29_050_MDS_OVLSCF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_OVLSCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_OVLSCF, NULL }; static int hf_034_V1_29_050_MDS_OVLDLF; static const value_string valstr_034_V1_29_050_MDS_OVLDLF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_V1_29_050_MDS_OVLDLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_050_MDS_OVLDLF, NULL }; static const FieldPart *I034_V1_29_050_MDS_PARTS[] = { &I034_V1_29_050_MDS_ANT, &I034_V1_29_050_MDS_CHAB, &I034_V1_29_050_MDS_OVLSUR, &I034_V1_29_050_MDS_MSC, &I034_V1_29_050_MDS_SCF, &I034_V1_29_050_MDS_DLF, &I034_V1_29_050_MDS_OVLSCF, &I034_V1_29_050_MDS_OVLDLF, &IXXX_7bit_spare, NULL }; static const AsterixField I034_V1_29_050_MDS = { FIXED, 2, 0, 0, &hf_034_V1_29_050_MDS, I034_V1_29_050_MDS_PARTS, { NULL } }; static const AsterixField I034_V1_29_050 = { COMPOUND, 0, 0, 0, &hf_034_V1_29_050, NULL, { &I034_V1_29_050_COM, &IX_SPARE, &IX_SPARE, &I034_V1_29_050_PSR, &I034_V1_29_050_SSR, &I034_V1_29_050_MDS, NULL } }; static int hf_034_V1_29_060; static int hf_034_V1_29_060_COM; static int hf_034_V1_29_060_COM_REDRDP; static const value_string valstr_034_V1_29_060_COM_REDRDP[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_COM_REDRDP = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_COM_REDRDP, NULL }; static int hf_034_V1_29_060_COM_REDXMT; static const value_string valstr_034_V1_29_060_COM_REDXMT[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_COM_REDXMT = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_COM_REDXMT, NULL }; static const FieldPart *I034_V1_29_060_COM_PARTS[] = { &IXXX_1bit_spare, &I034_V1_29_060_COM_REDRDP, &I034_V1_29_060_COM_REDXMT, &IXXX_1bit_spare, NULL }; static const AsterixField I034_V1_29_060_COM = { FIXED, 1, 0, 0, &hf_034_V1_29_060_COM, I034_V1_29_060_COM_PARTS, { NULL } }; static int hf_034_V1_29_060_PSR; static int hf_034_V1_29_060_PSR_POL; static const value_string valstr_034_V1_29_060_PSR_POL[] = { { 0, "Linear polarization" }, { 1, "Circular polarization" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_PSR_POL = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_PSR_POL, NULL }; static int hf_034_V1_29_060_PSR_REDRAD; static const value_string valstr_034_V1_29_060_PSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_PSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_PSR_REDRAD, NULL }; static int hf_034_V1_29_060_PSR_STC; static const value_string valstr_034_V1_29_060_PSR_STC[] = { { 0, "STC Map-1" }, { 1, "STC Map-2" }, { 2, "STC Map-3" }, { 3, "STC Map-4" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_PSR_STC = { 2, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_PSR_STC, NULL }; static const FieldPart *I034_V1_29_060_PSR_PARTS[] = { &I034_V1_29_060_PSR_POL, &I034_V1_29_060_PSR_REDRAD, &I034_V1_29_060_PSR_STC, &IXXX_2bit_spare, NULL }; static const AsterixField I034_V1_29_060_PSR = { FIXED, 1, 0, 0, &hf_034_V1_29_060_PSR, I034_V1_29_060_PSR_PARTS, { NULL } }; static int hf_034_V1_29_060_SSR; static int hf_034_V1_29_060_SSR_REDRAD; static const value_string valstr_034_V1_29_060_SSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_SSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_SSR_REDRAD, NULL }; static const FieldPart *I034_V1_29_060_SSR_PARTS[] = { &I034_V1_29_060_SSR_REDRAD, &IXXX_5bit_spare, NULL }; static const AsterixField I034_V1_29_060_SSR = { FIXED, 1, 0, 0, &hf_034_V1_29_060_SSR, I034_V1_29_060_SSR_PARTS, { NULL } }; static int hf_034_V1_29_060_MDS; static int hf_034_V1_29_060_MDS_REDRAD; static const value_string valstr_034_V1_29_060_MDS_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_MDS_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_MDS_REDRAD, NULL }; static int hf_034_V1_29_060_MDS_CLU; static const value_string valstr_034_V1_29_060_MDS_CLU[] = { { 0, "Autonomous" }, { 1, "Not autonomous" }, { 0, NULL } }; static const FieldPart I034_V1_29_060_MDS_CLU = { 1, 1.0, FIELD_PART_UINT, &hf_034_V1_29_060_MDS_CLU, NULL }; static const FieldPart *I034_V1_29_060_MDS_PARTS[] = { &I034_V1_29_060_MDS_REDRAD, &I034_V1_29_060_MDS_CLU, &IXXX_4bit_spare, NULL }; static const AsterixField I034_V1_29_060_MDS = { FIXED, 1, 0, 0, &hf_034_V1_29_060_MDS, I034_V1_29_060_MDS_PARTS, { NULL } }; static const AsterixField I034_V1_29_060 = { COMPOUND, 0, 0, 0, &hf_034_V1_29_060, NULL, { &I034_V1_29_060_COM, &IX_SPARE, &IX_SPARE, &I034_V1_29_060_PSR, &I034_V1_29_060_SSR, &I034_V1_29_060_MDS, NULL } }; static int hf_034_V1_29_070; static int hf_034_V1_29_070_TYP; static const value_string valstr_034_V1_29_070_TYP[] = { { 0, "No detection (number of misses)" }, { 1, "Single PSR target reports" }, { 2, "Single SSR target reports (Non-Mode S)" }, { 3, "SSR+PSR target reports (Non-Mode S)" }, { 4, "Single All-Call target reports (Mode S)" }, { 5, "Single Roll-Call target reports (Mode S)" }, { 6, "All-Call + PSR (Mode S) target reports" }, { 7, "Roll-Call + PSR (Mode S) target reports" }, { 8, "Filter for Weather data" }, { 9, "Filter for Jamming Strobe" }, { 10, "Filter for PSR data" }, { 11, "Filter for SSR/Mode S data" }, { 12, "Filter for SSR/Mode S+PSR data" }, { 13, "Filter for Enhanced Surveillance data" }, { 14, "Filter for PSR+Enhanced Surveillance" }, { 15, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 16, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 17, "Re-Interrogations (per sector)" }, { 18, "BDS Swap and wrong DF replies(per sector)" }, { 19, "Mode A/C FRUIT (per sector)" }, { 20, "Mode S FRUIT (per sector)" }, { 0, NULL } }; static const FieldPart I034_V1_29_070_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_034_V1_29_070_TYP, NULL }; static int hf_034_V1_29_070_COUNT; static const FieldPart I034_V1_29_070_COUNT = { 11, 1.0, FIELD_PART_UINT, &hf_034_V1_29_070_COUNT, NULL }; static const FieldPart *I034_V1_29_070_PARTS[] = { &I034_V1_29_070_TYP, &I034_V1_29_070_COUNT, NULL }; static const AsterixField I034_V1_29_070 = { REPETITIVE, 2, 1, 0, &hf_034_V1_29_070, I034_V1_29_070_PARTS, { NULL } }; static int hf_034_V1_29_090; static int hf_034_V1_29_090_RNG; static const FieldPart I034_V1_29_090_RNG = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_034_V1_29_090_RNG, NULL }; static int hf_034_V1_29_090_AZM; static const FieldPart I034_V1_29_090_AZM = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_034_V1_29_090_AZM, NULL }; static const FieldPart *I034_V1_29_090_PARTS[] = { &I034_V1_29_090_RNG, &I034_V1_29_090_AZM, NULL }; static const AsterixField I034_V1_29_090 = { FIXED, 2, 0, 0, &hf_034_V1_29_090, I034_V1_29_090_PARTS, { NULL } }; static int hf_034_V1_29_100; static int hf_034_V1_29_100_RHOST; static const FieldPart I034_V1_29_100_RHOST = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_V1_29_100_RHOST, NULL }; static int hf_034_V1_29_100_RHOEND; static const FieldPart I034_V1_29_100_RHOEND = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_V1_29_100_RHOEND, NULL }; static int hf_034_V1_29_100_THETAST; static const FieldPart I034_V1_29_100_THETAST = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_V1_29_100_THETAST, NULL }; static int hf_034_V1_29_100_THETAEND; static const FieldPart I034_V1_29_100_THETAEND = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_V1_29_100_THETAEND, NULL }; static const FieldPart *I034_V1_29_100_PARTS[] = { &I034_V1_29_100_RHOST, &I034_V1_29_100_RHOEND, &I034_V1_29_100_THETAST, &I034_V1_29_100_THETAEND, NULL }; static const AsterixField I034_V1_29_100 = { FIXED, 8, 0, 0, &hf_034_V1_29_100, I034_V1_29_100_PARTS, { NULL } }; static int hf_034_V1_29_110; static int hf_034_V1_29_110_VALUE; static const value_string valstr_034_V1_29_110_VALUE[] = { { 0, "Invalid value" }, { 1, "Filter for Weather data" }, { 2, "Filter for Jamming Strobe" }, { 3, "Filter for PSR data" }, { 4, "Filter for SSR/Mode S data" }, { 5, "Filter for SSR/Mode S + PSR data" }, { 6, "Enhanced Surveillance data" }, { 7, "Filter for PSR+Enhanced Surveillance data" }, { 8, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 9, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 0, NULL } }; static const FieldPart I034_V1_29_110_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_V1_29_110_VALUE, NULL }; static const FieldPart *I034_V1_29_110_PARTS[] = { &I034_V1_29_110_VALUE, NULL }; static const AsterixField I034_V1_29_110 = { FIXED, 1, 0, 0, &hf_034_V1_29_110, I034_V1_29_110_PARTS, { NULL } }; static int hf_034_V1_29_120; static int hf_034_V1_29_120_HGT; static const FieldPart I034_V1_29_120_HGT = { 16, 1.0, FIELD_PART_FLOAT, &hf_034_V1_29_120_HGT, NULL }; static int hf_034_V1_29_120_LAT; static const FieldPart I034_V1_29_120_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_V1_29_120_LAT, NULL }; static int hf_034_V1_29_120_LON; static const FieldPart I034_V1_29_120_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_V1_29_120_LON, NULL }; static const FieldPart *I034_V1_29_120_PARTS[] = { &I034_V1_29_120_HGT, &I034_V1_29_120_LAT, &I034_V1_29_120_LON, NULL }; static const AsterixField I034_V1_29_120 = { FIXED, 8, 0, 0, &hf_034_V1_29_120, I034_V1_29_120_PARTS, { NULL } }; static int hf_034_V1_29_RE; static const AsterixField I034_V1_29_RE = { EXP, 0, 0, 1, &hf_034_V1_29_RE, NULL, { NULL } }; static int hf_034_V1_29_SP; static const AsterixField I034_V1_29_SP = { EXP, 0, 0, 1, &hf_034_V1_29_SP, NULL, { NULL } }; /* Category 034, edition 1.29 (latest) */ static int hf_034_000; static int hf_034_000_VALUE; static const value_string valstr_034_000_VALUE[] = { { 1, "North marker message" }, { 2, "Sector crossing message" }, { 3, "Geographical filtering message" }, { 4, "Jamming strobe message" }, { 5, "Solar Storm Message" }, { 6, "SSR Jamming Strobe Message" }, { 7, "Mode S Jamming Strobe Message" }, { 0, NULL } }; static const FieldPart I034_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_000_VALUE, NULL }; static const FieldPart *I034_000_PARTS[] = { &I034_000_VALUE, NULL }; static const AsterixField I034_000 = { FIXED, 1, 0, 0, &hf_034_000, I034_000_PARTS, { NULL } }; static int hf_034_010; static int hf_034_010_SAC; static const FieldPart I034_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_034_010_SAC, NULL }; static int hf_034_010_SIC; static const FieldPart I034_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_034_010_SIC, NULL }; static const FieldPart *I034_010_PARTS[] = { &I034_010_SAC, &I034_010_SIC, NULL }; static const AsterixField I034_010 = { FIXED, 2, 0, 0, &hf_034_010, I034_010_PARTS, { NULL } }; static int hf_034_020; static int hf_034_020_VALUE; static const FieldPart I034_020_VALUE = { 8, 1.40625, FIELD_PART_UFLOAT, &hf_034_020_VALUE, NULL }; static const FieldPart *I034_020_PARTS[] = { &I034_020_VALUE, NULL }; static const AsterixField I034_020 = { FIXED, 1, 0, 0, &hf_034_020, I034_020_PARTS, { NULL } }; static int hf_034_030; static int hf_034_030_VALUE; static const FieldPart I034_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_034_030_VALUE, NULL }; static const FieldPart *I034_030_PARTS[] = { &I034_030_VALUE, NULL }; static const AsterixField I034_030 = { FIXED, 3, 0, 0, &hf_034_030, I034_030_PARTS, { NULL } }; static int hf_034_041; static int hf_034_041_VALUE; static const FieldPart I034_041_VALUE = { 16, 0.0078125, FIELD_PART_UFLOAT, &hf_034_041_VALUE, NULL }; static const FieldPart *I034_041_PARTS[] = { &I034_041_VALUE, NULL }; static const AsterixField I034_041 = { FIXED, 2, 0, 0, &hf_034_041, I034_041_PARTS, { NULL } }; static int hf_034_050; static int hf_034_050_COM; static int hf_034_050_COM_NOGO; static const value_string valstr_034_050_COM_NOGO[] = { { 0, "System is released for operational use" }, { 1, "Operational use of System is inhibited, i.e. the data shall be discarded by an operational SDPS" }, { 0, NULL } }; static const FieldPart I034_050_COM_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_COM_NOGO, NULL }; static int hf_034_050_COM_RDPC; static const value_string valstr_034_050_COM_RDPC[] = { { 0, "RDPC-1 selected" }, { 1, "RDPC-2 selected" }, { 0, NULL } }; static const FieldPart I034_050_COM_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_COM_RDPC, NULL }; static int hf_034_050_COM_RDPR; static const value_string valstr_034_050_COM_RDPR[] = { { 0, "Default situation" }, { 1, "Reset of RDPC" }, { 0, NULL } }; static const FieldPart I034_050_COM_RDPR = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_COM_RDPR, NULL }; static int hf_034_050_COM_OVLRDP; static const value_string valstr_034_050_COM_OVLRDP[] = { { 0, "Default, no overload" }, { 1, "Overload in RDP" }, { 0, NULL } }; static const FieldPart I034_050_COM_OVLRDP = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_COM_OVLRDP, NULL }; static int hf_034_050_COM_OVLXMT; static const value_string valstr_034_050_COM_OVLXMT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I034_050_COM_OVLXMT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_COM_OVLXMT, NULL }; static int hf_034_050_COM_MSC; static const value_string valstr_034_050_COM_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_050_COM_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_COM_MSC, NULL }; static int hf_034_050_COM_TSV; static const value_string valstr_034_050_COM_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I034_050_COM_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_COM_TSV, NULL }; static const FieldPart *I034_050_COM_PARTS[] = { &I034_050_COM_NOGO, &I034_050_COM_RDPC, &I034_050_COM_RDPR, &I034_050_COM_OVLRDP, &I034_050_COM_OVLXMT, &I034_050_COM_MSC, &I034_050_COM_TSV, &IXXX_1bit_spare, NULL }; static const AsterixField I034_050_COM = { FIXED, 1, 0, 0, &hf_034_050_COM, I034_050_COM_PARTS, { NULL } }; static int hf_034_050_PSR; static int hf_034_050_PSR_ANT; static const value_string valstr_034_050_PSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_050_PSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_PSR_ANT, NULL }; static int hf_034_050_PSR_CHAB; static const value_string valstr_034_050_PSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Diversity mode ; Channel A and B selected" }, { 0, NULL } }; static const FieldPart I034_050_PSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_050_PSR_CHAB, NULL }; static int hf_034_050_PSR_OVL; static const value_string valstr_034_050_PSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_050_PSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_PSR_OVL, NULL }; static int hf_034_050_PSR_MSC; static const value_string valstr_034_050_PSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_050_PSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_PSR_MSC, NULL }; static const FieldPart *I034_050_PSR_PARTS[] = { &I034_050_PSR_ANT, &I034_050_PSR_CHAB, &I034_050_PSR_OVL, &I034_050_PSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_050_PSR = { FIXED, 1, 0, 0, &hf_034_050_PSR, I034_050_PSR_PARTS, { NULL } }; static int hf_034_050_SSR; static int hf_034_050_SSR_ANT; static const value_string valstr_034_050_SSR_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_050_SSR_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_SSR_ANT, NULL }; static int hf_034_050_SSR_CHAB; static const value_string valstr_034_050_SSR_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Invalid combination" }, { 0, NULL } }; static const FieldPart I034_050_SSR_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_050_SSR_CHAB, NULL }; static int hf_034_050_SSR_OVL; static const value_string valstr_034_050_SSR_OVL[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_050_SSR_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_SSR_OVL, NULL }; static int hf_034_050_SSR_MSC; static const value_string valstr_034_050_SSR_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_050_SSR_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_SSR_MSC, NULL }; static const FieldPart *I034_050_SSR_PARTS[] = { &I034_050_SSR_ANT, &I034_050_SSR_CHAB, &I034_050_SSR_OVL, &I034_050_SSR_MSC, &IXXX_3bit_spare, NULL }; static const AsterixField I034_050_SSR = { FIXED, 1, 0, 0, &hf_034_050_SSR, I034_050_SSR_PARTS, { NULL } }; static int hf_034_050_MDS; static int hf_034_050_MDS_ANT; static const value_string valstr_034_050_MDS_ANT[] = { { 0, "Antenna 1" }, { 1, "Antenna 2" }, { 0, NULL } }; static const FieldPart I034_050_MDS_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_ANT, NULL }; static int hf_034_050_MDS_CHAB; static const value_string valstr_034_050_MDS_CHAB[] = { { 0, "No channel selected" }, { 1, "Channel A only selected" }, { 2, "Channel B only selected" }, { 3, "Illegal combination" }, { 0, NULL } }; static const FieldPart I034_050_MDS_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_CHAB, NULL }; static int hf_034_050_MDS_OVLSUR; static const value_string valstr_034_050_MDS_OVLSUR[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_050_MDS_OVLSUR = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_OVLSUR, NULL }; static int hf_034_050_MDS_MSC; static const value_string valstr_034_050_MDS_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I034_050_MDS_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_MSC, NULL }; static int hf_034_050_MDS_SCF; static const value_string valstr_034_050_MDS_SCF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_050_MDS_SCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_SCF, NULL }; static int hf_034_050_MDS_DLF; static const value_string valstr_034_050_MDS_DLF[] = { { 0, "Channel A in use" }, { 1, "Channel B in use" }, { 0, NULL } }; static const FieldPart I034_050_MDS_DLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_DLF, NULL }; static int hf_034_050_MDS_OVLSCF; static const value_string valstr_034_050_MDS_OVLSCF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_050_MDS_OVLSCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_OVLSCF, NULL }; static int hf_034_050_MDS_OVLDLF; static const value_string valstr_034_050_MDS_OVLDLF[] = { { 0, "No overload" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I034_050_MDS_OVLDLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_MDS_OVLDLF, NULL }; static const FieldPart *I034_050_MDS_PARTS[] = { &I034_050_MDS_ANT, &I034_050_MDS_CHAB, &I034_050_MDS_OVLSUR, &I034_050_MDS_MSC, &I034_050_MDS_SCF, &I034_050_MDS_DLF, &I034_050_MDS_OVLSCF, &I034_050_MDS_OVLDLF, &IXXX_7bit_spare, NULL }; static const AsterixField I034_050_MDS = { FIXED, 2, 0, 0, &hf_034_050_MDS, I034_050_MDS_PARTS, { NULL } }; static const AsterixField I034_050 = { COMPOUND, 0, 0, 0, &hf_034_050, NULL, { &I034_050_COM, &IX_SPARE, &IX_SPARE, &I034_050_PSR, &I034_050_SSR, &I034_050_MDS, NULL } }; static int hf_034_060; static int hf_034_060_COM; static int hf_034_060_COM_REDRDP; static const value_string valstr_034_060_COM_REDRDP[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_060_COM_REDRDP = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_COM_REDRDP, NULL }; static int hf_034_060_COM_REDXMT; static const value_string valstr_034_060_COM_REDXMT[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_060_COM_REDXMT = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_COM_REDXMT, NULL }; static const FieldPart *I034_060_COM_PARTS[] = { &IXXX_1bit_spare, &I034_060_COM_REDRDP, &I034_060_COM_REDXMT, &IXXX_1bit_spare, NULL }; static const AsterixField I034_060_COM = { FIXED, 1, 0, 0, &hf_034_060_COM, I034_060_COM_PARTS, { NULL } }; static int hf_034_060_PSR; static int hf_034_060_PSR_POL; static const value_string valstr_034_060_PSR_POL[] = { { 0, "Linear polarization" }, { 1, "Circular polarization" }, { 0, NULL } }; static const FieldPart I034_060_PSR_POL = { 1, 1.0, FIELD_PART_UINT, &hf_034_060_PSR_POL, NULL }; static int hf_034_060_PSR_REDRAD; static const value_string valstr_034_060_PSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_060_PSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_PSR_REDRAD, NULL }; static int hf_034_060_PSR_STC; static const value_string valstr_034_060_PSR_STC[] = { { 0, "STC Map-1" }, { 1, "STC Map-2" }, { 2, "STC Map-3" }, { 3, "STC Map-4" }, { 0, NULL } }; static const FieldPart I034_060_PSR_STC = { 2, 1.0, FIELD_PART_UINT, &hf_034_060_PSR_STC, NULL }; static const FieldPart *I034_060_PSR_PARTS[] = { &I034_060_PSR_POL, &I034_060_PSR_REDRAD, &I034_060_PSR_STC, &IXXX_2bit_spare, NULL }; static const AsterixField I034_060_PSR = { FIXED, 1, 0, 0, &hf_034_060_PSR, I034_060_PSR_PARTS, { NULL } }; static int hf_034_060_SSR; static int hf_034_060_SSR_REDRAD; static const value_string valstr_034_060_SSR_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_060_SSR_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_SSR_REDRAD, NULL }; static const FieldPart *I034_060_SSR_PARTS[] = { &I034_060_SSR_REDRAD, &IXXX_5bit_spare, NULL }; static const AsterixField I034_060_SSR = { FIXED, 1, 0, 0, &hf_034_060_SSR, I034_060_SSR_PARTS, { NULL } }; static int hf_034_060_MDS; static int hf_034_060_MDS_REDRAD; static const value_string valstr_034_060_MDS_REDRAD[] = { { 0, "No reduction active" }, { 1, "Reduction step 1 active" }, { 2, "Reduction step 2 active" }, { 3, "Reduction step 3 active" }, { 4, "Reduction step 4 active" }, { 5, "Reduction step 5 active" }, { 6, "Reduction step 6 active" }, { 7, "Reduction step 7 active" }, { 0, NULL } }; static const FieldPart I034_060_MDS_REDRAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_MDS_REDRAD, NULL }; static int hf_034_060_MDS_CLU; static const value_string valstr_034_060_MDS_CLU[] = { { 0, "Autonomous" }, { 1, "Not autonomous" }, { 0, NULL } }; static const FieldPart I034_060_MDS_CLU = { 1, 1.0, FIELD_PART_UINT, &hf_034_060_MDS_CLU, NULL }; static const FieldPart *I034_060_MDS_PARTS[] = { &I034_060_MDS_REDRAD, &I034_060_MDS_CLU, &IXXX_4bit_spare, NULL }; static const AsterixField I034_060_MDS = { FIXED, 1, 0, 0, &hf_034_060_MDS, I034_060_MDS_PARTS, { NULL } }; static const AsterixField I034_060 = { COMPOUND, 0, 0, 0, &hf_034_060, NULL, { &I034_060_COM, &IX_SPARE, &IX_SPARE, &I034_060_PSR, &I034_060_SSR, &I034_060_MDS, NULL } }; static int hf_034_070; static int hf_034_070_TYP; static const value_string valstr_034_070_TYP[] = { { 0, "No detection (number of misses)" }, { 1, "Single PSR target reports" }, { 2, "Single SSR target reports (Non-Mode S)" }, { 3, "SSR+PSR target reports (Non-Mode S)" }, { 4, "Single All-Call target reports (Mode S)" }, { 5, "Single Roll-Call target reports (Mode S)" }, { 6, "All-Call + PSR (Mode S) target reports" }, { 7, "Roll-Call + PSR (Mode S) target reports" }, { 8, "Filter for Weather data" }, { 9, "Filter for Jamming Strobe" }, { 10, "Filter for PSR data" }, { 11, "Filter for SSR/Mode S data" }, { 12, "Filter for SSR/Mode S+PSR data" }, { 13, "Filter for Enhanced Surveillance data" }, { 14, "Filter for PSR+Enhanced Surveillance" }, { 15, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 16, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 17, "Re-Interrogations (per sector)" }, { 18, "BDS Swap and wrong DF replies(per sector)" }, { 19, "Mode A/C FRUIT (per sector)" }, { 20, "Mode S FRUIT (per sector)" }, { 0, NULL } }; static const FieldPart I034_070_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_034_070_TYP, NULL }; static int hf_034_070_COUNT; static const FieldPart I034_070_COUNT = { 11, 1.0, FIELD_PART_UINT, &hf_034_070_COUNT, NULL }; static const FieldPart *I034_070_PARTS[] = { &I034_070_TYP, &I034_070_COUNT, NULL }; static const AsterixField I034_070 = { REPETITIVE, 2, 1, 0, &hf_034_070, I034_070_PARTS, { NULL } }; static int hf_034_090; static int hf_034_090_RNG; static const FieldPart I034_090_RNG = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_034_090_RNG, NULL }; static int hf_034_090_AZM; static const FieldPart I034_090_AZM = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_034_090_AZM, NULL }; static const FieldPart *I034_090_PARTS[] = { &I034_090_RNG, &I034_090_AZM, NULL }; static const AsterixField I034_090 = { FIXED, 2, 0, 0, &hf_034_090, I034_090_PARTS, { NULL } }; static int hf_034_100; static int hf_034_100_RHOST; static const FieldPart I034_100_RHOST = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_100_RHOST, NULL }; static int hf_034_100_RHOEND; static const FieldPart I034_100_RHOEND = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_034_100_RHOEND, NULL }; static int hf_034_100_THETAST; static const FieldPart I034_100_THETAST = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_100_THETAST, NULL }; static int hf_034_100_THETAEND; static const FieldPart I034_100_THETAEND = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_034_100_THETAEND, NULL }; static const FieldPart *I034_100_PARTS[] = { &I034_100_RHOST, &I034_100_RHOEND, &I034_100_THETAST, &I034_100_THETAEND, NULL }; static const AsterixField I034_100 = { FIXED, 8, 0, 0, &hf_034_100, I034_100_PARTS, { NULL } }; static int hf_034_110; static int hf_034_110_VALUE; static const value_string valstr_034_110_VALUE[] = { { 0, "Invalid value" }, { 1, "Filter for Weather data" }, { 2, "Filter for Jamming Strobe" }, { 3, "Filter for PSR data" }, { 4, "Filter for SSR/Mode S data" }, { 5, "Filter for SSR/Mode S + PSR data" }, { 6, "Enhanced Surveillance data" }, { 7, "Filter for PSR+Enhanced Surveillance data" }, { 8, "Filter for PSR+Enhanced Surveillance + SSR/Mode S data not in Area of Prime Interest" }, { 9, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" }, { 0, NULL } }; static const FieldPart I034_110_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_034_110_VALUE, NULL }; static const FieldPart *I034_110_PARTS[] = { &I034_110_VALUE, NULL }; static const AsterixField I034_110 = { FIXED, 1, 0, 0, &hf_034_110, I034_110_PARTS, { NULL } }; static int hf_034_120; static int hf_034_120_HGT; static const FieldPart I034_120_HGT = { 16, 1.0, FIELD_PART_FLOAT, &hf_034_120_HGT, NULL }; static int hf_034_120_LAT; static const FieldPart I034_120_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_120_LAT, NULL }; static int hf_034_120_LON; static const FieldPart I034_120_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_034_120_LON, NULL }; static const FieldPart *I034_120_PARTS[] = { &I034_120_HGT, &I034_120_LAT, &I034_120_LON, NULL }; static const AsterixField I034_120 = { FIXED, 8, 0, 0, &hf_034_120, I034_120_PARTS, { NULL } }; static int hf_034_RE; static const AsterixField I034_RE = { EXP, 0, 0, 1, &hf_034_RE, NULL, { NULL } }; static int hf_034_SP; static const AsterixField I034_SP = { EXP, 0, 0, 1, &hf_034_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I034_V1_29_uap[] = { &I034_V1_29_010, &I034_V1_29_000, &I034_V1_29_030, &I034_V1_29_020, &I034_V1_29_041, &I034_V1_29_050, &I034_V1_29_060, &I034_V1_29_070, &I034_V1_29_100, &I034_V1_29_110, &I034_V1_29_120, &I034_V1_29_090, &I034_V1_29_RE, &I034_V1_29_SP, NULL }; static const AsterixField **I034_V1_29[] = { I034_V1_29_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I034_uap[] = { &I034_010, &I034_000, &I034_030, &I034_020, &I034_041, &I034_050, &I034_060, &I034_070, &I034_100, &I034_110, &I034_120, &I034_090, &I034_RE, &I034_SP, NULL }; static const AsterixField **I034[] = { I034_uap, NULL }; DIAG_ON_PEDANTIC /* Category 048, edition 1.27 */ static int hf_048_V1_27_010; static int hf_048_V1_27_010_SAC; static const FieldPart I048_V1_27_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_27_010_SAC, NULL }; static int hf_048_V1_27_010_SIC; static const FieldPart I048_V1_27_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_27_010_SIC, NULL }; static const FieldPart *I048_V1_27_010_PARTS[] = { &I048_V1_27_010_SAC, &I048_V1_27_010_SIC, NULL }; static const AsterixField I048_V1_27_010 = { FIXED, 2, 0, 0, &hf_048_V1_27_010, I048_V1_27_010_PARTS, { NULL } }; static int hf_048_V1_27_020; static int hf_048_V1_27_020_TYP; static const value_string valstr_048_V1_27_020_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call +PSR" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_TYP, NULL }; static int hf_048_V1_27_020_SIM; static const value_string valstr_048_V1_27_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_SIM, NULL }; static int hf_048_V1_27_020_RDP; static const value_string valstr_048_V1_27_020_RDP[] = { { 0, "Report from RDP Chain 1" }, { 1, "Report from RDP Chain 2" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_RDP, NULL }; static int hf_048_V1_27_020_SPI; static const value_string valstr_048_V1_27_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_SPI, NULL }; static int hf_048_V1_27_020_RAB; static const value_string valstr_048_V1_27_020_RAB[] = { { 0, "Report from aircraft transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_RAB, NULL }; static int hf_048_V1_27_020_TST; static const value_string valstr_048_V1_27_020_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_TST, NULL }; static int hf_048_V1_27_020_ERR; static const value_string valstr_048_V1_27_020_ERR[] = { { 0, "No Extended Range" }, { 1, "Extended Range present" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_ERR, NULL }; static int hf_048_V1_27_020_XPP; static const value_string valstr_048_V1_27_020_XPP[] = { { 0, "No X-Pulse present" }, { 1, "X-Pulse present" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_XPP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_XPP, NULL }; static int hf_048_V1_27_020_ME; static const value_string valstr_048_V1_27_020_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_ME, NULL }; static int hf_048_V1_27_020_MI; static const value_string valstr_048_V1_27_020_MI[] = { { 0, "No military identification" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_MI, NULL }; static int hf_048_V1_27_020_FOEFRI; static const value_string valstr_048_V1_27_020_FOEFRI[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I048_V1_27_020_FOEFRI = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_27_020_FOEFRI, NULL }; static const FieldPart *I048_V1_27_020_PARTS[] = { &I048_V1_27_020_TYP, &I048_V1_27_020_SIM, &I048_V1_27_020_RDP, &I048_V1_27_020_SPI, &I048_V1_27_020_RAB, &IXXX_FX, &I048_V1_27_020_TST, &I048_V1_27_020_ERR, &I048_V1_27_020_XPP, &I048_V1_27_020_ME, &I048_V1_27_020_MI, &I048_V1_27_020_FOEFRI, &IXXX_FX, NULL }; static const AsterixField I048_V1_27_020 = { FX, 1, 0, 0, &hf_048_V1_27_020, I048_V1_27_020_PARTS, { NULL } }; static int hf_048_V1_27_030; static int hf_048_V1_27_030_Subitem; static const value_string valstr_048_V1_27_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 2, "Reply due to sidelobe interrogation/reception" }, { 3, "Split plot" }, { 4, "Second time around reply" }, { 5, "Angel" }, { 6, "Slow moving target correlated with road infrastructure (terrestrial vehicle)" }, { 7, "Fixed PSR plot" }, { 8, "Slow PSR target" }, { 9, "Low quality PSR plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 13, "Target in Clutter Area" }, { 14, "Maximum Doppler Response in Zero Filter" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 19, "Birds" }, { 20, "Flock of Birds" }, { 21, "Mode-1 was present in original reply" }, { 22, "Mode-2 was present in original reply" }, { 23, "Plot potentially caused by Wind Turbine" }, { 24, "Helicopter" }, { 25, "Maximum number of re-interrogations reached (surveillance information)" }, { 26, "Maximum number of re-interrogations reached (BDS Extractions)" }, { 27, "BDS Overlay Incoherence" }, { 28, "Potential BDS Swap Detected" }, { 29, "Track Update in the Zenithal Gap" }, { 30, "Mode S Track re-acquired" }, { 31, "Duplicated Mode 5 Pair NO/PIN detected" }, { 0, NULL } }; static const FieldPart I048_V1_27_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_048_V1_27_030_Subitem, NULL }; static const FieldPart *I048_V1_27_030_PARTS[] = { &I048_V1_27_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I048_V1_27_030 = { FX, 1, 0, 0, &hf_048_V1_27_030, I048_V1_27_030_PARTS, { NULL } }; static int hf_048_V1_27_040; static int hf_048_V1_27_040_RHO; static const FieldPart I048_V1_27_040_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_048_V1_27_040_RHO, NULL }; static int hf_048_V1_27_040_THETA; static const FieldPart I048_V1_27_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_27_040_THETA, NULL }; static const FieldPart *I048_V1_27_040_PARTS[] = { &I048_V1_27_040_RHO, &I048_V1_27_040_THETA, NULL }; static const AsterixField I048_V1_27_040 = { FIXED, 4, 0, 0, &hf_048_V1_27_040, I048_V1_27_040_PARTS, { NULL } }; static int hf_048_V1_27_042; static int hf_048_V1_27_042_X; static const FieldPart I048_V1_27_042_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_27_042_X, NULL }; static int hf_048_V1_27_042_Y; static const FieldPart I048_V1_27_042_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_27_042_Y, NULL }; static const FieldPart *I048_V1_27_042_PARTS[] = { &I048_V1_27_042_X, &I048_V1_27_042_Y, NULL }; static const AsterixField I048_V1_27_042 = { FIXED, 4, 0, 0, &hf_048_V1_27_042, I048_V1_27_042_PARTS, { NULL } }; static int hf_048_V1_27_050; static int hf_048_V1_27_050_V; static const value_string valstr_048_V1_27_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_27_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_050_V, NULL }; static int hf_048_V1_27_050_G; static const value_string valstr_048_V1_27_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_27_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_050_G, NULL }; static int hf_048_V1_27_050_L; static const value_string valstr_048_V1_27_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_27_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_050_L, NULL }; static int hf_048_V1_27_050_MODE2; static const FieldPart I048_V1_27_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_27_050_MODE2, NULL }; static const FieldPart *I048_V1_27_050_PARTS[] = { &I048_V1_27_050_V, &I048_V1_27_050_G, &I048_V1_27_050_L, &IXXX_1bit_spare, &I048_V1_27_050_MODE2, NULL }; static const AsterixField I048_V1_27_050 = { FIXED, 2, 0, 0, &hf_048_V1_27_050, I048_V1_27_050_PARTS, { NULL } }; static int hf_048_V1_27_055; static int hf_048_V1_27_055_V; static const value_string valstr_048_V1_27_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_27_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_055_V, NULL }; static int hf_048_V1_27_055_G; static const value_string valstr_048_V1_27_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_27_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_055_G, NULL }; static int hf_048_V1_27_055_L; static const value_string valstr_048_V1_27_055_L[] = { { 0, "Mode-1 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_27_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_055_L, NULL }; static int hf_048_V1_27_055_MODE1; static const FieldPart I048_V1_27_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_048_V1_27_055_MODE1, NULL }; static const FieldPart *I048_V1_27_055_PARTS[] = { &I048_V1_27_055_V, &I048_V1_27_055_G, &I048_V1_27_055_L, &I048_V1_27_055_MODE1, NULL }; static const AsterixField I048_V1_27_055 = { FIXED, 1, 0, 0, &hf_048_V1_27_055, I048_V1_27_055_PARTS, { NULL } }; static int hf_048_V1_27_060; static int hf_048_V1_27_060_QA4; static const value_string valstr_048_V1_27_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QA4, NULL }; static int hf_048_V1_27_060_QA2; static const value_string valstr_048_V1_27_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QA2, NULL }; static int hf_048_V1_27_060_QA1; static const value_string valstr_048_V1_27_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QA1, NULL }; static int hf_048_V1_27_060_QB4; static const value_string valstr_048_V1_27_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QB4, NULL }; static int hf_048_V1_27_060_QB2; static const value_string valstr_048_V1_27_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QB2, NULL }; static int hf_048_V1_27_060_QB1; static const value_string valstr_048_V1_27_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QB1, NULL }; static int hf_048_V1_27_060_QC4; static const value_string valstr_048_V1_27_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QC4, NULL }; static int hf_048_V1_27_060_QC2; static const value_string valstr_048_V1_27_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QC2, NULL }; static int hf_048_V1_27_060_QC1; static const value_string valstr_048_V1_27_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QC1, NULL }; static int hf_048_V1_27_060_QD4; static const value_string valstr_048_V1_27_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QD4, NULL }; static int hf_048_V1_27_060_QD2; static const value_string valstr_048_V1_27_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QD2, NULL }; static int hf_048_V1_27_060_QD1; static const value_string valstr_048_V1_27_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_27_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_060_QD1, NULL }; static const FieldPart *I048_V1_27_060_PARTS[] = { &IXXX_4bit_spare, &I048_V1_27_060_QA4, &I048_V1_27_060_QA2, &I048_V1_27_060_QA1, &I048_V1_27_060_QB4, &I048_V1_27_060_QB2, &I048_V1_27_060_QB1, &I048_V1_27_060_QC4, &I048_V1_27_060_QC2, &I048_V1_27_060_QC1, &I048_V1_27_060_QD4, &I048_V1_27_060_QD2, &I048_V1_27_060_QD1, NULL }; static const AsterixField I048_V1_27_060 = { FIXED, 2, 0, 0, &hf_048_V1_27_060, I048_V1_27_060_PARTS, { NULL } }; static int hf_048_V1_27_065; static int hf_048_V1_27_065_QA4; static const value_string valstr_048_V1_27_065_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_27_065_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_065_QA4, NULL }; static int hf_048_V1_27_065_QA2; static const value_string valstr_048_V1_27_065_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_27_065_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_065_QA2, NULL }; static int hf_048_V1_27_065_QA1; static const value_string valstr_048_V1_27_065_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_27_065_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_065_QA1, NULL }; static int hf_048_V1_27_065_QB2; static const value_string valstr_048_V1_27_065_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_27_065_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_065_QB2, NULL }; static int hf_048_V1_27_065_QB1; static const value_string valstr_048_V1_27_065_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_27_065_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_065_QB1, NULL }; static const FieldPart *I048_V1_27_065_PARTS[] = { &IXXX_3bit_spare, &I048_V1_27_065_QA4, &I048_V1_27_065_QA2, &I048_V1_27_065_QA1, &I048_V1_27_065_QB2, &I048_V1_27_065_QB1, NULL }; static const AsterixField I048_V1_27_065 = { FIXED, 1, 0, 0, &hf_048_V1_27_065, I048_V1_27_065_PARTS, { NULL } }; static int hf_048_V1_27_070; static int hf_048_V1_27_070_V; static const value_string valstr_048_V1_27_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_27_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_070_V, NULL }; static int hf_048_V1_27_070_G; static const value_string valstr_048_V1_27_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_27_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_070_G, NULL }; static int hf_048_V1_27_070_L; static const value_string valstr_048_V1_27_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I048_V1_27_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_070_L, NULL }; static int hf_048_V1_27_070_MODE3A; static const FieldPart I048_V1_27_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_27_070_MODE3A, NULL }; static const FieldPart *I048_V1_27_070_PARTS[] = { &I048_V1_27_070_V, &I048_V1_27_070_G, &I048_V1_27_070_L, &IXXX_1bit_spare, &I048_V1_27_070_MODE3A, NULL }; static const AsterixField I048_V1_27_070 = { FIXED, 2, 0, 0, &hf_048_V1_27_070, I048_V1_27_070_PARTS, { NULL } }; static int hf_048_V1_27_080; static int hf_048_V1_27_080_QA4; static const value_string valstr_048_V1_27_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QA4, NULL }; static int hf_048_V1_27_080_QA2; static const value_string valstr_048_V1_27_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QA2, NULL }; static int hf_048_V1_27_080_QA1; static const value_string valstr_048_V1_27_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QA1, NULL }; static int hf_048_V1_27_080_QB4; static const value_string valstr_048_V1_27_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QB4, NULL }; static int hf_048_V1_27_080_QB2; static const value_string valstr_048_V1_27_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QB2, NULL }; static int hf_048_V1_27_080_QB1; static const value_string valstr_048_V1_27_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QB1, NULL }; static int hf_048_V1_27_080_QC4; static const value_string valstr_048_V1_27_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QC4, NULL }; static int hf_048_V1_27_080_QC2; static const value_string valstr_048_V1_27_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QC2, NULL }; static int hf_048_V1_27_080_QC1; static const value_string valstr_048_V1_27_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QC1, NULL }; static int hf_048_V1_27_080_QD4; static const value_string valstr_048_V1_27_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QD4, NULL }; static int hf_048_V1_27_080_QD2; static const value_string valstr_048_V1_27_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QD2, NULL }; static int hf_048_V1_27_080_QD1; static const value_string valstr_048_V1_27_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_27_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_080_QD1, NULL }; static const FieldPart *I048_V1_27_080_PARTS[] = { &IXXX_4bit_spare, &I048_V1_27_080_QA4, &I048_V1_27_080_QA2, &I048_V1_27_080_QA1, &I048_V1_27_080_QB4, &I048_V1_27_080_QB2, &I048_V1_27_080_QB1, &I048_V1_27_080_QC4, &I048_V1_27_080_QC2, &I048_V1_27_080_QC1, &I048_V1_27_080_QD4, &I048_V1_27_080_QD2, &I048_V1_27_080_QD1, NULL }; static const AsterixField I048_V1_27_080 = { FIXED, 2, 0, 0, &hf_048_V1_27_080, I048_V1_27_080_PARTS, { NULL } }; static int hf_048_V1_27_090; static int hf_048_V1_27_090_V; static const value_string valstr_048_V1_27_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_27_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_090_V, NULL }; static int hf_048_V1_27_090_G; static const value_string valstr_048_V1_27_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_27_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_090_G, NULL }; static int hf_048_V1_27_090_FL; static const FieldPart I048_V1_27_090_FL = { 14, 0.25, FIELD_PART_UFLOAT, &hf_048_V1_27_090_FL, NULL }; static const FieldPart *I048_V1_27_090_PARTS[] = { &I048_V1_27_090_V, &I048_V1_27_090_G, &I048_V1_27_090_FL, NULL }; static const AsterixField I048_V1_27_090 = { FIXED, 2, 0, 0, &hf_048_V1_27_090, I048_V1_27_090_PARTS, { NULL } }; static int hf_048_V1_27_100; static int hf_048_V1_27_100_V; static const value_string valstr_048_V1_27_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_V, NULL }; static int hf_048_V1_27_100_G; static const value_string valstr_048_V1_27_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_G, NULL }; static int hf_048_V1_27_100_MODEC; static const FieldPart I048_V1_27_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_27_100_MODEC, NULL }; static int hf_048_V1_27_100_QC1; static const value_string valstr_048_V1_27_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QC1, NULL }; static int hf_048_V1_27_100_QA1; static const value_string valstr_048_V1_27_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QA1, NULL }; static int hf_048_V1_27_100_QC2; static const value_string valstr_048_V1_27_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QC2, NULL }; static int hf_048_V1_27_100_QA2; static const value_string valstr_048_V1_27_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QA2, NULL }; static int hf_048_V1_27_100_QC4; static const value_string valstr_048_V1_27_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QC4, NULL }; static int hf_048_V1_27_100_QA4; static const value_string valstr_048_V1_27_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QA4, NULL }; static int hf_048_V1_27_100_QB1; static const value_string valstr_048_V1_27_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QB1, NULL }; static int hf_048_V1_27_100_QD1; static const value_string valstr_048_V1_27_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QD1, NULL }; static int hf_048_V1_27_100_QB2; static const value_string valstr_048_V1_27_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QB2, NULL }; static int hf_048_V1_27_100_QD2; static const value_string valstr_048_V1_27_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QD2, NULL }; static int hf_048_V1_27_100_QB4; static const value_string valstr_048_V1_27_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QB4, NULL }; static int hf_048_V1_27_100_QD4; static const value_string valstr_048_V1_27_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_27_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_100_QD4, NULL }; static const FieldPart *I048_V1_27_100_PARTS[] = { &I048_V1_27_100_V, &I048_V1_27_100_G, &IXXX_2bit_spare, &I048_V1_27_100_MODEC, &IXXX_4bit_spare, &I048_V1_27_100_QC1, &I048_V1_27_100_QA1, &I048_V1_27_100_QC2, &I048_V1_27_100_QA2, &I048_V1_27_100_QC4, &I048_V1_27_100_QA4, &I048_V1_27_100_QB1, &I048_V1_27_100_QD1, &I048_V1_27_100_QB2, &I048_V1_27_100_QD2, &I048_V1_27_100_QB4, &I048_V1_27_100_QD4, NULL }; static const AsterixField I048_V1_27_100 = { FIXED, 4, 0, 0, &hf_048_V1_27_100, I048_V1_27_100_PARTS, { NULL } }; static int hf_048_V1_27_110; static int hf_048_V1_27_110_3DH; static const FieldPart I048_V1_27_110_3DH = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_V1_27_110_3DH, NULL }; static const FieldPart *I048_V1_27_110_PARTS[] = { &IXXX_2bit_spare, &I048_V1_27_110_3DH, NULL }; static const AsterixField I048_V1_27_110 = { FIXED, 2, 0, 0, &hf_048_V1_27_110, I048_V1_27_110_PARTS, { NULL } }; static int hf_048_V1_27_120; static int hf_048_V1_27_120_CAL; static int hf_048_V1_27_120_CAL_D; static const value_string valstr_048_V1_27_120_CAL_D[] = { { 0, "Doppler speed is valid" }, { 1, "Doppler speed is doubtful" }, { 0, NULL } }; static const FieldPart I048_V1_27_120_CAL_D = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_120_CAL_D, NULL }; static int hf_048_V1_27_120_CAL_CAL; static const FieldPart I048_V1_27_120_CAL_CAL = { 10, 1.0, FIELD_PART_FLOAT, &hf_048_V1_27_120_CAL_CAL, NULL }; static const FieldPart *I048_V1_27_120_CAL_PARTS[] = { &I048_V1_27_120_CAL_D, &IXXX_5bit_spare, &I048_V1_27_120_CAL_CAL, NULL }; static const AsterixField I048_V1_27_120_CAL = { FIXED, 2, 0, 0, &hf_048_V1_27_120_CAL, I048_V1_27_120_CAL_PARTS, { NULL } }; static int hf_048_V1_27_120_RDS; static int hf_048_V1_27_120_RDS_DOP; static const FieldPart I048_V1_27_120_RDS_DOP = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_27_120_RDS_DOP, NULL }; static int hf_048_V1_27_120_RDS_AMB; static const FieldPart I048_V1_27_120_RDS_AMB = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_27_120_RDS_AMB, NULL }; static int hf_048_V1_27_120_RDS_FRQ; static const FieldPart I048_V1_27_120_RDS_FRQ = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_27_120_RDS_FRQ, NULL }; static const FieldPart *I048_V1_27_120_RDS_PARTS[] = { &I048_V1_27_120_RDS_DOP, &I048_V1_27_120_RDS_AMB, &I048_V1_27_120_RDS_FRQ, NULL }; static const AsterixField I048_V1_27_120_RDS = { REPETITIVE, 6, 1, 0, &hf_048_V1_27_120_RDS, I048_V1_27_120_RDS_PARTS, { NULL } }; static const AsterixField I048_V1_27_120 = { COMPOUND, 0, 0, 0, &hf_048_V1_27_120, NULL, { &I048_V1_27_120_CAL, &I048_V1_27_120_RDS, NULL } }; static int hf_048_V1_27_130; static int hf_048_V1_27_130_SRL; static int hf_048_V1_27_130_SRL_VALUE; static const FieldPart I048_V1_27_130_SRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_27_130_SRL_VALUE, NULL }; static const FieldPart *I048_V1_27_130_SRL_PARTS[] = { &I048_V1_27_130_SRL_VALUE, NULL }; static const AsterixField I048_V1_27_130_SRL = { FIXED, 1, 0, 0, &hf_048_V1_27_130_SRL, I048_V1_27_130_SRL_PARTS, { NULL } }; static int hf_048_V1_27_130_SRR; static int hf_048_V1_27_130_SRR_VALUE; static const FieldPart I048_V1_27_130_SRR_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_048_V1_27_130_SRR_VALUE, NULL }; static const FieldPart *I048_V1_27_130_SRR_PARTS[] = { &I048_V1_27_130_SRR_VALUE, NULL }; static const AsterixField I048_V1_27_130_SRR = { FIXED, 1, 0, 0, &hf_048_V1_27_130_SRR, I048_V1_27_130_SRR_PARTS, { NULL } }; static int hf_048_V1_27_130_SAM; static int hf_048_V1_27_130_SAM_VALUE; static const FieldPart I048_V1_27_130_SAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_27_130_SAM_VALUE, NULL }; static const FieldPart *I048_V1_27_130_SAM_PARTS[] = { &I048_V1_27_130_SAM_VALUE, NULL }; static const AsterixField I048_V1_27_130_SAM = { FIXED, 1, 0, 0, &hf_048_V1_27_130_SAM, I048_V1_27_130_SAM_PARTS, { NULL } }; static int hf_048_V1_27_130_PRL; static int hf_048_V1_27_130_PRL_VALUE; static const FieldPart I048_V1_27_130_PRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_27_130_PRL_VALUE, NULL }; static const FieldPart *I048_V1_27_130_PRL_PARTS[] = { &I048_V1_27_130_PRL_VALUE, NULL }; static const AsterixField I048_V1_27_130_PRL = { FIXED, 1, 0, 0, &hf_048_V1_27_130_PRL, I048_V1_27_130_PRL_PARTS, { NULL } }; static int hf_048_V1_27_130_PAM; static int hf_048_V1_27_130_PAM_VALUE; static const FieldPart I048_V1_27_130_PAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_27_130_PAM_VALUE, NULL }; static const FieldPart *I048_V1_27_130_PAM_PARTS[] = { &I048_V1_27_130_PAM_VALUE, NULL }; static const AsterixField I048_V1_27_130_PAM = { FIXED, 1, 0, 0, &hf_048_V1_27_130_PAM, I048_V1_27_130_PAM_PARTS, { NULL } }; static int hf_048_V1_27_130_RPD; static int hf_048_V1_27_130_RPD_VALUE; static const FieldPart I048_V1_27_130_RPD_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_048_V1_27_130_RPD_VALUE, NULL }; static const FieldPart *I048_V1_27_130_RPD_PARTS[] = { &I048_V1_27_130_RPD_VALUE, NULL }; static const AsterixField I048_V1_27_130_RPD = { FIXED, 1, 0, 0, &hf_048_V1_27_130_RPD, I048_V1_27_130_RPD_PARTS, { NULL } }; static int hf_048_V1_27_130_APD; static int hf_048_V1_27_130_APD_VALUE; static const FieldPart I048_V1_27_130_APD_VALUE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_048_V1_27_130_APD_VALUE, NULL }; static const FieldPart *I048_V1_27_130_APD_PARTS[] = { &I048_V1_27_130_APD_VALUE, NULL }; static const AsterixField I048_V1_27_130_APD = { FIXED, 1, 0, 0, &hf_048_V1_27_130_APD, I048_V1_27_130_APD_PARTS, { NULL } }; static const AsterixField I048_V1_27_130 = { COMPOUND, 0, 0, 0, &hf_048_V1_27_130, NULL, { &I048_V1_27_130_SRL, &I048_V1_27_130_SRR, &I048_V1_27_130_SAM, &I048_V1_27_130_PRL, &I048_V1_27_130_PAM, &I048_V1_27_130_RPD, &I048_V1_27_130_APD, NULL } }; static int hf_048_V1_27_140; static int hf_048_V1_27_140_VALUE; static const FieldPart I048_V1_27_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_27_140_VALUE, NULL }; static const FieldPart *I048_V1_27_140_PARTS[] = { &I048_V1_27_140_VALUE, NULL }; static const AsterixField I048_V1_27_140 = { FIXED, 3, 0, 0, &hf_048_V1_27_140, I048_V1_27_140_PARTS, { NULL } }; static int hf_048_V1_27_161; static int hf_048_V1_27_161_TRN; static const FieldPart I048_V1_27_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_27_161_TRN, NULL }; static const FieldPart *I048_V1_27_161_PARTS[] = { &IXXX_4bit_spare, &I048_V1_27_161_TRN, NULL }; static const AsterixField I048_V1_27_161 = { FIXED, 2, 0, 0, &hf_048_V1_27_161, I048_V1_27_161_PARTS, { NULL } }; static int hf_048_V1_27_170; static int hf_048_V1_27_170_CNF; static const value_string valstr_048_V1_27_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_CNF, NULL }; static int hf_048_V1_27_170_RAD; static const value_string valstr_048_V1_27_170_RAD[] = { { 0, "Combined Track" }, { 1, "PSR Track" }, { 2, "SSR/Mode S Track" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_RAD = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_RAD, NULL }; static int hf_048_V1_27_170_DOU; static const value_string valstr_048_V1_27_170_DOU[] = { { 0, "Normal confidence" }, { 1, "Low confidence in plot to track association" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_DOU, NULL }; static int hf_048_V1_27_170_MAH; static const value_string valstr_048_V1_27_170_MAH[] = { { 0, "No horizontal man.sensed" }, { 1, "Horizontal man. sensed" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_MAH, NULL }; static int hf_048_V1_27_170_CDM; static const value_string valstr_048_V1_27_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_CDM, NULL }; static int hf_048_V1_27_170_TRE; static const value_string valstr_048_V1_27_170_TRE[] = { { 0, "Track still alive" }, { 1, "End of track lifetime(last report for this track)" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_TRE, NULL }; static int hf_048_V1_27_170_GHO; static const value_string valstr_048_V1_27_170_GHO[] = { { 0, "True target track" }, { 1, "Ghost target track" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_GHO, NULL }; static int hf_048_V1_27_170_SUP; static const value_string valstr_048_V1_27_170_SUP[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_SUP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_SUP, NULL }; static int hf_048_V1_27_170_TCC; static const value_string valstr_048_V1_27_170_TCC[] = { { 0, "Tracking performed in so-called \'Radar Plane\', i.e. neither slant range correction nor stereographical projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Radar Site co-ordinates" }, { 0, NULL } }; static const FieldPart I048_V1_27_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_170_TCC, NULL }; static const FieldPart *I048_V1_27_170_PARTS[] = { &I048_V1_27_170_CNF, &I048_V1_27_170_RAD, &I048_V1_27_170_DOU, &I048_V1_27_170_MAH, &I048_V1_27_170_CDM, &IXXX_FX, &I048_V1_27_170_TRE, &I048_V1_27_170_GHO, &I048_V1_27_170_SUP, &I048_V1_27_170_TCC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_V1_27_170 = { FX, 1, 0, 0, &hf_048_V1_27_170, I048_V1_27_170_PARTS, { NULL } }; static int hf_048_V1_27_200; static int hf_048_V1_27_200_GSP; static const FieldPart I048_V1_27_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_27_200_GSP, NULL }; static int hf_048_V1_27_200_HDG; static const FieldPart I048_V1_27_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_27_200_HDG, NULL }; static const FieldPart *I048_V1_27_200_PARTS[] = { &I048_V1_27_200_GSP, &I048_V1_27_200_HDG, NULL }; static const AsterixField I048_V1_27_200 = { FIXED, 4, 0, 0, &hf_048_V1_27_200, I048_V1_27_200_PARTS, { NULL } }; static int hf_048_V1_27_210; static int hf_048_V1_27_210_SIGX; static const FieldPart I048_V1_27_210_SIGX = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_27_210_SIGX, NULL }; static int hf_048_V1_27_210_SIGY; static const FieldPart I048_V1_27_210_SIGY = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_27_210_SIGY, NULL }; static int hf_048_V1_27_210_SIGV; static const FieldPart I048_V1_27_210_SIGV = { 8, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_27_210_SIGV, NULL }; static int hf_048_V1_27_210_SIGH; static const FieldPart I048_V1_27_210_SIGH = { 8, 0.087890625, FIELD_PART_UFLOAT, &hf_048_V1_27_210_SIGH, NULL }; static const FieldPart *I048_V1_27_210_PARTS[] = { &I048_V1_27_210_SIGX, &I048_V1_27_210_SIGY, &I048_V1_27_210_SIGV, &I048_V1_27_210_SIGH, NULL }; static const AsterixField I048_V1_27_210 = { FIXED, 4, 0, 0, &hf_048_V1_27_210, I048_V1_27_210_PARTS, { NULL } }; static int hf_048_V1_27_220; static int hf_048_V1_27_220_VALUE; static const FieldPart I048_V1_27_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_048_V1_27_220_VALUE, NULL }; static const FieldPart *I048_V1_27_220_PARTS[] = { &I048_V1_27_220_VALUE, NULL }; static const AsterixField I048_V1_27_220 = { FIXED, 3, 0, 0, &hf_048_V1_27_220, I048_V1_27_220_PARTS, { NULL } }; static int hf_048_V1_27_230; static int hf_048_V1_27_230_COM; static const value_string valstr_048_V1_27_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I048_V1_27_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_27_230_COM, NULL }; static int hf_048_V1_27_230_STAT; static const value_string valstr_048_V1_27_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_27_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_27_230_STAT, NULL }; static int hf_048_V1_27_230_SI; static const value_string valstr_048_V1_27_230_SI[] = { { 0, "SI-Code Capable" }, { 1, "II-Code Capable" }, { 0, NULL } }; static const FieldPart I048_V1_27_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_230_SI, NULL }; static int hf_048_V1_27_230_MSSC; static const value_string valstr_048_V1_27_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_27_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_230_MSSC, NULL }; static int hf_048_V1_27_230_ARC; static const value_string valstr_048_V1_27_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I048_V1_27_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_230_ARC, NULL }; static int hf_048_V1_27_230_AIC; static const value_string valstr_048_V1_27_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_27_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_27_230_AIC, NULL }; static int hf_048_V1_27_230_B1A; static const FieldPart I048_V1_27_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_048_V1_27_230_B1A, NULL }; static int hf_048_V1_27_230_B1B; static const FieldPart I048_V1_27_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_27_230_B1B, NULL }; static const FieldPart *I048_V1_27_230_PARTS[] = { &I048_V1_27_230_COM, &I048_V1_27_230_STAT, &I048_V1_27_230_SI, &IXXX_1bit_spare, &I048_V1_27_230_MSSC, &I048_V1_27_230_ARC, &I048_V1_27_230_AIC, &I048_V1_27_230_B1A, &I048_V1_27_230_B1B, NULL }; static const AsterixField I048_V1_27_230 = { FIXED, 2, 0, 0, &hf_048_V1_27_230, I048_V1_27_230_PARTS, { NULL } }; static int hf_048_V1_27_240; static int hf_048_V1_27_240_VALUE; static const FieldPart I048_V1_27_240_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_048_V1_27_240_VALUE, NULL }; static const FieldPart *I048_V1_27_240_PARTS[] = { &I048_V1_27_240_VALUE, NULL }; static const AsterixField I048_V1_27_240 = { FIXED, 6, 0, 0, &hf_048_V1_27_240, I048_V1_27_240_PARTS, { NULL } }; static int hf_048_V1_27_250; static int hf_048_V1_27_250_MBDATA; static const FieldPart I048_V1_27_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_27_250_MBDATA, NULL }; static int hf_048_V1_27_250_BDS1; static const FieldPart I048_V1_27_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_27_250_BDS1, NULL }; static int hf_048_V1_27_250_BDS2; static const FieldPart I048_V1_27_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_27_250_BDS2, NULL }; static const FieldPart *I048_V1_27_250_PARTS[] = { &I048_V1_27_250_MBDATA, &I048_V1_27_250_BDS1, &I048_V1_27_250_BDS2, NULL }; static const AsterixField I048_V1_27_250 = { REPETITIVE, 8, 1, 0, &hf_048_V1_27_250, I048_V1_27_250_PARTS, { NULL } }; static int hf_048_V1_27_260; static int hf_048_V1_27_260_VALUE; static const FieldPart I048_V1_27_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_27_260_VALUE, NULL }; static const FieldPart *I048_V1_27_260_PARTS[] = { &I048_V1_27_260_VALUE, NULL }; static const AsterixField I048_V1_27_260 = { FIXED, 7, 0, 0, &hf_048_V1_27_260, I048_V1_27_260_PARTS, { NULL } }; static int hf_048_V1_27_RE; static const AsterixField I048_V1_27_RE = { EXP, 0, 0, 1, &hf_048_V1_27_RE, NULL, { NULL } }; static int hf_048_V1_27_SP; static const AsterixField I048_V1_27_SP = { EXP, 0, 0, 1, &hf_048_V1_27_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I048_V1_27_uap[] = { &I048_V1_27_010, &I048_V1_27_140, &I048_V1_27_020, &I048_V1_27_040, &I048_V1_27_070, &I048_V1_27_090, &I048_V1_27_130, &I048_V1_27_220, &I048_V1_27_240, &I048_V1_27_250, &I048_V1_27_161, &I048_V1_27_042, &I048_V1_27_200, &I048_V1_27_170, &I048_V1_27_210, &I048_V1_27_030, &I048_V1_27_080, &I048_V1_27_100, &I048_V1_27_110, &I048_V1_27_120, &I048_V1_27_230, &I048_V1_27_260, &I048_V1_27_055, &I048_V1_27_050, &I048_V1_27_065, &I048_V1_27_060, &I048_V1_27_SP, &I048_V1_27_RE, NULL }; static const AsterixField **I048_V1_27[] = { I048_V1_27_uap, NULL }; DIAG_ON_PEDANTIC /* Category 048, edition 1.28 */ static int hf_048_V1_28_010; static int hf_048_V1_28_010_SAC; static const FieldPart I048_V1_28_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_28_010_SAC, NULL }; static int hf_048_V1_28_010_SIC; static const FieldPart I048_V1_28_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_28_010_SIC, NULL }; static const FieldPart *I048_V1_28_010_PARTS[] = { &I048_V1_28_010_SAC, &I048_V1_28_010_SIC, NULL }; static const AsterixField I048_V1_28_010 = { FIXED, 2, 0, 0, &hf_048_V1_28_010, I048_V1_28_010_PARTS, { NULL } }; static int hf_048_V1_28_020; static int hf_048_V1_28_020_TYP; static const value_string valstr_048_V1_28_020_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call +PSR" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_TYP, NULL }; static int hf_048_V1_28_020_SIM; static const value_string valstr_048_V1_28_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_SIM, NULL }; static int hf_048_V1_28_020_RDP; static const value_string valstr_048_V1_28_020_RDP[] = { { 0, "Report from RDP Chain 1" }, { 1, "Report from RDP Chain 2" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_RDP, NULL }; static int hf_048_V1_28_020_SPI; static const value_string valstr_048_V1_28_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_SPI, NULL }; static int hf_048_V1_28_020_RAB; static const value_string valstr_048_V1_28_020_RAB[] = { { 0, "Report from aircraft transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_RAB, NULL }; static int hf_048_V1_28_020_TST; static const value_string valstr_048_V1_28_020_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_TST, NULL }; static int hf_048_V1_28_020_ERR; static const value_string valstr_048_V1_28_020_ERR[] = { { 0, "No Extended Range" }, { 1, "Extended Range present" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_ERR, NULL }; static int hf_048_V1_28_020_XPP; static const value_string valstr_048_V1_28_020_XPP[] = { { 0, "No X-Pulse present" }, { 1, "X-Pulse present" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_XPP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_XPP, NULL }; static int hf_048_V1_28_020_ME; static const value_string valstr_048_V1_28_020_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_ME, NULL }; static int hf_048_V1_28_020_MI; static const value_string valstr_048_V1_28_020_MI[] = { { 0, "No military identification" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_MI, NULL }; static int hf_048_V1_28_020_FOEFRI; static const value_string valstr_048_V1_28_020_FOEFRI[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I048_V1_28_020_FOEFRI = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_28_020_FOEFRI, NULL }; static const FieldPart *I048_V1_28_020_PARTS[] = { &I048_V1_28_020_TYP, &I048_V1_28_020_SIM, &I048_V1_28_020_RDP, &I048_V1_28_020_SPI, &I048_V1_28_020_RAB, &IXXX_FX, &I048_V1_28_020_TST, &I048_V1_28_020_ERR, &I048_V1_28_020_XPP, &I048_V1_28_020_ME, &I048_V1_28_020_MI, &I048_V1_28_020_FOEFRI, &IXXX_FX, NULL }; static const AsterixField I048_V1_28_020 = { FX, 1, 0, 0, &hf_048_V1_28_020, I048_V1_28_020_PARTS, { NULL } }; static int hf_048_V1_28_030; static int hf_048_V1_28_030_Subitem; static const value_string valstr_048_V1_28_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 2, "Reply due to sidelobe interrogation/reception" }, { 3, "Split plot" }, { 4, "Second time around reply" }, { 5, "Angel" }, { 6, "Slow moving target correlated with road infrastructure (terrestrial vehicle)" }, { 7, "Fixed PSR plot" }, { 8, "Slow PSR target" }, { 9, "Low quality PSR plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 13, "Target in Clutter Area" }, { 14, "Maximum Doppler Response in Zero Filter" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 19, "Birds" }, { 20, "Flock of Birds" }, { 21, "Mode-1 was present in original reply" }, { 22, "Mode-2 was present in original reply" }, { 23, "Plot potentially caused by Wind Turbine" }, { 24, "Helicopter" }, { 25, "Maximum number of re-interrogations reached (surveillance information)" }, { 26, "Maximum number of re-interrogations reached (BDS Extractions)" }, { 27, "BDS Overlay Incoherence" }, { 28, "Potential BDS Swap Detected" }, { 29, "Track Update in the Zenithal Gap" }, { 30, "Mode S Track re-acquired" }, { 31, "Duplicated Mode 5 Pair NO/PIN detected" }, { 32, "Wrong DF reply format detected" }, { 33, "Transponder anomaly (MS XPD replies with Mode A/C to Mode A/C-only all-call)" }, { 34, "Transponder anomaly (SI capability report wrong)" }, { 0, NULL } }; static const FieldPart I048_V1_28_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_048_V1_28_030_Subitem, NULL }; static const FieldPart *I048_V1_28_030_PARTS[] = { &I048_V1_28_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I048_V1_28_030 = { FX, 1, 0, 0, &hf_048_V1_28_030, I048_V1_28_030_PARTS, { NULL } }; static int hf_048_V1_28_040; static int hf_048_V1_28_040_RHO; static const FieldPart I048_V1_28_040_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_048_V1_28_040_RHO, NULL }; static int hf_048_V1_28_040_THETA; static const FieldPart I048_V1_28_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_28_040_THETA, NULL }; static const FieldPart *I048_V1_28_040_PARTS[] = { &I048_V1_28_040_RHO, &I048_V1_28_040_THETA, NULL }; static const AsterixField I048_V1_28_040 = { FIXED, 4, 0, 0, &hf_048_V1_28_040, I048_V1_28_040_PARTS, { NULL } }; static int hf_048_V1_28_042; static int hf_048_V1_28_042_X; static const FieldPart I048_V1_28_042_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_28_042_X, NULL }; static int hf_048_V1_28_042_Y; static const FieldPart I048_V1_28_042_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_28_042_Y, NULL }; static const FieldPart *I048_V1_28_042_PARTS[] = { &I048_V1_28_042_X, &I048_V1_28_042_Y, NULL }; static const AsterixField I048_V1_28_042 = { FIXED, 4, 0, 0, &hf_048_V1_28_042, I048_V1_28_042_PARTS, { NULL } }; static int hf_048_V1_28_050; static int hf_048_V1_28_050_V; static const value_string valstr_048_V1_28_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_28_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_050_V, NULL }; static int hf_048_V1_28_050_G; static const value_string valstr_048_V1_28_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_28_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_050_G, NULL }; static int hf_048_V1_28_050_L; static const value_string valstr_048_V1_28_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_28_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_050_L, NULL }; static int hf_048_V1_28_050_MODE2; static const FieldPart I048_V1_28_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_28_050_MODE2, NULL }; static const FieldPart *I048_V1_28_050_PARTS[] = { &I048_V1_28_050_V, &I048_V1_28_050_G, &I048_V1_28_050_L, &IXXX_1bit_spare, &I048_V1_28_050_MODE2, NULL }; static const AsterixField I048_V1_28_050 = { FIXED, 2, 0, 0, &hf_048_V1_28_050, I048_V1_28_050_PARTS, { NULL } }; static int hf_048_V1_28_055; static int hf_048_V1_28_055_V; static const value_string valstr_048_V1_28_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_28_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_055_V, NULL }; static int hf_048_V1_28_055_G; static const value_string valstr_048_V1_28_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_28_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_055_G, NULL }; static int hf_048_V1_28_055_L; static const value_string valstr_048_V1_28_055_L[] = { { 0, "Mode-1 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_28_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_055_L, NULL }; static int hf_048_V1_28_055_MODE1; static const FieldPart I048_V1_28_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_048_V1_28_055_MODE1, NULL }; static const FieldPart *I048_V1_28_055_PARTS[] = { &I048_V1_28_055_V, &I048_V1_28_055_G, &I048_V1_28_055_L, &I048_V1_28_055_MODE1, NULL }; static const AsterixField I048_V1_28_055 = { FIXED, 1, 0, 0, &hf_048_V1_28_055, I048_V1_28_055_PARTS, { NULL } }; static int hf_048_V1_28_060; static int hf_048_V1_28_060_QA4; static const value_string valstr_048_V1_28_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QA4, NULL }; static int hf_048_V1_28_060_QA2; static const value_string valstr_048_V1_28_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QA2, NULL }; static int hf_048_V1_28_060_QA1; static const value_string valstr_048_V1_28_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QA1, NULL }; static int hf_048_V1_28_060_QB4; static const value_string valstr_048_V1_28_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QB4, NULL }; static int hf_048_V1_28_060_QB2; static const value_string valstr_048_V1_28_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QB2, NULL }; static int hf_048_V1_28_060_QB1; static const value_string valstr_048_V1_28_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QB1, NULL }; static int hf_048_V1_28_060_QC4; static const value_string valstr_048_V1_28_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QC4, NULL }; static int hf_048_V1_28_060_QC2; static const value_string valstr_048_V1_28_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QC2, NULL }; static int hf_048_V1_28_060_QC1; static const value_string valstr_048_V1_28_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QC1, NULL }; static int hf_048_V1_28_060_QD4; static const value_string valstr_048_V1_28_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QD4, NULL }; static int hf_048_V1_28_060_QD2; static const value_string valstr_048_V1_28_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QD2, NULL }; static int hf_048_V1_28_060_QD1; static const value_string valstr_048_V1_28_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_28_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_060_QD1, NULL }; static const FieldPart *I048_V1_28_060_PARTS[] = { &IXXX_4bit_spare, &I048_V1_28_060_QA4, &I048_V1_28_060_QA2, &I048_V1_28_060_QA1, &I048_V1_28_060_QB4, &I048_V1_28_060_QB2, &I048_V1_28_060_QB1, &I048_V1_28_060_QC4, &I048_V1_28_060_QC2, &I048_V1_28_060_QC1, &I048_V1_28_060_QD4, &I048_V1_28_060_QD2, &I048_V1_28_060_QD1, NULL }; static const AsterixField I048_V1_28_060 = { FIXED, 2, 0, 0, &hf_048_V1_28_060, I048_V1_28_060_PARTS, { NULL } }; static int hf_048_V1_28_065; static int hf_048_V1_28_065_QA4; static const value_string valstr_048_V1_28_065_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_28_065_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_065_QA4, NULL }; static int hf_048_V1_28_065_QA2; static const value_string valstr_048_V1_28_065_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_28_065_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_065_QA2, NULL }; static int hf_048_V1_28_065_QA1; static const value_string valstr_048_V1_28_065_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_28_065_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_065_QA1, NULL }; static int hf_048_V1_28_065_QB2; static const value_string valstr_048_V1_28_065_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_28_065_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_065_QB2, NULL }; static int hf_048_V1_28_065_QB1; static const value_string valstr_048_V1_28_065_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_28_065_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_065_QB1, NULL }; static const FieldPart *I048_V1_28_065_PARTS[] = { &IXXX_3bit_spare, &I048_V1_28_065_QA4, &I048_V1_28_065_QA2, &I048_V1_28_065_QA1, &I048_V1_28_065_QB2, &I048_V1_28_065_QB1, NULL }; static const AsterixField I048_V1_28_065 = { FIXED, 1, 0, 0, &hf_048_V1_28_065, I048_V1_28_065_PARTS, { NULL } }; static int hf_048_V1_28_070; static int hf_048_V1_28_070_V; static const value_string valstr_048_V1_28_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_28_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_070_V, NULL }; static int hf_048_V1_28_070_G; static const value_string valstr_048_V1_28_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_28_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_070_G, NULL }; static int hf_048_V1_28_070_L; static const value_string valstr_048_V1_28_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I048_V1_28_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_070_L, NULL }; static int hf_048_V1_28_070_MODE3A; static const FieldPart I048_V1_28_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_28_070_MODE3A, NULL }; static const FieldPart *I048_V1_28_070_PARTS[] = { &I048_V1_28_070_V, &I048_V1_28_070_G, &I048_V1_28_070_L, &IXXX_1bit_spare, &I048_V1_28_070_MODE3A, NULL }; static const AsterixField I048_V1_28_070 = { FIXED, 2, 0, 0, &hf_048_V1_28_070, I048_V1_28_070_PARTS, { NULL } }; static int hf_048_V1_28_080; static int hf_048_V1_28_080_QA4; static const value_string valstr_048_V1_28_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QA4, NULL }; static int hf_048_V1_28_080_QA2; static const value_string valstr_048_V1_28_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QA2, NULL }; static int hf_048_V1_28_080_QA1; static const value_string valstr_048_V1_28_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QA1, NULL }; static int hf_048_V1_28_080_QB4; static const value_string valstr_048_V1_28_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QB4, NULL }; static int hf_048_V1_28_080_QB2; static const value_string valstr_048_V1_28_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QB2, NULL }; static int hf_048_V1_28_080_QB1; static const value_string valstr_048_V1_28_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QB1, NULL }; static int hf_048_V1_28_080_QC4; static const value_string valstr_048_V1_28_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QC4, NULL }; static int hf_048_V1_28_080_QC2; static const value_string valstr_048_V1_28_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QC2, NULL }; static int hf_048_V1_28_080_QC1; static const value_string valstr_048_V1_28_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QC1, NULL }; static int hf_048_V1_28_080_QD4; static const value_string valstr_048_V1_28_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QD4, NULL }; static int hf_048_V1_28_080_QD2; static const value_string valstr_048_V1_28_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QD2, NULL }; static int hf_048_V1_28_080_QD1; static const value_string valstr_048_V1_28_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_28_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_080_QD1, NULL }; static const FieldPart *I048_V1_28_080_PARTS[] = { &IXXX_4bit_spare, &I048_V1_28_080_QA4, &I048_V1_28_080_QA2, &I048_V1_28_080_QA1, &I048_V1_28_080_QB4, &I048_V1_28_080_QB2, &I048_V1_28_080_QB1, &I048_V1_28_080_QC4, &I048_V1_28_080_QC2, &I048_V1_28_080_QC1, &I048_V1_28_080_QD4, &I048_V1_28_080_QD2, &I048_V1_28_080_QD1, NULL }; static const AsterixField I048_V1_28_080 = { FIXED, 2, 0, 0, &hf_048_V1_28_080, I048_V1_28_080_PARTS, { NULL } }; static int hf_048_V1_28_090; static int hf_048_V1_28_090_V; static const value_string valstr_048_V1_28_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_28_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_090_V, NULL }; static int hf_048_V1_28_090_G; static const value_string valstr_048_V1_28_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_28_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_090_G, NULL }; static int hf_048_V1_28_090_FL; static const FieldPart I048_V1_28_090_FL = { 14, 0.25, FIELD_PART_UFLOAT, &hf_048_V1_28_090_FL, NULL }; static const FieldPart *I048_V1_28_090_PARTS[] = { &I048_V1_28_090_V, &I048_V1_28_090_G, &I048_V1_28_090_FL, NULL }; static const AsterixField I048_V1_28_090 = { FIXED, 2, 0, 0, &hf_048_V1_28_090, I048_V1_28_090_PARTS, { NULL } }; static int hf_048_V1_28_100; static int hf_048_V1_28_100_V; static const value_string valstr_048_V1_28_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_V, NULL }; static int hf_048_V1_28_100_G; static const value_string valstr_048_V1_28_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_G, NULL }; static int hf_048_V1_28_100_MODEC; static const FieldPart I048_V1_28_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_28_100_MODEC, NULL }; static int hf_048_V1_28_100_QC1; static const value_string valstr_048_V1_28_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QC1, NULL }; static int hf_048_V1_28_100_QA1; static const value_string valstr_048_V1_28_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QA1, NULL }; static int hf_048_V1_28_100_QC2; static const value_string valstr_048_V1_28_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QC2, NULL }; static int hf_048_V1_28_100_QA2; static const value_string valstr_048_V1_28_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QA2, NULL }; static int hf_048_V1_28_100_QC4; static const value_string valstr_048_V1_28_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QC4, NULL }; static int hf_048_V1_28_100_QA4; static const value_string valstr_048_V1_28_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QA4, NULL }; static int hf_048_V1_28_100_QB1; static const value_string valstr_048_V1_28_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QB1, NULL }; static int hf_048_V1_28_100_QD1; static const value_string valstr_048_V1_28_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QD1, NULL }; static int hf_048_V1_28_100_QB2; static const value_string valstr_048_V1_28_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QB2, NULL }; static int hf_048_V1_28_100_QD2; static const value_string valstr_048_V1_28_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QD2, NULL }; static int hf_048_V1_28_100_QB4; static const value_string valstr_048_V1_28_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QB4, NULL }; static int hf_048_V1_28_100_QD4; static const value_string valstr_048_V1_28_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_28_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_100_QD4, NULL }; static const FieldPart *I048_V1_28_100_PARTS[] = { &I048_V1_28_100_V, &I048_V1_28_100_G, &IXXX_2bit_spare, &I048_V1_28_100_MODEC, &IXXX_4bit_spare, &I048_V1_28_100_QC1, &I048_V1_28_100_QA1, &I048_V1_28_100_QC2, &I048_V1_28_100_QA2, &I048_V1_28_100_QC4, &I048_V1_28_100_QA4, &I048_V1_28_100_QB1, &I048_V1_28_100_QD1, &I048_V1_28_100_QB2, &I048_V1_28_100_QD2, &I048_V1_28_100_QB4, &I048_V1_28_100_QD4, NULL }; static const AsterixField I048_V1_28_100 = { FIXED, 4, 0, 0, &hf_048_V1_28_100, I048_V1_28_100_PARTS, { NULL } }; static int hf_048_V1_28_110; static int hf_048_V1_28_110_3DH; static const FieldPart I048_V1_28_110_3DH = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_V1_28_110_3DH, NULL }; static const FieldPart *I048_V1_28_110_PARTS[] = { &IXXX_2bit_spare, &I048_V1_28_110_3DH, NULL }; static const AsterixField I048_V1_28_110 = { FIXED, 2, 0, 0, &hf_048_V1_28_110, I048_V1_28_110_PARTS, { NULL } }; static int hf_048_V1_28_120; static int hf_048_V1_28_120_CAL; static int hf_048_V1_28_120_CAL_D; static const value_string valstr_048_V1_28_120_CAL_D[] = { { 0, "Doppler speed is valid" }, { 1, "Doppler speed is doubtful" }, { 0, NULL } }; static const FieldPart I048_V1_28_120_CAL_D = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_120_CAL_D, NULL }; static int hf_048_V1_28_120_CAL_CAL; static const FieldPart I048_V1_28_120_CAL_CAL = { 10, 1.0, FIELD_PART_FLOAT, &hf_048_V1_28_120_CAL_CAL, NULL }; static const FieldPart *I048_V1_28_120_CAL_PARTS[] = { &I048_V1_28_120_CAL_D, &IXXX_5bit_spare, &I048_V1_28_120_CAL_CAL, NULL }; static const AsterixField I048_V1_28_120_CAL = { FIXED, 2, 0, 0, &hf_048_V1_28_120_CAL, I048_V1_28_120_CAL_PARTS, { NULL } }; static int hf_048_V1_28_120_RDS; static int hf_048_V1_28_120_RDS_DOP; static const FieldPart I048_V1_28_120_RDS_DOP = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_28_120_RDS_DOP, NULL }; static int hf_048_V1_28_120_RDS_AMB; static const FieldPart I048_V1_28_120_RDS_AMB = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_28_120_RDS_AMB, NULL }; static int hf_048_V1_28_120_RDS_FRQ; static const FieldPart I048_V1_28_120_RDS_FRQ = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_28_120_RDS_FRQ, NULL }; static const FieldPart *I048_V1_28_120_RDS_PARTS[] = { &I048_V1_28_120_RDS_DOP, &I048_V1_28_120_RDS_AMB, &I048_V1_28_120_RDS_FRQ, NULL }; static const AsterixField I048_V1_28_120_RDS = { REPETITIVE, 6, 1, 0, &hf_048_V1_28_120_RDS, I048_V1_28_120_RDS_PARTS, { NULL } }; static const AsterixField I048_V1_28_120 = { COMPOUND, 0, 0, 0, &hf_048_V1_28_120, NULL, { &I048_V1_28_120_CAL, &I048_V1_28_120_RDS, NULL } }; static int hf_048_V1_28_130; static int hf_048_V1_28_130_SRL; static int hf_048_V1_28_130_SRL_VALUE; static const FieldPart I048_V1_28_130_SRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_28_130_SRL_VALUE, NULL }; static const FieldPart *I048_V1_28_130_SRL_PARTS[] = { &I048_V1_28_130_SRL_VALUE, NULL }; static const AsterixField I048_V1_28_130_SRL = { FIXED, 1, 0, 0, &hf_048_V1_28_130_SRL, I048_V1_28_130_SRL_PARTS, { NULL } }; static int hf_048_V1_28_130_SRR; static int hf_048_V1_28_130_SRR_VALUE; static const FieldPart I048_V1_28_130_SRR_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_048_V1_28_130_SRR_VALUE, NULL }; static const FieldPart *I048_V1_28_130_SRR_PARTS[] = { &I048_V1_28_130_SRR_VALUE, NULL }; static const AsterixField I048_V1_28_130_SRR = { FIXED, 1, 0, 0, &hf_048_V1_28_130_SRR, I048_V1_28_130_SRR_PARTS, { NULL } }; static int hf_048_V1_28_130_SAM; static int hf_048_V1_28_130_SAM_VALUE; static const FieldPart I048_V1_28_130_SAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_28_130_SAM_VALUE, NULL }; static const FieldPart *I048_V1_28_130_SAM_PARTS[] = { &I048_V1_28_130_SAM_VALUE, NULL }; static const AsterixField I048_V1_28_130_SAM = { FIXED, 1, 0, 0, &hf_048_V1_28_130_SAM, I048_V1_28_130_SAM_PARTS, { NULL } }; static int hf_048_V1_28_130_PRL; static int hf_048_V1_28_130_PRL_VALUE; static const FieldPart I048_V1_28_130_PRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_28_130_PRL_VALUE, NULL }; static const FieldPart *I048_V1_28_130_PRL_PARTS[] = { &I048_V1_28_130_PRL_VALUE, NULL }; static const AsterixField I048_V1_28_130_PRL = { FIXED, 1, 0, 0, &hf_048_V1_28_130_PRL, I048_V1_28_130_PRL_PARTS, { NULL } }; static int hf_048_V1_28_130_PAM; static int hf_048_V1_28_130_PAM_VALUE; static const FieldPart I048_V1_28_130_PAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_28_130_PAM_VALUE, NULL }; static const FieldPart *I048_V1_28_130_PAM_PARTS[] = { &I048_V1_28_130_PAM_VALUE, NULL }; static const AsterixField I048_V1_28_130_PAM = { FIXED, 1, 0, 0, &hf_048_V1_28_130_PAM, I048_V1_28_130_PAM_PARTS, { NULL } }; static int hf_048_V1_28_130_RPD; static int hf_048_V1_28_130_RPD_VALUE; static const FieldPart I048_V1_28_130_RPD_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_048_V1_28_130_RPD_VALUE, NULL }; static const FieldPart *I048_V1_28_130_RPD_PARTS[] = { &I048_V1_28_130_RPD_VALUE, NULL }; static const AsterixField I048_V1_28_130_RPD = { FIXED, 1, 0, 0, &hf_048_V1_28_130_RPD, I048_V1_28_130_RPD_PARTS, { NULL } }; static int hf_048_V1_28_130_APD; static int hf_048_V1_28_130_APD_VALUE; static const FieldPart I048_V1_28_130_APD_VALUE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_048_V1_28_130_APD_VALUE, NULL }; static const FieldPart *I048_V1_28_130_APD_PARTS[] = { &I048_V1_28_130_APD_VALUE, NULL }; static const AsterixField I048_V1_28_130_APD = { FIXED, 1, 0, 0, &hf_048_V1_28_130_APD, I048_V1_28_130_APD_PARTS, { NULL } }; static const AsterixField I048_V1_28_130 = { COMPOUND, 0, 0, 0, &hf_048_V1_28_130, NULL, { &I048_V1_28_130_SRL, &I048_V1_28_130_SRR, &I048_V1_28_130_SAM, &I048_V1_28_130_PRL, &I048_V1_28_130_PAM, &I048_V1_28_130_RPD, &I048_V1_28_130_APD, NULL } }; static int hf_048_V1_28_140; static int hf_048_V1_28_140_VALUE; static const FieldPart I048_V1_28_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_28_140_VALUE, NULL }; static const FieldPart *I048_V1_28_140_PARTS[] = { &I048_V1_28_140_VALUE, NULL }; static const AsterixField I048_V1_28_140 = { FIXED, 3, 0, 0, &hf_048_V1_28_140, I048_V1_28_140_PARTS, { NULL } }; static int hf_048_V1_28_161; static int hf_048_V1_28_161_TRN; static const FieldPart I048_V1_28_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_28_161_TRN, NULL }; static const FieldPart *I048_V1_28_161_PARTS[] = { &IXXX_4bit_spare, &I048_V1_28_161_TRN, NULL }; static const AsterixField I048_V1_28_161 = { FIXED, 2, 0, 0, &hf_048_V1_28_161, I048_V1_28_161_PARTS, { NULL } }; static int hf_048_V1_28_170; static int hf_048_V1_28_170_CNF; static const value_string valstr_048_V1_28_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_CNF, NULL }; static int hf_048_V1_28_170_RAD; static const value_string valstr_048_V1_28_170_RAD[] = { { 0, "Combined Track" }, { 1, "PSR Track" }, { 2, "SSR/Mode S Track" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_RAD = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_RAD, NULL }; static int hf_048_V1_28_170_DOU; static const value_string valstr_048_V1_28_170_DOU[] = { { 0, "Normal confidence" }, { 1, "Low confidence in plot to track association" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_DOU, NULL }; static int hf_048_V1_28_170_MAH; static const value_string valstr_048_V1_28_170_MAH[] = { { 0, "No horizontal man.sensed" }, { 1, "Horizontal man. sensed" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_MAH, NULL }; static int hf_048_V1_28_170_CDM; static const value_string valstr_048_V1_28_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_CDM, NULL }; static int hf_048_V1_28_170_TRE; static const value_string valstr_048_V1_28_170_TRE[] = { { 0, "Track still alive" }, { 1, "End of track lifetime(last report for this track)" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_TRE, NULL }; static int hf_048_V1_28_170_GHO; static const value_string valstr_048_V1_28_170_GHO[] = { { 0, "True target track" }, { 1, "Ghost target track" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_GHO, NULL }; static int hf_048_V1_28_170_SUP; static const value_string valstr_048_V1_28_170_SUP[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_SUP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_SUP, NULL }; static int hf_048_V1_28_170_TCC; static const value_string valstr_048_V1_28_170_TCC[] = { { 0, "Tracking performed in so-called \'Radar Plane\', i.e. neither slant range correction nor stereographical projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Radar Site co-ordinates" }, { 0, NULL } }; static const FieldPart I048_V1_28_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_170_TCC, NULL }; static const FieldPart *I048_V1_28_170_PARTS[] = { &I048_V1_28_170_CNF, &I048_V1_28_170_RAD, &I048_V1_28_170_DOU, &I048_V1_28_170_MAH, &I048_V1_28_170_CDM, &IXXX_FX, &I048_V1_28_170_TRE, &I048_V1_28_170_GHO, &I048_V1_28_170_SUP, &I048_V1_28_170_TCC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_V1_28_170 = { FX, 1, 0, 0, &hf_048_V1_28_170, I048_V1_28_170_PARTS, { NULL } }; static int hf_048_V1_28_200; static int hf_048_V1_28_200_GSP; static const FieldPart I048_V1_28_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_28_200_GSP, NULL }; static int hf_048_V1_28_200_HDG; static const FieldPart I048_V1_28_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_28_200_HDG, NULL }; static const FieldPart *I048_V1_28_200_PARTS[] = { &I048_V1_28_200_GSP, &I048_V1_28_200_HDG, NULL }; static const AsterixField I048_V1_28_200 = { FIXED, 4, 0, 0, &hf_048_V1_28_200, I048_V1_28_200_PARTS, { NULL } }; static int hf_048_V1_28_210; static int hf_048_V1_28_210_SIGX; static const FieldPart I048_V1_28_210_SIGX = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_28_210_SIGX, NULL }; static int hf_048_V1_28_210_SIGY; static const FieldPart I048_V1_28_210_SIGY = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_28_210_SIGY, NULL }; static int hf_048_V1_28_210_SIGV; static const FieldPart I048_V1_28_210_SIGV = { 8, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_28_210_SIGV, NULL }; static int hf_048_V1_28_210_SIGH; static const FieldPart I048_V1_28_210_SIGH = { 8, 0.087890625, FIELD_PART_UFLOAT, &hf_048_V1_28_210_SIGH, NULL }; static const FieldPart *I048_V1_28_210_PARTS[] = { &I048_V1_28_210_SIGX, &I048_V1_28_210_SIGY, &I048_V1_28_210_SIGV, &I048_V1_28_210_SIGH, NULL }; static const AsterixField I048_V1_28_210 = { FIXED, 4, 0, 0, &hf_048_V1_28_210, I048_V1_28_210_PARTS, { NULL } }; static int hf_048_V1_28_220; static int hf_048_V1_28_220_VALUE; static const FieldPart I048_V1_28_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_048_V1_28_220_VALUE, NULL }; static const FieldPart *I048_V1_28_220_PARTS[] = { &I048_V1_28_220_VALUE, NULL }; static const AsterixField I048_V1_28_220 = { FIXED, 3, 0, 0, &hf_048_V1_28_220, I048_V1_28_220_PARTS, { NULL } }; static int hf_048_V1_28_230; static int hf_048_V1_28_230_COM; static const value_string valstr_048_V1_28_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I048_V1_28_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_28_230_COM, NULL }; static int hf_048_V1_28_230_STAT; static const value_string valstr_048_V1_28_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_28_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_28_230_STAT, NULL }; static int hf_048_V1_28_230_SI; static const value_string valstr_048_V1_28_230_SI[] = { { 0, "SI-Code Capable" }, { 1, "II-Code Capable" }, { 0, NULL } }; static const FieldPart I048_V1_28_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_230_SI, NULL }; static int hf_048_V1_28_230_MSSC; static const value_string valstr_048_V1_28_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_28_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_230_MSSC, NULL }; static int hf_048_V1_28_230_ARC; static const value_string valstr_048_V1_28_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I048_V1_28_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_230_ARC, NULL }; static int hf_048_V1_28_230_AIC; static const value_string valstr_048_V1_28_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_28_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_28_230_AIC, NULL }; static int hf_048_V1_28_230_B1A; static const FieldPart I048_V1_28_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_048_V1_28_230_B1A, NULL }; static int hf_048_V1_28_230_B1B; static const FieldPart I048_V1_28_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_28_230_B1B, NULL }; static const FieldPart *I048_V1_28_230_PARTS[] = { &I048_V1_28_230_COM, &I048_V1_28_230_STAT, &I048_V1_28_230_SI, &IXXX_1bit_spare, &I048_V1_28_230_MSSC, &I048_V1_28_230_ARC, &I048_V1_28_230_AIC, &I048_V1_28_230_B1A, &I048_V1_28_230_B1B, NULL }; static const AsterixField I048_V1_28_230 = { FIXED, 2, 0, 0, &hf_048_V1_28_230, I048_V1_28_230_PARTS, { NULL } }; static int hf_048_V1_28_240; static int hf_048_V1_28_240_VALUE; static const FieldPart I048_V1_28_240_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_048_V1_28_240_VALUE, NULL }; static const FieldPart *I048_V1_28_240_PARTS[] = { &I048_V1_28_240_VALUE, NULL }; static const AsterixField I048_V1_28_240 = { FIXED, 6, 0, 0, &hf_048_V1_28_240, I048_V1_28_240_PARTS, { NULL } }; static int hf_048_V1_28_250; static int hf_048_V1_28_250_MBDATA; static const FieldPart I048_V1_28_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_28_250_MBDATA, NULL }; static int hf_048_V1_28_250_BDS1; static const FieldPart I048_V1_28_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_28_250_BDS1, NULL }; static int hf_048_V1_28_250_BDS2; static const FieldPart I048_V1_28_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_28_250_BDS2, NULL }; static const FieldPart *I048_V1_28_250_PARTS[] = { &I048_V1_28_250_MBDATA, &I048_V1_28_250_BDS1, &I048_V1_28_250_BDS2, NULL }; static const AsterixField I048_V1_28_250 = { REPETITIVE, 8, 1, 0, &hf_048_V1_28_250, I048_V1_28_250_PARTS, { NULL } }; static int hf_048_V1_28_260; static int hf_048_V1_28_260_VALUE; static const FieldPart I048_V1_28_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_28_260_VALUE, NULL }; static const FieldPart *I048_V1_28_260_PARTS[] = { &I048_V1_28_260_VALUE, NULL }; static const AsterixField I048_V1_28_260 = { FIXED, 7, 0, 0, &hf_048_V1_28_260, I048_V1_28_260_PARTS, { NULL } }; static int hf_048_V1_28_RE; static const AsterixField I048_V1_28_RE = { EXP, 0, 0, 1, &hf_048_V1_28_RE, NULL, { NULL } }; static int hf_048_V1_28_SP; static const AsterixField I048_V1_28_SP = { EXP, 0, 0, 1, &hf_048_V1_28_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I048_V1_28_uap[] = { &I048_V1_28_010, &I048_V1_28_140, &I048_V1_28_020, &I048_V1_28_040, &I048_V1_28_070, &I048_V1_28_090, &I048_V1_28_130, &I048_V1_28_220, &I048_V1_28_240, &I048_V1_28_250, &I048_V1_28_161, &I048_V1_28_042, &I048_V1_28_200, &I048_V1_28_170, &I048_V1_28_210, &I048_V1_28_030, &I048_V1_28_080, &I048_V1_28_100, &I048_V1_28_110, &I048_V1_28_120, &I048_V1_28_230, &I048_V1_28_260, &I048_V1_28_055, &I048_V1_28_050, &I048_V1_28_065, &I048_V1_28_060, &I048_V1_28_SP, &I048_V1_28_RE, NULL }; static const AsterixField **I048_V1_28[] = { I048_V1_28_uap, NULL }; DIAG_ON_PEDANTIC /* Category 048, edition 1.29 */ static int hf_048_V1_29_010; static int hf_048_V1_29_010_SAC; static const FieldPart I048_V1_29_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_29_010_SAC, NULL }; static int hf_048_V1_29_010_SIC; static const FieldPart I048_V1_29_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_29_010_SIC, NULL }; static const FieldPart *I048_V1_29_010_PARTS[] = { &I048_V1_29_010_SAC, &I048_V1_29_010_SIC, NULL }; static const AsterixField I048_V1_29_010 = { FIXED, 2, 0, 0, &hf_048_V1_29_010, I048_V1_29_010_PARTS, { NULL } }; static int hf_048_V1_29_020; static int hf_048_V1_29_020_TYP; static const value_string valstr_048_V1_29_020_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call +PSR" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_TYP, NULL }; static int hf_048_V1_29_020_SIM; static const value_string valstr_048_V1_29_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_SIM, NULL }; static int hf_048_V1_29_020_RDP; static const value_string valstr_048_V1_29_020_RDP[] = { { 0, "Report from RDP Chain 1" }, { 1, "Report from RDP Chain 2" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_RDP, NULL }; static int hf_048_V1_29_020_SPI; static const value_string valstr_048_V1_29_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_SPI, NULL }; static int hf_048_V1_29_020_RAB; static const value_string valstr_048_V1_29_020_RAB[] = { { 0, "Report from aircraft transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_RAB, NULL }; static int hf_048_V1_29_020_TST; static const value_string valstr_048_V1_29_020_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_TST, NULL }; static int hf_048_V1_29_020_ERR; static const value_string valstr_048_V1_29_020_ERR[] = { { 0, "No Extended Range" }, { 1, "Extended Range present" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_ERR, NULL }; static int hf_048_V1_29_020_XPP; static const value_string valstr_048_V1_29_020_XPP[] = { { 0, "No X-Pulse present" }, { 1, "X-Pulse present" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_XPP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_XPP, NULL }; static int hf_048_V1_29_020_ME; static const value_string valstr_048_V1_29_020_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_ME, NULL }; static int hf_048_V1_29_020_MI; static const value_string valstr_048_V1_29_020_MI[] = { { 0, "No military identification" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_MI, NULL }; static int hf_048_V1_29_020_FOEFRI; static const value_string valstr_048_V1_29_020_FOEFRI[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I048_V1_29_020_FOEFRI = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_29_020_FOEFRI, NULL }; static const FieldPart *I048_V1_29_020_PARTS[] = { &I048_V1_29_020_TYP, &I048_V1_29_020_SIM, &I048_V1_29_020_RDP, &I048_V1_29_020_SPI, &I048_V1_29_020_RAB, &IXXX_FX, &I048_V1_29_020_TST, &I048_V1_29_020_ERR, &I048_V1_29_020_XPP, &I048_V1_29_020_ME, &I048_V1_29_020_MI, &I048_V1_29_020_FOEFRI, &IXXX_FX, NULL }; static const AsterixField I048_V1_29_020 = { FX, 1, 0, 0, &hf_048_V1_29_020, I048_V1_29_020_PARTS, { NULL } }; static int hf_048_V1_29_030; static int hf_048_V1_29_030_Subitem; static const value_string valstr_048_V1_29_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 2, "Reply due to sidelobe interrogation/reception" }, { 3, "Split plot" }, { 4, "Second time around reply" }, { 5, "Angel" }, { 6, "Slow moving target correlated with road infrastructure (terrestrial vehicle)" }, { 7, "Fixed PSR plot" }, { 8, "Slow PSR target" }, { 9, "Low quality PSR plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 13, "Target in Clutter Area" }, { 14, "Maximum Doppler Response in Zero Filter" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 19, "Birds" }, { 20, "Flock of Birds" }, { 21, "Mode-1 was present in original reply" }, { 22, "Mode-2 was present in original reply" }, { 23, "Plot potentially caused by Wind Turbine" }, { 24, "Helicopter" }, { 25, "Maximum number of re-interrogations reached (surveillance information)" }, { 26, "Maximum number of re-interrogations reached (BDS Extractions)" }, { 27, "BDS Overlay Incoherence" }, { 28, "Potential BDS Swap Detected" }, { 29, "Track Update in the Zenithal Gap" }, { 30, "Mode S Track re-acquired" }, { 31, "Duplicated Mode 5 Pair NO/PIN detected" }, { 32, "Wrong DF reply format detected" }, { 33, "Transponder anomaly (MS XPD replies with Mode A/C to Mode A/C-only all-call)" }, { 34, "Transponder anomaly (SI capability report wrong)" }, { 0, NULL } }; static const FieldPart I048_V1_29_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_048_V1_29_030_Subitem, NULL }; static const FieldPart *I048_V1_29_030_PARTS[] = { &I048_V1_29_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I048_V1_29_030 = { FX, 1, 0, 0, &hf_048_V1_29_030, I048_V1_29_030_PARTS, { NULL } }; static int hf_048_V1_29_040; static int hf_048_V1_29_040_RHO; static const FieldPart I048_V1_29_040_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_048_V1_29_040_RHO, NULL }; static int hf_048_V1_29_040_THETA; static const FieldPart I048_V1_29_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_29_040_THETA, NULL }; static const FieldPart *I048_V1_29_040_PARTS[] = { &I048_V1_29_040_RHO, &I048_V1_29_040_THETA, NULL }; static const AsterixField I048_V1_29_040 = { FIXED, 4, 0, 0, &hf_048_V1_29_040, I048_V1_29_040_PARTS, { NULL } }; static int hf_048_V1_29_042; static int hf_048_V1_29_042_X; static const FieldPart I048_V1_29_042_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_29_042_X, NULL }; static int hf_048_V1_29_042_Y; static const FieldPart I048_V1_29_042_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_29_042_Y, NULL }; static const FieldPart *I048_V1_29_042_PARTS[] = { &I048_V1_29_042_X, &I048_V1_29_042_Y, NULL }; static const AsterixField I048_V1_29_042 = { FIXED, 4, 0, 0, &hf_048_V1_29_042, I048_V1_29_042_PARTS, { NULL } }; static int hf_048_V1_29_050; static int hf_048_V1_29_050_V; static const value_string valstr_048_V1_29_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_29_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_050_V, NULL }; static int hf_048_V1_29_050_G; static const value_string valstr_048_V1_29_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_29_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_050_G, NULL }; static int hf_048_V1_29_050_L; static const value_string valstr_048_V1_29_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_29_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_050_L, NULL }; static int hf_048_V1_29_050_MODE2; static const FieldPart I048_V1_29_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_29_050_MODE2, NULL }; static const FieldPart *I048_V1_29_050_PARTS[] = { &I048_V1_29_050_V, &I048_V1_29_050_G, &I048_V1_29_050_L, &IXXX_1bit_spare, &I048_V1_29_050_MODE2, NULL }; static const AsterixField I048_V1_29_050 = { FIXED, 2, 0, 0, &hf_048_V1_29_050, I048_V1_29_050_PARTS, { NULL } }; static int hf_048_V1_29_055; static int hf_048_V1_29_055_V; static const value_string valstr_048_V1_29_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_29_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_055_V, NULL }; static int hf_048_V1_29_055_G; static const value_string valstr_048_V1_29_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_29_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_055_G, NULL }; static int hf_048_V1_29_055_L; static const value_string valstr_048_V1_29_055_L[] = { { 0, "Mode-1 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_29_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_055_L, NULL }; static int hf_048_V1_29_055_MODE1; static const FieldPart I048_V1_29_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_048_V1_29_055_MODE1, NULL }; static const FieldPart *I048_V1_29_055_PARTS[] = { &I048_V1_29_055_V, &I048_V1_29_055_G, &I048_V1_29_055_L, &I048_V1_29_055_MODE1, NULL }; static const AsterixField I048_V1_29_055 = { FIXED, 1, 0, 0, &hf_048_V1_29_055, I048_V1_29_055_PARTS, { NULL } }; static int hf_048_V1_29_060; static int hf_048_V1_29_060_QA4; static const value_string valstr_048_V1_29_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QA4, NULL }; static int hf_048_V1_29_060_QA2; static const value_string valstr_048_V1_29_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QA2, NULL }; static int hf_048_V1_29_060_QA1; static const value_string valstr_048_V1_29_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QA1, NULL }; static int hf_048_V1_29_060_QB4; static const value_string valstr_048_V1_29_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QB4, NULL }; static int hf_048_V1_29_060_QB2; static const value_string valstr_048_V1_29_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QB2, NULL }; static int hf_048_V1_29_060_QB1; static const value_string valstr_048_V1_29_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QB1, NULL }; static int hf_048_V1_29_060_QC4; static const value_string valstr_048_V1_29_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QC4, NULL }; static int hf_048_V1_29_060_QC2; static const value_string valstr_048_V1_29_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QC2, NULL }; static int hf_048_V1_29_060_QC1; static const value_string valstr_048_V1_29_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QC1, NULL }; static int hf_048_V1_29_060_QD4; static const value_string valstr_048_V1_29_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QD4, NULL }; static int hf_048_V1_29_060_QD2; static const value_string valstr_048_V1_29_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QD2, NULL }; static int hf_048_V1_29_060_QD1; static const value_string valstr_048_V1_29_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_29_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_060_QD1, NULL }; static const FieldPart *I048_V1_29_060_PARTS[] = { &IXXX_4bit_spare, &I048_V1_29_060_QA4, &I048_V1_29_060_QA2, &I048_V1_29_060_QA1, &I048_V1_29_060_QB4, &I048_V1_29_060_QB2, &I048_V1_29_060_QB1, &I048_V1_29_060_QC4, &I048_V1_29_060_QC2, &I048_V1_29_060_QC1, &I048_V1_29_060_QD4, &I048_V1_29_060_QD2, &I048_V1_29_060_QD1, NULL }; static const AsterixField I048_V1_29_060 = { FIXED, 2, 0, 0, &hf_048_V1_29_060, I048_V1_29_060_PARTS, { NULL } }; static int hf_048_V1_29_065; static int hf_048_V1_29_065_QA4; static const value_string valstr_048_V1_29_065_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_29_065_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_065_QA4, NULL }; static int hf_048_V1_29_065_QA2; static const value_string valstr_048_V1_29_065_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_29_065_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_065_QA2, NULL }; static int hf_048_V1_29_065_QA1; static const value_string valstr_048_V1_29_065_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_29_065_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_065_QA1, NULL }; static int hf_048_V1_29_065_QB2; static const value_string valstr_048_V1_29_065_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_29_065_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_065_QB2, NULL }; static int hf_048_V1_29_065_QB1; static const value_string valstr_048_V1_29_065_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_29_065_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_065_QB1, NULL }; static const FieldPart *I048_V1_29_065_PARTS[] = { &IXXX_3bit_spare, &I048_V1_29_065_QA4, &I048_V1_29_065_QA2, &I048_V1_29_065_QA1, &I048_V1_29_065_QB2, &I048_V1_29_065_QB1, NULL }; static const AsterixField I048_V1_29_065 = { FIXED, 1, 0, 0, &hf_048_V1_29_065, I048_V1_29_065_PARTS, { NULL } }; static int hf_048_V1_29_070; static int hf_048_V1_29_070_V; static const value_string valstr_048_V1_29_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_29_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_070_V, NULL }; static int hf_048_V1_29_070_G; static const value_string valstr_048_V1_29_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_29_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_070_G, NULL }; static int hf_048_V1_29_070_L; static const value_string valstr_048_V1_29_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I048_V1_29_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_070_L, NULL }; static int hf_048_V1_29_070_MODE3A; static const FieldPart I048_V1_29_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_29_070_MODE3A, NULL }; static const FieldPart *I048_V1_29_070_PARTS[] = { &I048_V1_29_070_V, &I048_V1_29_070_G, &I048_V1_29_070_L, &IXXX_1bit_spare, &I048_V1_29_070_MODE3A, NULL }; static const AsterixField I048_V1_29_070 = { FIXED, 2, 0, 0, &hf_048_V1_29_070, I048_V1_29_070_PARTS, { NULL } }; static int hf_048_V1_29_080; static int hf_048_V1_29_080_QA4; static const value_string valstr_048_V1_29_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QA4, NULL }; static int hf_048_V1_29_080_QA2; static const value_string valstr_048_V1_29_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QA2, NULL }; static int hf_048_V1_29_080_QA1; static const value_string valstr_048_V1_29_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QA1, NULL }; static int hf_048_V1_29_080_QB4; static const value_string valstr_048_V1_29_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QB4, NULL }; static int hf_048_V1_29_080_QB2; static const value_string valstr_048_V1_29_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QB2, NULL }; static int hf_048_V1_29_080_QB1; static const value_string valstr_048_V1_29_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QB1, NULL }; static int hf_048_V1_29_080_QC4; static const value_string valstr_048_V1_29_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QC4, NULL }; static int hf_048_V1_29_080_QC2; static const value_string valstr_048_V1_29_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QC2, NULL }; static int hf_048_V1_29_080_QC1; static const value_string valstr_048_V1_29_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QC1, NULL }; static int hf_048_V1_29_080_QD4; static const value_string valstr_048_V1_29_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QD4, NULL }; static int hf_048_V1_29_080_QD2; static const value_string valstr_048_V1_29_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QD2, NULL }; static int hf_048_V1_29_080_QD1; static const value_string valstr_048_V1_29_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_29_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_080_QD1, NULL }; static const FieldPart *I048_V1_29_080_PARTS[] = { &IXXX_4bit_spare, &I048_V1_29_080_QA4, &I048_V1_29_080_QA2, &I048_V1_29_080_QA1, &I048_V1_29_080_QB4, &I048_V1_29_080_QB2, &I048_V1_29_080_QB1, &I048_V1_29_080_QC4, &I048_V1_29_080_QC2, &I048_V1_29_080_QC1, &I048_V1_29_080_QD4, &I048_V1_29_080_QD2, &I048_V1_29_080_QD1, NULL }; static const AsterixField I048_V1_29_080 = { FIXED, 2, 0, 0, &hf_048_V1_29_080, I048_V1_29_080_PARTS, { NULL } }; static int hf_048_V1_29_090; static int hf_048_V1_29_090_V; static const value_string valstr_048_V1_29_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_29_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_090_V, NULL }; static int hf_048_V1_29_090_G; static const value_string valstr_048_V1_29_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_29_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_090_G, NULL }; static int hf_048_V1_29_090_FL; static const FieldPart I048_V1_29_090_FL = { 14, 0.25, FIELD_PART_UFLOAT, &hf_048_V1_29_090_FL, NULL }; static const FieldPart *I048_V1_29_090_PARTS[] = { &I048_V1_29_090_V, &I048_V1_29_090_G, &I048_V1_29_090_FL, NULL }; static const AsterixField I048_V1_29_090 = { FIXED, 2, 0, 0, &hf_048_V1_29_090, I048_V1_29_090_PARTS, { NULL } }; static int hf_048_V1_29_100; static int hf_048_V1_29_100_V; static const value_string valstr_048_V1_29_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_V, NULL }; static int hf_048_V1_29_100_G; static const value_string valstr_048_V1_29_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_G, NULL }; static int hf_048_V1_29_100_MODEC; static const FieldPart I048_V1_29_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_29_100_MODEC, NULL }; static int hf_048_V1_29_100_QC1; static const value_string valstr_048_V1_29_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QC1, NULL }; static int hf_048_V1_29_100_QA1; static const value_string valstr_048_V1_29_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QA1, NULL }; static int hf_048_V1_29_100_QC2; static const value_string valstr_048_V1_29_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QC2, NULL }; static int hf_048_V1_29_100_QA2; static const value_string valstr_048_V1_29_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QA2, NULL }; static int hf_048_V1_29_100_QC4; static const value_string valstr_048_V1_29_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QC4, NULL }; static int hf_048_V1_29_100_QA4; static const value_string valstr_048_V1_29_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QA4, NULL }; static int hf_048_V1_29_100_QB1; static const value_string valstr_048_V1_29_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QB1, NULL }; static int hf_048_V1_29_100_QD1; static const value_string valstr_048_V1_29_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QD1, NULL }; static int hf_048_V1_29_100_QB2; static const value_string valstr_048_V1_29_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QB2, NULL }; static int hf_048_V1_29_100_QD2; static const value_string valstr_048_V1_29_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QD2, NULL }; static int hf_048_V1_29_100_QB4; static const value_string valstr_048_V1_29_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QB4, NULL }; static int hf_048_V1_29_100_QD4; static const value_string valstr_048_V1_29_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_29_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_100_QD4, NULL }; static const FieldPart *I048_V1_29_100_PARTS[] = { &I048_V1_29_100_V, &I048_V1_29_100_G, &IXXX_2bit_spare, &I048_V1_29_100_MODEC, &IXXX_4bit_spare, &I048_V1_29_100_QC1, &I048_V1_29_100_QA1, &I048_V1_29_100_QC2, &I048_V1_29_100_QA2, &I048_V1_29_100_QC4, &I048_V1_29_100_QA4, &I048_V1_29_100_QB1, &I048_V1_29_100_QD1, &I048_V1_29_100_QB2, &I048_V1_29_100_QD2, &I048_V1_29_100_QB4, &I048_V1_29_100_QD4, NULL }; static const AsterixField I048_V1_29_100 = { FIXED, 4, 0, 0, &hf_048_V1_29_100, I048_V1_29_100_PARTS, { NULL } }; static int hf_048_V1_29_110; static int hf_048_V1_29_110_3DH; static const FieldPart I048_V1_29_110_3DH = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_V1_29_110_3DH, NULL }; static const FieldPart *I048_V1_29_110_PARTS[] = { &IXXX_2bit_spare, &I048_V1_29_110_3DH, NULL }; static const AsterixField I048_V1_29_110 = { FIXED, 2, 0, 0, &hf_048_V1_29_110, I048_V1_29_110_PARTS, { NULL } }; static int hf_048_V1_29_120; static int hf_048_V1_29_120_CAL; static int hf_048_V1_29_120_CAL_D; static const value_string valstr_048_V1_29_120_CAL_D[] = { { 0, "Doppler speed is valid" }, { 1, "Doppler speed is doubtful" }, { 0, NULL } }; static const FieldPart I048_V1_29_120_CAL_D = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_120_CAL_D, NULL }; static int hf_048_V1_29_120_CAL_CAL; static const FieldPart I048_V1_29_120_CAL_CAL = { 10, 1.0, FIELD_PART_FLOAT, &hf_048_V1_29_120_CAL_CAL, NULL }; static const FieldPart *I048_V1_29_120_CAL_PARTS[] = { &I048_V1_29_120_CAL_D, &IXXX_5bit_spare, &I048_V1_29_120_CAL_CAL, NULL }; static const AsterixField I048_V1_29_120_CAL = { FIXED, 2, 0, 0, &hf_048_V1_29_120_CAL, I048_V1_29_120_CAL_PARTS, { NULL } }; static int hf_048_V1_29_120_RDS; static int hf_048_V1_29_120_RDS_DOP; static const FieldPart I048_V1_29_120_RDS_DOP = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_29_120_RDS_DOP, NULL }; static int hf_048_V1_29_120_RDS_AMB; static const FieldPart I048_V1_29_120_RDS_AMB = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_29_120_RDS_AMB, NULL }; static int hf_048_V1_29_120_RDS_FRQ; static const FieldPart I048_V1_29_120_RDS_FRQ = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_29_120_RDS_FRQ, NULL }; static const FieldPart *I048_V1_29_120_RDS_PARTS[] = { &I048_V1_29_120_RDS_DOP, &I048_V1_29_120_RDS_AMB, &I048_V1_29_120_RDS_FRQ, NULL }; static const AsterixField I048_V1_29_120_RDS = { REPETITIVE, 6, 1, 0, &hf_048_V1_29_120_RDS, I048_V1_29_120_RDS_PARTS, { NULL } }; static const AsterixField I048_V1_29_120 = { COMPOUND, 0, 0, 0, &hf_048_V1_29_120, NULL, { &I048_V1_29_120_CAL, &I048_V1_29_120_RDS, NULL } }; static int hf_048_V1_29_130; static int hf_048_V1_29_130_SRL; static int hf_048_V1_29_130_SRL_VALUE; static const FieldPart I048_V1_29_130_SRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_29_130_SRL_VALUE, NULL }; static const FieldPart *I048_V1_29_130_SRL_PARTS[] = { &I048_V1_29_130_SRL_VALUE, NULL }; static const AsterixField I048_V1_29_130_SRL = { FIXED, 1, 0, 0, &hf_048_V1_29_130_SRL, I048_V1_29_130_SRL_PARTS, { NULL } }; static int hf_048_V1_29_130_SRR; static int hf_048_V1_29_130_SRR_VALUE; static const FieldPart I048_V1_29_130_SRR_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_048_V1_29_130_SRR_VALUE, NULL }; static const FieldPart *I048_V1_29_130_SRR_PARTS[] = { &I048_V1_29_130_SRR_VALUE, NULL }; static const AsterixField I048_V1_29_130_SRR = { FIXED, 1, 0, 0, &hf_048_V1_29_130_SRR, I048_V1_29_130_SRR_PARTS, { NULL } }; static int hf_048_V1_29_130_SAM; static int hf_048_V1_29_130_SAM_VALUE; static const FieldPart I048_V1_29_130_SAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_29_130_SAM_VALUE, NULL }; static const FieldPart *I048_V1_29_130_SAM_PARTS[] = { &I048_V1_29_130_SAM_VALUE, NULL }; static const AsterixField I048_V1_29_130_SAM = { FIXED, 1, 0, 0, &hf_048_V1_29_130_SAM, I048_V1_29_130_SAM_PARTS, { NULL } }; static int hf_048_V1_29_130_PRL; static int hf_048_V1_29_130_PRL_VALUE; static const FieldPart I048_V1_29_130_PRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_29_130_PRL_VALUE, NULL }; static const FieldPart *I048_V1_29_130_PRL_PARTS[] = { &I048_V1_29_130_PRL_VALUE, NULL }; static const AsterixField I048_V1_29_130_PRL = { FIXED, 1, 0, 0, &hf_048_V1_29_130_PRL, I048_V1_29_130_PRL_PARTS, { NULL } }; static int hf_048_V1_29_130_PAM; static int hf_048_V1_29_130_PAM_VALUE; static const FieldPart I048_V1_29_130_PAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_29_130_PAM_VALUE, NULL }; static const FieldPart *I048_V1_29_130_PAM_PARTS[] = { &I048_V1_29_130_PAM_VALUE, NULL }; static const AsterixField I048_V1_29_130_PAM = { FIXED, 1, 0, 0, &hf_048_V1_29_130_PAM, I048_V1_29_130_PAM_PARTS, { NULL } }; static int hf_048_V1_29_130_RPD; static int hf_048_V1_29_130_RPD_VALUE; static const FieldPart I048_V1_29_130_RPD_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_048_V1_29_130_RPD_VALUE, NULL }; static const FieldPart *I048_V1_29_130_RPD_PARTS[] = { &I048_V1_29_130_RPD_VALUE, NULL }; static const AsterixField I048_V1_29_130_RPD = { FIXED, 1, 0, 0, &hf_048_V1_29_130_RPD, I048_V1_29_130_RPD_PARTS, { NULL } }; static int hf_048_V1_29_130_APD; static int hf_048_V1_29_130_APD_VALUE; static const FieldPart I048_V1_29_130_APD_VALUE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_048_V1_29_130_APD_VALUE, NULL }; static const FieldPart *I048_V1_29_130_APD_PARTS[] = { &I048_V1_29_130_APD_VALUE, NULL }; static const AsterixField I048_V1_29_130_APD = { FIXED, 1, 0, 0, &hf_048_V1_29_130_APD, I048_V1_29_130_APD_PARTS, { NULL } }; static const AsterixField I048_V1_29_130 = { COMPOUND, 0, 0, 0, &hf_048_V1_29_130, NULL, { &I048_V1_29_130_SRL, &I048_V1_29_130_SRR, &I048_V1_29_130_SAM, &I048_V1_29_130_PRL, &I048_V1_29_130_PAM, &I048_V1_29_130_RPD, &I048_V1_29_130_APD, NULL } }; static int hf_048_V1_29_140; static int hf_048_V1_29_140_VALUE; static const FieldPart I048_V1_29_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_29_140_VALUE, NULL }; static const FieldPart *I048_V1_29_140_PARTS[] = { &I048_V1_29_140_VALUE, NULL }; static const AsterixField I048_V1_29_140 = { FIXED, 3, 0, 0, &hf_048_V1_29_140, I048_V1_29_140_PARTS, { NULL } }; static int hf_048_V1_29_161; static int hf_048_V1_29_161_TRN; static const FieldPart I048_V1_29_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_29_161_TRN, NULL }; static const FieldPart *I048_V1_29_161_PARTS[] = { &IXXX_4bit_spare, &I048_V1_29_161_TRN, NULL }; static const AsterixField I048_V1_29_161 = { FIXED, 2, 0, 0, &hf_048_V1_29_161, I048_V1_29_161_PARTS, { NULL } }; static int hf_048_V1_29_170; static int hf_048_V1_29_170_CNF; static const value_string valstr_048_V1_29_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_CNF, NULL }; static int hf_048_V1_29_170_RAD; static const value_string valstr_048_V1_29_170_RAD[] = { { 0, "Combined Track" }, { 1, "PSR Track" }, { 2, "SSR/Mode S Track" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_RAD = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_RAD, NULL }; static int hf_048_V1_29_170_DOU; static const value_string valstr_048_V1_29_170_DOU[] = { { 0, "Normal confidence" }, { 1, "Low confidence in plot to track association" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_DOU, NULL }; static int hf_048_V1_29_170_MAH; static const value_string valstr_048_V1_29_170_MAH[] = { { 0, "No horizontal man.sensed" }, { 1, "Horizontal man. sensed" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_MAH, NULL }; static int hf_048_V1_29_170_CDM; static const value_string valstr_048_V1_29_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_CDM, NULL }; static int hf_048_V1_29_170_TRE; static const value_string valstr_048_V1_29_170_TRE[] = { { 0, "Track still alive" }, { 1, "End of track lifetime(last report for this track)" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_TRE, NULL }; static int hf_048_V1_29_170_GHO; static const value_string valstr_048_V1_29_170_GHO[] = { { 0, "True target track" }, { 1, "Ghost target track" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_GHO, NULL }; static int hf_048_V1_29_170_SUP; static const value_string valstr_048_V1_29_170_SUP[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_SUP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_SUP, NULL }; static int hf_048_V1_29_170_TCC; static const value_string valstr_048_V1_29_170_TCC[] = { { 0, "Tracking performed in so-called \'Radar Plane\', i.e. neither slant range correction nor stereographical projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Radar Site co-ordinates" }, { 0, NULL } }; static const FieldPart I048_V1_29_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_170_TCC, NULL }; static const FieldPart *I048_V1_29_170_PARTS[] = { &I048_V1_29_170_CNF, &I048_V1_29_170_RAD, &I048_V1_29_170_DOU, &I048_V1_29_170_MAH, &I048_V1_29_170_CDM, &IXXX_FX, &I048_V1_29_170_TRE, &I048_V1_29_170_GHO, &I048_V1_29_170_SUP, &I048_V1_29_170_TCC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_V1_29_170 = { FX, 1, 0, 0, &hf_048_V1_29_170, I048_V1_29_170_PARTS, { NULL } }; static int hf_048_V1_29_200; static int hf_048_V1_29_200_GSP; static const FieldPart I048_V1_29_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_29_200_GSP, NULL }; static int hf_048_V1_29_200_HDG; static const FieldPart I048_V1_29_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_29_200_HDG, NULL }; static const FieldPart *I048_V1_29_200_PARTS[] = { &I048_V1_29_200_GSP, &I048_V1_29_200_HDG, NULL }; static const AsterixField I048_V1_29_200 = { FIXED, 4, 0, 0, &hf_048_V1_29_200, I048_V1_29_200_PARTS, { NULL } }; static int hf_048_V1_29_210; static int hf_048_V1_29_210_SIGX; static const FieldPart I048_V1_29_210_SIGX = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_29_210_SIGX, NULL }; static int hf_048_V1_29_210_SIGY; static const FieldPart I048_V1_29_210_SIGY = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_29_210_SIGY, NULL }; static int hf_048_V1_29_210_SIGV; static const FieldPart I048_V1_29_210_SIGV = { 8, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_29_210_SIGV, NULL }; static int hf_048_V1_29_210_SIGH; static const FieldPart I048_V1_29_210_SIGH = { 8, 0.087890625, FIELD_PART_UFLOAT, &hf_048_V1_29_210_SIGH, NULL }; static const FieldPart *I048_V1_29_210_PARTS[] = { &I048_V1_29_210_SIGX, &I048_V1_29_210_SIGY, &I048_V1_29_210_SIGV, &I048_V1_29_210_SIGH, NULL }; static const AsterixField I048_V1_29_210 = { FIXED, 4, 0, 0, &hf_048_V1_29_210, I048_V1_29_210_PARTS, { NULL } }; static int hf_048_V1_29_220; static int hf_048_V1_29_220_VALUE; static const FieldPart I048_V1_29_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_048_V1_29_220_VALUE, NULL }; static const FieldPart *I048_V1_29_220_PARTS[] = { &I048_V1_29_220_VALUE, NULL }; static const AsterixField I048_V1_29_220 = { FIXED, 3, 0, 0, &hf_048_V1_29_220, I048_V1_29_220_PARTS, { NULL } }; static int hf_048_V1_29_230; static int hf_048_V1_29_230_COM; static const value_string valstr_048_V1_29_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I048_V1_29_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_29_230_COM, NULL }; static int hf_048_V1_29_230_STAT; static const value_string valstr_048_V1_29_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_29_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_29_230_STAT, NULL }; static int hf_048_V1_29_230_SI; static const value_string valstr_048_V1_29_230_SI[] = { { 0, "SI-Code Capable" }, { 1, "II-Code Capable" }, { 0, NULL } }; static const FieldPart I048_V1_29_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_230_SI, NULL }; static int hf_048_V1_29_230_MSSC; static const value_string valstr_048_V1_29_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_29_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_230_MSSC, NULL }; static int hf_048_V1_29_230_ARC; static const value_string valstr_048_V1_29_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I048_V1_29_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_230_ARC, NULL }; static int hf_048_V1_29_230_AIC; static const value_string valstr_048_V1_29_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_29_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_29_230_AIC, NULL }; static int hf_048_V1_29_230_B1A; static const FieldPart I048_V1_29_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_048_V1_29_230_B1A, NULL }; static int hf_048_V1_29_230_B1B; static const FieldPart I048_V1_29_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_29_230_B1B, NULL }; static const FieldPart *I048_V1_29_230_PARTS[] = { &I048_V1_29_230_COM, &I048_V1_29_230_STAT, &I048_V1_29_230_SI, &IXXX_1bit_spare, &I048_V1_29_230_MSSC, &I048_V1_29_230_ARC, &I048_V1_29_230_AIC, &I048_V1_29_230_B1A, &I048_V1_29_230_B1B, NULL }; static const AsterixField I048_V1_29_230 = { FIXED, 2, 0, 0, &hf_048_V1_29_230, I048_V1_29_230_PARTS, { NULL } }; static int hf_048_V1_29_240; static int hf_048_V1_29_240_VALUE; static const FieldPart I048_V1_29_240_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_048_V1_29_240_VALUE, NULL }; static const FieldPart *I048_V1_29_240_PARTS[] = { &I048_V1_29_240_VALUE, NULL }; static const AsterixField I048_V1_29_240 = { FIXED, 6, 0, 0, &hf_048_V1_29_240, I048_V1_29_240_PARTS, { NULL } }; static int hf_048_V1_29_250; static int hf_048_V1_29_250_MBDATA; static const FieldPart I048_V1_29_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_29_250_MBDATA, NULL }; static int hf_048_V1_29_250_BDS1; static const FieldPart I048_V1_29_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_29_250_BDS1, NULL }; static int hf_048_V1_29_250_BDS2; static const FieldPart I048_V1_29_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_29_250_BDS2, NULL }; static const FieldPart *I048_V1_29_250_PARTS[] = { &I048_V1_29_250_MBDATA, &I048_V1_29_250_BDS1, &I048_V1_29_250_BDS2, NULL }; static const AsterixField I048_V1_29_250 = { REPETITIVE, 8, 1, 0, &hf_048_V1_29_250, I048_V1_29_250_PARTS, { NULL } }; static int hf_048_V1_29_260; static int hf_048_V1_29_260_VALUE; static const FieldPart I048_V1_29_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_29_260_VALUE, NULL }; static const FieldPart *I048_V1_29_260_PARTS[] = { &I048_V1_29_260_VALUE, NULL }; static const AsterixField I048_V1_29_260 = { FIXED, 7, 0, 0, &hf_048_V1_29_260, I048_V1_29_260_PARTS, { NULL } }; static int hf_048_V1_29_RE; static const AsterixField I048_V1_29_RE = { EXP, 0, 0, 1, &hf_048_V1_29_RE, NULL, { NULL } }; static int hf_048_V1_29_SP; static const AsterixField I048_V1_29_SP = { EXP, 0, 0, 1, &hf_048_V1_29_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I048_V1_29_uap[] = { &I048_V1_29_010, &I048_V1_29_140, &I048_V1_29_020, &I048_V1_29_040, &I048_V1_29_070, &I048_V1_29_090, &I048_V1_29_130, &I048_V1_29_220, &I048_V1_29_240, &I048_V1_29_250, &I048_V1_29_161, &I048_V1_29_042, &I048_V1_29_200, &I048_V1_29_170, &I048_V1_29_210, &I048_V1_29_030, &I048_V1_29_080, &I048_V1_29_100, &I048_V1_29_110, &I048_V1_29_120, &I048_V1_29_230, &I048_V1_29_260, &I048_V1_29_055, &I048_V1_29_050, &I048_V1_29_065, &I048_V1_29_060, &I048_V1_29_SP, &I048_V1_29_RE, NULL }; static const AsterixField **I048_V1_29[] = { I048_V1_29_uap, NULL }; DIAG_ON_PEDANTIC /* Category 048, edition 1.30 */ static int hf_048_V1_30_010; static int hf_048_V1_30_010_SAC; static const FieldPart I048_V1_30_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_30_010_SAC, NULL }; static int hf_048_V1_30_010_SIC; static const FieldPart I048_V1_30_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_30_010_SIC, NULL }; static const FieldPart *I048_V1_30_010_PARTS[] = { &I048_V1_30_010_SAC, &I048_V1_30_010_SIC, NULL }; static const AsterixField I048_V1_30_010 = { FIXED, 2, 0, 0, &hf_048_V1_30_010, I048_V1_30_010_PARTS, { NULL } }; static int hf_048_V1_30_020; static int hf_048_V1_30_020_TYP; static const value_string valstr_048_V1_30_020_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call +PSR" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_TYP, NULL }; static int hf_048_V1_30_020_SIM; static const value_string valstr_048_V1_30_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_SIM, NULL }; static int hf_048_V1_30_020_RDP; static const value_string valstr_048_V1_30_020_RDP[] = { { 0, "Report from RDP Chain 1" }, { 1, "Report from RDP Chain 2" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_RDP, NULL }; static int hf_048_V1_30_020_SPI; static const value_string valstr_048_V1_30_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_SPI, NULL }; static int hf_048_V1_30_020_RAB; static const value_string valstr_048_V1_30_020_RAB[] = { { 0, "Report from aircraft transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_RAB, NULL }; static int hf_048_V1_30_020_TST; static const value_string valstr_048_V1_30_020_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_TST, NULL }; static int hf_048_V1_30_020_ERR; static const value_string valstr_048_V1_30_020_ERR[] = { { 0, "No Extended Range" }, { 1, "Extended Range present" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_ERR, NULL }; static int hf_048_V1_30_020_XPP; static const value_string valstr_048_V1_30_020_XPP[] = { { 0, "No X-Pulse present" }, { 1, "X-Pulse present" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_XPP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_XPP, NULL }; static int hf_048_V1_30_020_ME; static const value_string valstr_048_V1_30_020_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_ME, NULL }; static int hf_048_V1_30_020_MI; static const value_string valstr_048_V1_30_020_MI[] = { { 0, "No military identification" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_MI, NULL }; static int hf_048_V1_30_020_FOEFRI; static const value_string valstr_048_V1_30_020_FOEFRI[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I048_V1_30_020_FOEFRI = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_30_020_FOEFRI, NULL }; static const FieldPart *I048_V1_30_020_PARTS[] = { &I048_V1_30_020_TYP, &I048_V1_30_020_SIM, &I048_V1_30_020_RDP, &I048_V1_30_020_SPI, &I048_V1_30_020_RAB, &IXXX_FX, &I048_V1_30_020_TST, &I048_V1_30_020_ERR, &I048_V1_30_020_XPP, &I048_V1_30_020_ME, &I048_V1_30_020_MI, &I048_V1_30_020_FOEFRI, &IXXX_FX, NULL }; static const AsterixField I048_V1_30_020 = { FX, 1, 0, 0, &hf_048_V1_30_020, I048_V1_30_020_PARTS, { NULL } }; static int hf_048_V1_30_030; static int hf_048_V1_30_030_Subitem; static const value_string valstr_048_V1_30_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 2, "Reply due to sidelobe interrogation/reception" }, { 3, "Split plot" }, { 4, "Second time around reply" }, { 5, "Angel" }, { 6, "Slow moving target correlated with road infrastructure (terrestrial vehicle)" }, { 7, "Fixed PSR plot" }, { 8, "Slow PSR target" }, { 9, "Low quality PSR plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 13, "Target in Clutter Area" }, { 14, "Maximum Doppler Response in Zero Filter" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 19, "Birds" }, { 20, "Flock of Birds" }, { 21, "Mode-1 was present in original reply" }, { 22, "Mode-2 was present in original reply" }, { 23, "Plot potentially caused by Wind Turbine" }, { 24, "Helicopter" }, { 25, "Maximum number of re-interrogations reached (surveillance information)" }, { 26, "Maximum number of re-interrogations reached (BDS Extractions)" }, { 27, "BDS Overlay Incoherence" }, { 28, "Potential BDS Swap Detected" }, { 29, "Track Update in the Zenithal Gap" }, { 30, "Mode S Track re-acquired" }, { 31, "Duplicated Mode 5 Pair NO/PIN detected" }, { 32, "Wrong DF reply format detected" }, { 33, "Transponder anomaly (MS XPD replies with Mode A/C to Mode A/C-only all-call)" }, { 34, "Transponder anomaly (SI capability report wrong)" }, { 0, NULL } }; static const FieldPart I048_V1_30_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_048_V1_30_030_Subitem, NULL }; static const FieldPart *I048_V1_30_030_PARTS[] = { &I048_V1_30_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I048_V1_30_030 = { FX, 1, 0, 0, &hf_048_V1_30_030, I048_V1_30_030_PARTS, { NULL } }; static int hf_048_V1_30_040; static int hf_048_V1_30_040_RHO; static const FieldPart I048_V1_30_040_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_048_V1_30_040_RHO, NULL }; static int hf_048_V1_30_040_THETA; static const FieldPart I048_V1_30_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_30_040_THETA, NULL }; static const FieldPart *I048_V1_30_040_PARTS[] = { &I048_V1_30_040_RHO, &I048_V1_30_040_THETA, NULL }; static const AsterixField I048_V1_30_040 = { FIXED, 4, 0, 0, &hf_048_V1_30_040, I048_V1_30_040_PARTS, { NULL } }; static int hf_048_V1_30_042; static int hf_048_V1_30_042_X; static const FieldPart I048_V1_30_042_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_30_042_X, NULL }; static int hf_048_V1_30_042_Y; static const FieldPart I048_V1_30_042_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_30_042_Y, NULL }; static const FieldPart *I048_V1_30_042_PARTS[] = { &I048_V1_30_042_X, &I048_V1_30_042_Y, NULL }; static const AsterixField I048_V1_30_042 = { FIXED, 4, 0, 0, &hf_048_V1_30_042, I048_V1_30_042_PARTS, { NULL } }; static int hf_048_V1_30_050; static int hf_048_V1_30_050_V; static const value_string valstr_048_V1_30_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_30_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_050_V, NULL }; static int hf_048_V1_30_050_G; static const value_string valstr_048_V1_30_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_30_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_050_G, NULL }; static int hf_048_V1_30_050_L; static const value_string valstr_048_V1_30_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_30_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_050_L, NULL }; static int hf_048_V1_30_050_MODE2; static const FieldPart I048_V1_30_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_30_050_MODE2, NULL }; static const FieldPart *I048_V1_30_050_PARTS[] = { &I048_V1_30_050_V, &I048_V1_30_050_G, &I048_V1_30_050_L, &IXXX_1bit_spare, &I048_V1_30_050_MODE2, NULL }; static const AsterixField I048_V1_30_050 = { FIXED, 2, 0, 0, &hf_048_V1_30_050, I048_V1_30_050_PARTS, { NULL } }; static int hf_048_V1_30_055; static int hf_048_V1_30_055_V; static const value_string valstr_048_V1_30_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_30_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_055_V, NULL }; static int hf_048_V1_30_055_G; static const value_string valstr_048_V1_30_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_30_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_055_G, NULL }; static int hf_048_V1_30_055_L; static const value_string valstr_048_V1_30_055_L[] = { { 0, "Mode-1 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_30_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_055_L, NULL }; static int hf_048_V1_30_055_MODE1; static const FieldPart I048_V1_30_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_048_V1_30_055_MODE1, NULL }; static const FieldPart *I048_V1_30_055_PARTS[] = { &I048_V1_30_055_V, &I048_V1_30_055_G, &I048_V1_30_055_L, &I048_V1_30_055_MODE1, NULL }; static const AsterixField I048_V1_30_055 = { FIXED, 1, 0, 0, &hf_048_V1_30_055, I048_V1_30_055_PARTS, { NULL } }; static int hf_048_V1_30_060; static int hf_048_V1_30_060_QA4; static const value_string valstr_048_V1_30_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QA4, NULL }; static int hf_048_V1_30_060_QA2; static const value_string valstr_048_V1_30_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QA2, NULL }; static int hf_048_V1_30_060_QA1; static const value_string valstr_048_V1_30_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QA1, NULL }; static int hf_048_V1_30_060_QB4; static const value_string valstr_048_V1_30_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QB4, NULL }; static int hf_048_V1_30_060_QB2; static const value_string valstr_048_V1_30_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QB2, NULL }; static int hf_048_V1_30_060_QB1; static const value_string valstr_048_V1_30_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QB1, NULL }; static int hf_048_V1_30_060_QC4; static const value_string valstr_048_V1_30_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QC4, NULL }; static int hf_048_V1_30_060_QC2; static const value_string valstr_048_V1_30_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QC2, NULL }; static int hf_048_V1_30_060_QC1; static const value_string valstr_048_V1_30_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QC1, NULL }; static int hf_048_V1_30_060_QD4; static const value_string valstr_048_V1_30_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QD4, NULL }; static int hf_048_V1_30_060_QD2; static const value_string valstr_048_V1_30_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QD2, NULL }; static int hf_048_V1_30_060_QD1; static const value_string valstr_048_V1_30_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_30_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_060_QD1, NULL }; static const FieldPart *I048_V1_30_060_PARTS[] = { &IXXX_4bit_spare, &I048_V1_30_060_QA4, &I048_V1_30_060_QA2, &I048_V1_30_060_QA1, &I048_V1_30_060_QB4, &I048_V1_30_060_QB2, &I048_V1_30_060_QB1, &I048_V1_30_060_QC4, &I048_V1_30_060_QC2, &I048_V1_30_060_QC1, &I048_V1_30_060_QD4, &I048_V1_30_060_QD2, &I048_V1_30_060_QD1, NULL }; static const AsterixField I048_V1_30_060 = { FIXED, 2, 0, 0, &hf_048_V1_30_060, I048_V1_30_060_PARTS, { NULL } }; static int hf_048_V1_30_065; static int hf_048_V1_30_065_QA4; static const value_string valstr_048_V1_30_065_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_30_065_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_065_QA4, NULL }; static int hf_048_V1_30_065_QA2; static const value_string valstr_048_V1_30_065_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_30_065_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_065_QA2, NULL }; static int hf_048_V1_30_065_QA1; static const value_string valstr_048_V1_30_065_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_30_065_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_065_QA1, NULL }; static int hf_048_V1_30_065_QB2; static const value_string valstr_048_V1_30_065_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_30_065_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_065_QB2, NULL }; static int hf_048_V1_30_065_QB1; static const value_string valstr_048_V1_30_065_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_30_065_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_065_QB1, NULL }; static const FieldPart *I048_V1_30_065_PARTS[] = { &IXXX_3bit_spare, &I048_V1_30_065_QA4, &I048_V1_30_065_QA2, &I048_V1_30_065_QA1, &I048_V1_30_065_QB2, &I048_V1_30_065_QB1, NULL }; static const AsterixField I048_V1_30_065 = { FIXED, 1, 0, 0, &hf_048_V1_30_065, I048_V1_30_065_PARTS, { NULL } }; static int hf_048_V1_30_070; static int hf_048_V1_30_070_V; static const value_string valstr_048_V1_30_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_30_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_070_V, NULL }; static int hf_048_V1_30_070_G; static const value_string valstr_048_V1_30_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_30_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_070_G, NULL }; static int hf_048_V1_30_070_L; static const value_string valstr_048_V1_30_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I048_V1_30_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_070_L, NULL }; static int hf_048_V1_30_070_MODE3A; static const FieldPart I048_V1_30_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_30_070_MODE3A, NULL }; static const FieldPart *I048_V1_30_070_PARTS[] = { &I048_V1_30_070_V, &I048_V1_30_070_G, &I048_V1_30_070_L, &IXXX_1bit_spare, &I048_V1_30_070_MODE3A, NULL }; static const AsterixField I048_V1_30_070 = { FIXED, 2, 0, 0, &hf_048_V1_30_070, I048_V1_30_070_PARTS, { NULL } }; static int hf_048_V1_30_080; static int hf_048_V1_30_080_QA4; static const value_string valstr_048_V1_30_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QA4, NULL }; static int hf_048_V1_30_080_QA2; static const value_string valstr_048_V1_30_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QA2, NULL }; static int hf_048_V1_30_080_QA1; static const value_string valstr_048_V1_30_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QA1, NULL }; static int hf_048_V1_30_080_QB4; static const value_string valstr_048_V1_30_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QB4, NULL }; static int hf_048_V1_30_080_QB2; static const value_string valstr_048_V1_30_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QB2, NULL }; static int hf_048_V1_30_080_QB1; static const value_string valstr_048_V1_30_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QB1, NULL }; static int hf_048_V1_30_080_QC4; static const value_string valstr_048_V1_30_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QC4, NULL }; static int hf_048_V1_30_080_QC2; static const value_string valstr_048_V1_30_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QC2, NULL }; static int hf_048_V1_30_080_QC1; static const value_string valstr_048_V1_30_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QC1, NULL }; static int hf_048_V1_30_080_QD4; static const value_string valstr_048_V1_30_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QD4, NULL }; static int hf_048_V1_30_080_QD2; static const value_string valstr_048_V1_30_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QD2, NULL }; static int hf_048_V1_30_080_QD1; static const value_string valstr_048_V1_30_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_30_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_080_QD1, NULL }; static const FieldPart *I048_V1_30_080_PARTS[] = { &IXXX_4bit_spare, &I048_V1_30_080_QA4, &I048_V1_30_080_QA2, &I048_V1_30_080_QA1, &I048_V1_30_080_QB4, &I048_V1_30_080_QB2, &I048_V1_30_080_QB1, &I048_V1_30_080_QC4, &I048_V1_30_080_QC2, &I048_V1_30_080_QC1, &I048_V1_30_080_QD4, &I048_V1_30_080_QD2, &I048_V1_30_080_QD1, NULL }; static const AsterixField I048_V1_30_080 = { FIXED, 2, 0, 0, &hf_048_V1_30_080, I048_V1_30_080_PARTS, { NULL } }; static int hf_048_V1_30_090; static int hf_048_V1_30_090_V; static const value_string valstr_048_V1_30_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_30_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_090_V, NULL }; static int hf_048_V1_30_090_G; static const value_string valstr_048_V1_30_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_30_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_090_G, NULL }; static int hf_048_V1_30_090_FL; static const FieldPart I048_V1_30_090_FL = { 14, 0.25, FIELD_PART_UFLOAT, &hf_048_V1_30_090_FL, NULL }; static const FieldPart *I048_V1_30_090_PARTS[] = { &I048_V1_30_090_V, &I048_V1_30_090_G, &I048_V1_30_090_FL, NULL }; static const AsterixField I048_V1_30_090 = { FIXED, 2, 0, 0, &hf_048_V1_30_090, I048_V1_30_090_PARTS, { NULL } }; static int hf_048_V1_30_100; static int hf_048_V1_30_100_V; static const value_string valstr_048_V1_30_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_V, NULL }; static int hf_048_V1_30_100_G; static const value_string valstr_048_V1_30_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_G, NULL }; static int hf_048_V1_30_100_MODEC; static const FieldPart I048_V1_30_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_30_100_MODEC, NULL }; static int hf_048_V1_30_100_QC1; static const value_string valstr_048_V1_30_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QC1, NULL }; static int hf_048_V1_30_100_QA1; static const value_string valstr_048_V1_30_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QA1, NULL }; static int hf_048_V1_30_100_QC2; static const value_string valstr_048_V1_30_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QC2, NULL }; static int hf_048_V1_30_100_QA2; static const value_string valstr_048_V1_30_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QA2, NULL }; static int hf_048_V1_30_100_QC4; static const value_string valstr_048_V1_30_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QC4, NULL }; static int hf_048_V1_30_100_QA4; static const value_string valstr_048_V1_30_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QA4, NULL }; static int hf_048_V1_30_100_QB1; static const value_string valstr_048_V1_30_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QB1, NULL }; static int hf_048_V1_30_100_QD1; static const value_string valstr_048_V1_30_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QD1, NULL }; static int hf_048_V1_30_100_QB2; static const value_string valstr_048_V1_30_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QB2, NULL }; static int hf_048_V1_30_100_QD2; static const value_string valstr_048_V1_30_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QD2, NULL }; static int hf_048_V1_30_100_QB4; static const value_string valstr_048_V1_30_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QB4, NULL }; static int hf_048_V1_30_100_QD4; static const value_string valstr_048_V1_30_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_30_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_100_QD4, NULL }; static const FieldPart *I048_V1_30_100_PARTS[] = { &I048_V1_30_100_V, &I048_V1_30_100_G, &IXXX_2bit_spare, &I048_V1_30_100_MODEC, &IXXX_4bit_spare, &I048_V1_30_100_QC1, &I048_V1_30_100_QA1, &I048_V1_30_100_QC2, &I048_V1_30_100_QA2, &I048_V1_30_100_QC4, &I048_V1_30_100_QA4, &I048_V1_30_100_QB1, &I048_V1_30_100_QD1, &I048_V1_30_100_QB2, &I048_V1_30_100_QD2, &I048_V1_30_100_QB4, &I048_V1_30_100_QD4, NULL }; static const AsterixField I048_V1_30_100 = { FIXED, 4, 0, 0, &hf_048_V1_30_100, I048_V1_30_100_PARTS, { NULL } }; static int hf_048_V1_30_110; static int hf_048_V1_30_110_3DH; static const FieldPart I048_V1_30_110_3DH = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_V1_30_110_3DH, NULL }; static const FieldPart *I048_V1_30_110_PARTS[] = { &IXXX_2bit_spare, &I048_V1_30_110_3DH, NULL }; static const AsterixField I048_V1_30_110 = { FIXED, 2, 0, 0, &hf_048_V1_30_110, I048_V1_30_110_PARTS, { NULL } }; static int hf_048_V1_30_120; static int hf_048_V1_30_120_CAL; static int hf_048_V1_30_120_CAL_D; static const value_string valstr_048_V1_30_120_CAL_D[] = { { 0, "Doppler speed is valid" }, { 1, "Doppler speed is doubtful" }, { 0, NULL } }; static const FieldPart I048_V1_30_120_CAL_D = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_120_CAL_D, NULL }; static int hf_048_V1_30_120_CAL_CAL; static const FieldPart I048_V1_30_120_CAL_CAL = { 10, 1.0, FIELD_PART_FLOAT, &hf_048_V1_30_120_CAL_CAL, NULL }; static const FieldPart *I048_V1_30_120_CAL_PARTS[] = { &I048_V1_30_120_CAL_D, &IXXX_5bit_spare, &I048_V1_30_120_CAL_CAL, NULL }; static const AsterixField I048_V1_30_120_CAL = { FIXED, 2, 0, 0, &hf_048_V1_30_120_CAL, I048_V1_30_120_CAL_PARTS, { NULL } }; static int hf_048_V1_30_120_RDS; static int hf_048_V1_30_120_RDS_DOP; static const FieldPart I048_V1_30_120_RDS_DOP = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_30_120_RDS_DOP, NULL }; static int hf_048_V1_30_120_RDS_AMB; static const FieldPart I048_V1_30_120_RDS_AMB = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_30_120_RDS_AMB, NULL }; static int hf_048_V1_30_120_RDS_FRQ; static const FieldPart I048_V1_30_120_RDS_FRQ = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_30_120_RDS_FRQ, NULL }; static const FieldPart *I048_V1_30_120_RDS_PARTS[] = { &I048_V1_30_120_RDS_DOP, &I048_V1_30_120_RDS_AMB, &I048_V1_30_120_RDS_FRQ, NULL }; static const AsterixField I048_V1_30_120_RDS = { REPETITIVE, 6, 1, 0, &hf_048_V1_30_120_RDS, I048_V1_30_120_RDS_PARTS, { NULL } }; static const AsterixField I048_V1_30_120 = { COMPOUND, 0, 0, 0, &hf_048_V1_30_120, NULL, { &I048_V1_30_120_CAL, &I048_V1_30_120_RDS, NULL } }; static int hf_048_V1_30_130; static int hf_048_V1_30_130_SRL; static int hf_048_V1_30_130_SRL_VALUE; static const FieldPart I048_V1_30_130_SRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_30_130_SRL_VALUE, NULL }; static const FieldPart *I048_V1_30_130_SRL_PARTS[] = { &I048_V1_30_130_SRL_VALUE, NULL }; static const AsterixField I048_V1_30_130_SRL = { FIXED, 1, 0, 0, &hf_048_V1_30_130_SRL, I048_V1_30_130_SRL_PARTS, { NULL } }; static int hf_048_V1_30_130_SRR; static int hf_048_V1_30_130_SRR_VALUE; static const FieldPart I048_V1_30_130_SRR_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_048_V1_30_130_SRR_VALUE, NULL }; static const FieldPart *I048_V1_30_130_SRR_PARTS[] = { &I048_V1_30_130_SRR_VALUE, NULL }; static const AsterixField I048_V1_30_130_SRR = { FIXED, 1, 0, 0, &hf_048_V1_30_130_SRR, I048_V1_30_130_SRR_PARTS, { NULL } }; static int hf_048_V1_30_130_SAM; static int hf_048_V1_30_130_SAM_VALUE; static const FieldPart I048_V1_30_130_SAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_30_130_SAM_VALUE, NULL }; static const FieldPart *I048_V1_30_130_SAM_PARTS[] = { &I048_V1_30_130_SAM_VALUE, NULL }; static const AsterixField I048_V1_30_130_SAM = { FIXED, 1, 0, 0, &hf_048_V1_30_130_SAM, I048_V1_30_130_SAM_PARTS, { NULL } }; static int hf_048_V1_30_130_PRL; static int hf_048_V1_30_130_PRL_VALUE; static const FieldPart I048_V1_30_130_PRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_30_130_PRL_VALUE, NULL }; static const FieldPart *I048_V1_30_130_PRL_PARTS[] = { &I048_V1_30_130_PRL_VALUE, NULL }; static const AsterixField I048_V1_30_130_PRL = { FIXED, 1, 0, 0, &hf_048_V1_30_130_PRL, I048_V1_30_130_PRL_PARTS, { NULL } }; static int hf_048_V1_30_130_PAM; static int hf_048_V1_30_130_PAM_VALUE; static const FieldPart I048_V1_30_130_PAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_30_130_PAM_VALUE, NULL }; static const FieldPart *I048_V1_30_130_PAM_PARTS[] = { &I048_V1_30_130_PAM_VALUE, NULL }; static const AsterixField I048_V1_30_130_PAM = { FIXED, 1, 0, 0, &hf_048_V1_30_130_PAM, I048_V1_30_130_PAM_PARTS, { NULL } }; static int hf_048_V1_30_130_RPD; static int hf_048_V1_30_130_RPD_VALUE; static const FieldPart I048_V1_30_130_RPD_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_048_V1_30_130_RPD_VALUE, NULL }; static const FieldPart *I048_V1_30_130_RPD_PARTS[] = { &I048_V1_30_130_RPD_VALUE, NULL }; static const AsterixField I048_V1_30_130_RPD = { FIXED, 1, 0, 0, &hf_048_V1_30_130_RPD, I048_V1_30_130_RPD_PARTS, { NULL } }; static int hf_048_V1_30_130_APD; static int hf_048_V1_30_130_APD_VALUE; static const FieldPart I048_V1_30_130_APD_VALUE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_048_V1_30_130_APD_VALUE, NULL }; static const FieldPart *I048_V1_30_130_APD_PARTS[] = { &I048_V1_30_130_APD_VALUE, NULL }; static const AsterixField I048_V1_30_130_APD = { FIXED, 1, 0, 0, &hf_048_V1_30_130_APD, I048_V1_30_130_APD_PARTS, { NULL } }; static const AsterixField I048_V1_30_130 = { COMPOUND, 0, 0, 0, &hf_048_V1_30_130, NULL, { &I048_V1_30_130_SRL, &I048_V1_30_130_SRR, &I048_V1_30_130_SAM, &I048_V1_30_130_PRL, &I048_V1_30_130_PAM, &I048_V1_30_130_RPD, &I048_V1_30_130_APD, NULL } }; static int hf_048_V1_30_140; static int hf_048_V1_30_140_VALUE; static const FieldPart I048_V1_30_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_30_140_VALUE, NULL }; static const FieldPart *I048_V1_30_140_PARTS[] = { &I048_V1_30_140_VALUE, NULL }; static const AsterixField I048_V1_30_140 = { FIXED, 3, 0, 0, &hf_048_V1_30_140, I048_V1_30_140_PARTS, { NULL } }; static int hf_048_V1_30_161; static int hf_048_V1_30_161_TRN; static const FieldPart I048_V1_30_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_30_161_TRN, NULL }; static const FieldPart *I048_V1_30_161_PARTS[] = { &IXXX_4bit_spare, &I048_V1_30_161_TRN, NULL }; static const AsterixField I048_V1_30_161 = { FIXED, 2, 0, 0, &hf_048_V1_30_161, I048_V1_30_161_PARTS, { NULL } }; static int hf_048_V1_30_170; static int hf_048_V1_30_170_CNF; static const value_string valstr_048_V1_30_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_CNF, NULL }; static int hf_048_V1_30_170_RAD; static const value_string valstr_048_V1_30_170_RAD[] = { { 0, "Combined Track" }, { 1, "PSR Track" }, { 2, "SSR/Mode S Track" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_RAD = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_RAD, NULL }; static int hf_048_V1_30_170_DOU; static const value_string valstr_048_V1_30_170_DOU[] = { { 0, "Normal confidence" }, { 1, "Low confidence in plot to track association" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_DOU, NULL }; static int hf_048_V1_30_170_MAH; static const value_string valstr_048_V1_30_170_MAH[] = { { 0, "No horizontal man.sensed" }, { 1, "Horizontal man. sensed" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_MAH, NULL }; static int hf_048_V1_30_170_CDM; static const value_string valstr_048_V1_30_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_CDM, NULL }; static int hf_048_V1_30_170_TRE; static const value_string valstr_048_V1_30_170_TRE[] = { { 0, "Track still alive" }, { 1, "End of track lifetime(last report for this track)" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_TRE, NULL }; static int hf_048_V1_30_170_GHO; static const value_string valstr_048_V1_30_170_GHO[] = { { 0, "True target track" }, { 1, "Ghost target track" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_GHO, NULL }; static int hf_048_V1_30_170_SUP; static const value_string valstr_048_V1_30_170_SUP[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_SUP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_SUP, NULL }; static int hf_048_V1_30_170_TCC; static const value_string valstr_048_V1_30_170_TCC[] = { { 0, "Tracking performed in so-called \'Radar Plane\', i.e. neither slant range correction nor stereographical projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Radar Site co-ordinates" }, { 0, NULL } }; static const FieldPart I048_V1_30_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_170_TCC, NULL }; static const FieldPart *I048_V1_30_170_PARTS[] = { &I048_V1_30_170_CNF, &I048_V1_30_170_RAD, &I048_V1_30_170_DOU, &I048_V1_30_170_MAH, &I048_V1_30_170_CDM, &IXXX_FX, &I048_V1_30_170_TRE, &I048_V1_30_170_GHO, &I048_V1_30_170_SUP, &I048_V1_30_170_TCC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_V1_30_170 = { FX, 1, 0, 0, &hf_048_V1_30_170, I048_V1_30_170_PARTS, { NULL } }; static int hf_048_V1_30_200; static int hf_048_V1_30_200_GSP; static const FieldPart I048_V1_30_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_30_200_GSP, NULL }; static int hf_048_V1_30_200_HDG; static const FieldPart I048_V1_30_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_30_200_HDG, NULL }; static const FieldPart *I048_V1_30_200_PARTS[] = { &I048_V1_30_200_GSP, &I048_V1_30_200_HDG, NULL }; static const AsterixField I048_V1_30_200 = { FIXED, 4, 0, 0, &hf_048_V1_30_200, I048_V1_30_200_PARTS, { NULL } }; static int hf_048_V1_30_210; static int hf_048_V1_30_210_SIGX; static const FieldPart I048_V1_30_210_SIGX = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_30_210_SIGX, NULL }; static int hf_048_V1_30_210_SIGY; static const FieldPart I048_V1_30_210_SIGY = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_30_210_SIGY, NULL }; static int hf_048_V1_30_210_SIGV; static const FieldPart I048_V1_30_210_SIGV = { 8, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_30_210_SIGV, NULL }; static int hf_048_V1_30_210_SIGH; static const FieldPart I048_V1_30_210_SIGH = { 8, 0.087890625, FIELD_PART_UFLOAT, &hf_048_V1_30_210_SIGH, NULL }; static const FieldPart *I048_V1_30_210_PARTS[] = { &I048_V1_30_210_SIGX, &I048_V1_30_210_SIGY, &I048_V1_30_210_SIGV, &I048_V1_30_210_SIGH, NULL }; static const AsterixField I048_V1_30_210 = { FIXED, 4, 0, 0, &hf_048_V1_30_210, I048_V1_30_210_PARTS, { NULL } }; static int hf_048_V1_30_220; static int hf_048_V1_30_220_VALUE; static const FieldPart I048_V1_30_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_048_V1_30_220_VALUE, NULL }; static const FieldPart *I048_V1_30_220_PARTS[] = { &I048_V1_30_220_VALUE, NULL }; static const AsterixField I048_V1_30_220 = { FIXED, 3, 0, 0, &hf_048_V1_30_220, I048_V1_30_220_PARTS, { NULL } }; static int hf_048_V1_30_230; static int hf_048_V1_30_230_COM; static const value_string valstr_048_V1_30_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I048_V1_30_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_30_230_COM, NULL }; static int hf_048_V1_30_230_STAT; static const value_string valstr_048_V1_30_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_30_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_30_230_STAT, NULL }; static int hf_048_V1_30_230_SI; static const value_string valstr_048_V1_30_230_SI[] = { { 0, "SI-Code Capable" }, { 1, "II-Code Capable" }, { 0, NULL } }; static const FieldPart I048_V1_30_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_230_SI, NULL }; static int hf_048_V1_30_230_MSSC; static const value_string valstr_048_V1_30_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_30_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_230_MSSC, NULL }; static int hf_048_V1_30_230_ARC; static const value_string valstr_048_V1_30_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I048_V1_30_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_230_ARC, NULL }; static int hf_048_V1_30_230_AIC; static const value_string valstr_048_V1_30_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_30_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_30_230_AIC, NULL }; static int hf_048_V1_30_230_B1A; static const FieldPart I048_V1_30_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_048_V1_30_230_B1A, NULL }; static int hf_048_V1_30_230_B1B; static const FieldPart I048_V1_30_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_30_230_B1B, NULL }; static const FieldPart *I048_V1_30_230_PARTS[] = { &I048_V1_30_230_COM, &I048_V1_30_230_STAT, &I048_V1_30_230_SI, &IXXX_1bit_spare, &I048_V1_30_230_MSSC, &I048_V1_30_230_ARC, &I048_V1_30_230_AIC, &I048_V1_30_230_B1A, &I048_V1_30_230_B1B, NULL }; static const AsterixField I048_V1_30_230 = { FIXED, 2, 0, 0, &hf_048_V1_30_230, I048_V1_30_230_PARTS, { NULL } }; static int hf_048_V1_30_240; static int hf_048_V1_30_240_VALUE; static const FieldPart I048_V1_30_240_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_048_V1_30_240_VALUE, NULL }; static const FieldPart *I048_V1_30_240_PARTS[] = { &I048_V1_30_240_VALUE, NULL }; static const AsterixField I048_V1_30_240 = { FIXED, 6, 0, 0, &hf_048_V1_30_240, I048_V1_30_240_PARTS, { NULL } }; static int hf_048_V1_30_250; static int hf_048_V1_30_250_MBDATA; static const FieldPart I048_V1_30_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_30_250_MBDATA, NULL }; static int hf_048_V1_30_250_BDS1; static const FieldPart I048_V1_30_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_30_250_BDS1, NULL }; static int hf_048_V1_30_250_BDS2; static const FieldPart I048_V1_30_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_30_250_BDS2, NULL }; static const FieldPart *I048_V1_30_250_PARTS[] = { &I048_V1_30_250_MBDATA, &I048_V1_30_250_BDS1, &I048_V1_30_250_BDS2, NULL }; static const AsterixField I048_V1_30_250 = { REPETITIVE, 8, 1, 0, &hf_048_V1_30_250, I048_V1_30_250_PARTS, { NULL } }; static int hf_048_V1_30_260; static int hf_048_V1_30_260_VALUE; static const FieldPart I048_V1_30_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_30_260_VALUE, NULL }; static const FieldPart *I048_V1_30_260_PARTS[] = { &I048_V1_30_260_VALUE, NULL }; static const AsterixField I048_V1_30_260 = { FIXED, 7, 0, 0, &hf_048_V1_30_260, I048_V1_30_260_PARTS, { NULL } }; static int hf_048_V1_30_RE; static const AsterixField I048_V1_30_RE = { EXP, 0, 0, 1, &hf_048_V1_30_RE, NULL, { NULL } }; static int hf_048_V1_30_SP; static const AsterixField I048_V1_30_SP = { EXP, 0, 0, 1, &hf_048_V1_30_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I048_V1_30_uap[] = { &I048_V1_30_010, &I048_V1_30_140, &I048_V1_30_020, &I048_V1_30_040, &I048_V1_30_070, &I048_V1_30_090, &I048_V1_30_130, &I048_V1_30_220, &I048_V1_30_240, &I048_V1_30_250, &I048_V1_30_161, &I048_V1_30_042, &I048_V1_30_200, &I048_V1_30_170, &I048_V1_30_210, &I048_V1_30_030, &I048_V1_30_080, &I048_V1_30_100, &I048_V1_30_110, &I048_V1_30_120, &I048_V1_30_230, &I048_V1_30_260, &I048_V1_30_055, &I048_V1_30_050, &I048_V1_30_065, &I048_V1_30_060, &I048_V1_30_SP, &I048_V1_30_RE, NULL }; static const AsterixField **I048_V1_30[] = { I048_V1_30_uap, NULL }; DIAG_ON_PEDANTIC /* Category 048, edition 1.31 */ static int hf_048_V1_31_010; static int hf_048_V1_31_010_SAC; static const FieldPart I048_V1_31_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_31_010_SAC, NULL }; static int hf_048_V1_31_010_SIC; static const FieldPart I048_V1_31_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_048_V1_31_010_SIC, NULL }; static const FieldPart *I048_V1_31_010_PARTS[] = { &I048_V1_31_010_SAC, &I048_V1_31_010_SIC, NULL }; static const AsterixField I048_V1_31_010 = { FIXED, 2, 0, 0, &hf_048_V1_31_010, I048_V1_31_010_PARTS, { NULL } }; static int hf_048_V1_31_020; static int hf_048_V1_31_020_TYP; static const value_string valstr_048_V1_31_020_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call +PSR" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_TYP, NULL }; static int hf_048_V1_31_020_SIM; static const value_string valstr_048_V1_31_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_SIM, NULL }; static int hf_048_V1_31_020_RDP; static const value_string valstr_048_V1_31_020_RDP[] = { { 0, "Report from RDP Chain 1" }, { 1, "Report from RDP Chain 2" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_RDP, NULL }; static int hf_048_V1_31_020_SPI; static const value_string valstr_048_V1_31_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_SPI, NULL }; static int hf_048_V1_31_020_RAB; static const value_string valstr_048_V1_31_020_RAB[] = { { 0, "Report from aircraft transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_RAB, NULL }; static int hf_048_V1_31_020_TST; static const value_string valstr_048_V1_31_020_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_TST, NULL }; static int hf_048_V1_31_020_ERR; static const value_string valstr_048_V1_31_020_ERR[] = { { 0, "No Extended Range" }, { 1, "Extended Range present" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_ERR, NULL }; static int hf_048_V1_31_020_XPP; static const value_string valstr_048_V1_31_020_XPP[] = { { 0, "No X-Pulse present" }, { 1, "X-Pulse present" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_XPP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_XPP, NULL }; static int hf_048_V1_31_020_ME; static const value_string valstr_048_V1_31_020_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_ME, NULL }; static int hf_048_V1_31_020_MI; static const value_string valstr_048_V1_31_020_MI[] = { { 0, "No military identification" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_MI, NULL }; static int hf_048_V1_31_020_FOEFRI; static const value_string valstr_048_V1_31_020_FOEFRI[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I048_V1_31_020_FOEFRI = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_31_020_FOEFRI, NULL }; static int hf_048_V1_31_020_ADSB; static const FieldPart I048_V1_31_020_ADSB = { 2, 1.0, FIELD_PART_HEX, &hf_048_V1_31_020_ADSB, NULL }; static int hf_048_V1_31_020_SCN; static const FieldPart I048_V1_31_020_SCN = { 2, 1.0, FIELD_PART_HEX, &hf_048_V1_31_020_SCN, NULL }; static int hf_048_V1_31_020_PAI; static const FieldPart I048_V1_31_020_PAI = { 2, 1.0, FIELD_PART_HEX, &hf_048_V1_31_020_PAI, NULL }; static const FieldPart *I048_V1_31_020_PARTS[] = { &I048_V1_31_020_TYP, &I048_V1_31_020_SIM, &I048_V1_31_020_RDP, &I048_V1_31_020_SPI, &I048_V1_31_020_RAB, &IXXX_FX, &I048_V1_31_020_TST, &I048_V1_31_020_ERR, &I048_V1_31_020_XPP, &I048_V1_31_020_ME, &I048_V1_31_020_MI, &I048_V1_31_020_FOEFRI, &IXXX_FX, &I048_V1_31_020_ADSB, &I048_V1_31_020_SCN, &I048_V1_31_020_PAI, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_V1_31_020 = { FX, 1, 0, 0, &hf_048_V1_31_020, I048_V1_31_020_PARTS, { NULL } }; static int hf_048_V1_31_030; static int hf_048_V1_31_030_Subitem; static const value_string valstr_048_V1_31_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 2, "Reply due to sidelobe interrogation/reception" }, { 3, "Split plot" }, { 4, "Second time around reply" }, { 5, "Angel" }, { 6, "Slow moving target correlated with road infrastructure (terrestrial vehicle)" }, { 7, "Fixed PSR plot" }, { 8, "Slow PSR target" }, { 9, "Low quality PSR plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 13, "Target in Clutter Area" }, { 14, "Maximum Doppler Response in Zero Filter" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 19, "Birds" }, { 20, "Flock of Birds" }, { 21, "Mode-1 was present in original reply" }, { 22, "Mode-2 was present in original reply" }, { 23, "Plot potentially caused by Wind Turbine" }, { 24, "Helicopter" }, { 25, "Maximum number of re-interrogations reached (surveillance information)" }, { 26, "Maximum number of re-interrogations reached (BDS Extractions)" }, { 27, "BDS Overlay Incoherence" }, { 28, "Potential BDS Swap Detected" }, { 29, "Track Update in the Zenithal Gap" }, { 30, "Mode S Track re-acquired" }, { 31, "Duplicated Mode 5 Pair NO/PIN detected" }, { 32, "Wrong DF reply format detected" }, { 33, "Transponder anomaly (MS XPD replies with Mode A/C to Mode A/C-only all-call)" }, { 34, "Transponder anomaly (SI capability report wrong)" }, { 35, "Potential IC Conflict" }, { 36, "IC Conflict detection possible-no conflict currently detected" }, { 0, NULL } }; static const FieldPart I048_V1_31_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_048_V1_31_030_Subitem, NULL }; static const FieldPart *I048_V1_31_030_PARTS[] = { &I048_V1_31_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I048_V1_31_030 = { FX, 1, 0, 0, &hf_048_V1_31_030, I048_V1_31_030_PARTS, { NULL } }; static int hf_048_V1_31_040; static int hf_048_V1_31_040_RHO; static const FieldPart I048_V1_31_040_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_048_V1_31_040_RHO, NULL }; static int hf_048_V1_31_040_THETA; static const FieldPart I048_V1_31_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_31_040_THETA, NULL }; static const FieldPart *I048_V1_31_040_PARTS[] = { &I048_V1_31_040_RHO, &I048_V1_31_040_THETA, NULL }; static const AsterixField I048_V1_31_040 = { FIXED, 4, 0, 0, &hf_048_V1_31_040, I048_V1_31_040_PARTS, { NULL } }; static int hf_048_V1_31_042; static int hf_048_V1_31_042_X; static const FieldPart I048_V1_31_042_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_31_042_X, NULL }; static int hf_048_V1_31_042_Y; static const FieldPart I048_V1_31_042_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_V1_31_042_Y, NULL }; static const FieldPart *I048_V1_31_042_PARTS[] = { &I048_V1_31_042_X, &I048_V1_31_042_Y, NULL }; static const AsterixField I048_V1_31_042 = { FIXED, 4, 0, 0, &hf_048_V1_31_042, I048_V1_31_042_PARTS, { NULL } }; static int hf_048_V1_31_050; static int hf_048_V1_31_050_V; static const value_string valstr_048_V1_31_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_31_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_050_V, NULL }; static int hf_048_V1_31_050_G; static const value_string valstr_048_V1_31_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_31_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_050_G, NULL }; static int hf_048_V1_31_050_L; static const value_string valstr_048_V1_31_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_31_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_050_L, NULL }; static int hf_048_V1_31_050_MODE2; static const FieldPart I048_V1_31_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_31_050_MODE2, NULL }; static const FieldPart *I048_V1_31_050_PARTS[] = { &I048_V1_31_050_V, &I048_V1_31_050_G, &I048_V1_31_050_L, &IXXX_1bit_spare, &I048_V1_31_050_MODE2, NULL }; static const AsterixField I048_V1_31_050 = { FIXED, 2, 0, 0, &hf_048_V1_31_050, I048_V1_31_050_PARTS, { NULL } }; static int hf_048_V1_31_055; static int hf_048_V1_31_055_V; static const value_string valstr_048_V1_31_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_31_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_055_V, NULL }; static int hf_048_V1_31_055_G; static const value_string valstr_048_V1_31_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_31_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_055_G, NULL }; static int hf_048_V1_31_055_L; static const value_string valstr_048_V1_31_055_L[] = { { 0, "Mode-1 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_V1_31_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_055_L, NULL }; static int hf_048_V1_31_055_MODE1; static const FieldPart I048_V1_31_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_048_V1_31_055_MODE1, NULL }; static const FieldPart *I048_V1_31_055_PARTS[] = { &I048_V1_31_055_V, &I048_V1_31_055_G, &I048_V1_31_055_L, &I048_V1_31_055_MODE1, NULL }; static const AsterixField I048_V1_31_055 = { FIXED, 1, 0, 0, &hf_048_V1_31_055, I048_V1_31_055_PARTS, { NULL } }; static int hf_048_V1_31_060; static int hf_048_V1_31_060_QA4; static const value_string valstr_048_V1_31_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QA4, NULL }; static int hf_048_V1_31_060_QA2; static const value_string valstr_048_V1_31_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QA2, NULL }; static int hf_048_V1_31_060_QA1; static const value_string valstr_048_V1_31_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QA1, NULL }; static int hf_048_V1_31_060_QB4; static const value_string valstr_048_V1_31_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QB4, NULL }; static int hf_048_V1_31_060_QB2; static const value_string valstr_048_V1_31_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QB2, NULL }; static int hf_048_V1_31_060_QB1; static const value_string valstr_048_V1_31_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QB1, NULL }; static int hf_048_V1_31_060_QC4; static const value_string valstr_048_V1_31_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QC4, NULL }; static int hf_048_V1_31_060_QC2; static const value_string valstr_048_V1_31_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QC2, NULL }; static int hf_048_V1_31_060_QC1; static const value_string valstr_048_V1_31_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QC1, NULL }; static int hf_048_V1_31_060_QD4; static const value_string valstr_048_V1_31_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QD4, NULL }; static int hf_048_V1_31_060_QD2; static const value_string valstr_048_V1_31_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QD2, NULL }; static int hf_048_V1_31_060_QD1; static const value_string valstr_048_V1_31_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_31_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_060_QD1, NULL }; static const FieldPart *I048_V1_31_060_PARTS[] = { &IXXX_4bit_spare, &I048_V1_31_060_QA4, &I048_V1_31_060_QA2, &I048_V1_31_060_QA1, &I048_V1_31_060_QB4, &I048_V1_31_060_QB2, &I048_V1_31_060_QB1, &I048_V1_31_060_QC4, &I048_V1_31_060_QC2, &I048_V1_31_060_QC1, &I048_V1_31_060_QD4, &I048_V1_31_060_QD2, &I048_V1_31_060_QD1, NULL }; static const AsterixField I048_V1_31_060 = { FIXED, 2, 0, 0, &hf_048_V1_31_060, I048_V1_31_060_PARTS, { NULL } }; static int hf_048_V1_31_065; static int hf_048_V1_31_065_QA4; static const value_string valstr_048_V1_31_065_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_31_065_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_065_QA4, NULL }; static int hf_048_V1_31_065_QA2; static const value_string valstr_048_V1_31_065_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_31_065_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_065_QA2, NULL }; static int hf_048_V1_31_065_QA1; static const value_string valstr_048_V1_31_065_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_31_065_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_065_QA1, NULL }; static int hf_048_V1_31_065_QB2; static const value_string valstr_048_V1_31_065_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_31_065_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_065_QB2, NULL }; static int hf_048_V1_31_065_QB1; static const value_string valstr_048_V1_31_065_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_31_065_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_065_QB1, NULL }; static const FieldPart *I048_V1_31_065_PARTS[] = { &IXXX_3bit_spare, &I048_V1_31_065_QA4, &I048_V1_31_065_QA2, &I048_V1_31_065_QA1, &I048_V1_31_065_QB2, &I048_V1_31_065_QB1, NULL }; static const AsterixField I048_V1_31_065 = { FIXED, 1, 0, 0, &hf_048_V1_31_065, I048_V1_31_065_PARTS, { NULL } }; static int hf_048_V1_31_070; static int hf_048_V1_31_070_V; static const value_string valstr_048_V1_31_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_31_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_070_V, NULL }; static int hf_048_V1_31_070_G; static const value_string valstr_048_V1_31_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_31_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_070_G, NULL }; static int hf_048_V1_31_070_L; static const value_string valstr_048_V1_31_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I048_V1_31_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_070_L, NULL }; static int hf_048_V1_31_070_MODE3A; static const FieldPart I048_V1_31_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_V1_31_070_MODE3A, NULL }; static const FieldPart *I048_V1_31_070_PARTS[] = { &I048_V1_31_070_V, &I048_V1_31_070_G, &I048_V1_31_070_L, &IXXX_1bit_spare, &I048_V1_31_070_MODE3A, NULL }; static const AsterixField I048_V1_31_070 = { FIXED, 2, 0, 0, &hf_048_V1_31_070, I048_V1_31_070_PARTS, { NULL } }; static int hf_048_V1_31_080; static int hf_048_V1_31_080_QA4; static const value_string valstr_048_V1_31_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QA4, NULL }; static int hf_048_V1_31_080_QA2; static const value_string valstr_048_V1_31_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QA2, NULL }; static int hf_048_V1_31_080_QA1; static const value_string valstr_048_V1_31_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QA1, NULL }; static int hf_048_V1_31_080_QB4; static const value_string valstr_048_V1_31_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QB4, NULL }; static int hf_048_V1_31_080_QB2; static const value_string valstr_048_V1_31_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QB2, NULL }; static int hf_048_V1_31_080_QB1; static const value_string valstr_048_V1_31_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QB1, NULL }; static int hf_048_V1_31_080_QC4; static const value_string valstr_048_V1_31_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QC4, NULL }; static int hf_048_V1_31_080_QC2; static const value_string valstr_048_V1_31_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QC2, NULL }; static int hf_048_V1_31_080_QC1; static const value_string valstr_048_V1_31_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QC1, NULL }; static int hf_048_V1_31_080_QD4; static const value_string valstr_048_V1_31_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QD4, NULL }; static int hf_048_V1_31_080_QD2; static const value_string valstr_048_V1_31_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QD2, NULL }; static int hf_048_V1_31_080_QD1; static const value_string valstr_048_V1_31_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_31_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_080_QD1, NULL }; static const FieldPart *I048_V1_31_080_PARTS[] = { &IXXX_4bit_spare, &I048_V1_31_080_QA4, &I048_V1_31_080_QA2, &I048_V1_31_080_QA1, &I048_V1_31_080_QB4, &I048_V1_31_080_QB2, &I048_V1_31_080_QB1, &I048_V1_31_080_QC4, &I048_V1_31_080_QC2, &I048_V1_31_080_QC1, &I048_V1_31_080_QD4, &I048_V1_31_080_QD2, &I048_V1_31_080_QD1, NULL }; static const AsterixField I048_V1_31_080 = { FIXED, 2, 0, 0, &hf_048_V1_31_080, I048_V1_31_080_PARTS, { NULL } }; static int hf_048_V1_31_090; static int hf_048_V1_31_090_V; static const value_string valstr_048_V1_31_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_31_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_090_V, NULL }; static int hf_048_V1_31_090_G; static const value_string valstr_048_V1_31_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_31_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_090_G, NULL }; static int hf_048_V1_31_090_FL; static const FieldPart I048_V1_31_090_FL = { 14, 0.25, FIELD_PART_UFLOAT, &hf_048_V1_31_090_FL, NULL }; static const FieldPart *I048_V1_31_090_PARTS[] = { &I048_V1_31_090_V, &I048_V1_31_090_G, &I048_V1_31_090_FL, NULL }; static const AsterixField I048_V1_31_090 = { FIXED, 2, 0, 0, &hf_048_V1_31_090, I048_V1_31_090_PARTS, { NULL } }; static int hf_048_V1_31_100; static int hf_048_V1_31_100_V; static const value_string valstr_048_V1_31_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_V, NULL }; static int hf_048_V1_31_100_G; static const value_string valstr_048_V1_31_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_G, NULL }; static int hf_048_V1_31_100_MODEC; static const FieldPart I048_V1_31_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_31_100_MODEC, NULL }; static int hf_048_V1_31_100_QC1; static const value_string valstr_048_V1_31_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QC1, NULL }; static int hf_048_V1_31_100_QA1; static const value_string valstr_048_V1_31_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QA1, NULL }; static int hf_048_V1_31_100_QC2; static const value_string valstr_048_V1_31_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QC2, NULL }; static int hf_048_V1_31_100_QA2; static const value_string valstr_048_V1_31_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QA2, NULL }; static int hf_048_V1_31_100_QC4; static const value_string valstr_048_V1_31_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QC4, NULL }; static int hf_048_V1_31_100_QA4; static const value_string valstr_048_V1_31_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QA4, NULL }; static int hf_048_V1_31_100_QB1; static const value_string valstr_048_V1_31_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QB1, NULL }; static int hf_048_V1_31_100_QD1; static const value_string valstr_048_V1_31_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QD1, NULL }; static int hf_048_V1_31_100_QB2; static const value_string valstr_048_V1_31_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QB2, NULL }; static int hf_048_V1_31_100_QD2; static const value_string valstr_048_V1_31_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QD2, NULL }; static int hf_048_V1_31_100_QB4; static const value_string valstr_048_V1_31_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QB4, NULL }; static int hf_048_V1_31_100_QD4; static const value_string valstr_048_V1_31_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_V1_31_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_100_QD4, NULL }; static const FieldPart *I048_V1_31_100_PARTS[] = { &I048_V1_31_100_V, &I048_V1_31_100_G, &IXXX_2bit_spare, &I048_V1_31_100_MODEC, &IXXX_4bit_spare, &I048_V1_31_100_QC1, &I048_V1_31_100_QA1, &I048_V1_31_100_QC2, &I048_V1_31_100_QA2, &I048_V1_31_100_QC4, &I048_V1_31_100_QA4, &I048_V1_31_100_QB1, &I048_V1_31_100_QD1, &I048_V1_31_100_QB2, &I048_V1_31_100_QD2, &I048_V1_31_100_QB4, &I048_V1_31_100_QD4, NULL }; static const AsterixField I048_V1_31_100 = { FIXED, 4, 0, 0, &hf_048_V1_31_100, I048_V1_31_100_PARTS, { NULL } }; static int hf_048_V1_31_110; static int hf_048_V1_31_110_3DH; static const FieldPart I048_V1_31_110_3DH = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_V1_31_110_3DH, NULL }; static const FieldPart *I048_V1_31_110_PARTS[] = { &IXXX_2bit_spare, &I048_V1_31_110_3DH, NULL }; static const AsterixField I048_V1_31_110 = { FIXED, 2, 0, 0, &hf_048_V1_31_110, I048_V1_31_110_PARTS, { NULL } }; static int hf_048_V1_31_120; static int hf_048_V1_31_120_CAL; static int hf_048_V1_31_120_CAL_D; static const value_string valstr_048_V1_31_120_CAL_D[] = { { 0, "Doppler speed is valid" }, { 1, "Doppler speed is doubtful" }, { 0, NULL } }; static const FieldPart I048_V1_31_120_CAL_D = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_120_CAL_D, NULL }; static int hf_048_V1_31_120_CAL_CAL; static const FieldPart I048_V1_31_120_CAL_CAL = { 10, 1.0, FIELD_PART_FLOAT, &hf_048_V1_31_120_CAL_CAL, NULL }; static const FieldPart *I048_V1_31_120_CAL_PARTS[] = { &I048_V1_31_120_CAL_D, &IXXX_5bit_spare, &I048_V1_31_120_CAL_CAL, NULL }; static const AsterixField I048_V1_31_120_CAL = { FIXED, 2, 0, 0, &hf_048_V1_31_120_CAL, I048_V1_31_120_CAL_PARTS, { NULL } }; static int hf_048_V1_31_120_RDS; static int hf_048_V1_31_120_RDS_DOP; static const FieldPart I048_V1_31_120_RDS_DOP = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_31_120_RDS_DOP, NULL }; static int hf_048_V1_31_120_RDS_AMB; static const FieldPart I048_V1_31_120_RDS_AMB = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_31_120_RDS_AMB, NULL }; static int hf_048_V1_31_120_RDS_FRQ; static const FieldPart I048_V1_31_120_RDS_FRQ = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_V1_31_120_RDS_FRQ, NULL }; static const FieldPart *I048_V1_31_120_RDS_PARTS[] = { &I048_V1_31_120_RDS_DOP, &I048_V1_31_120_RDS_AMB, &I048_V1_31_120_RDS_FRQ, NULL }; static const AsterixField I048_V1_31_120_RDS = { REPETITIVE, 6, 1, 0, &hf_048_V1_31_120_RDS, I048_V1_31_120_RDS_PARTS, { NULL } }; static const AsterixField I048_V1_31_120 = { COMPOUND, 0, 0, 0, &hf_048_V1_31_120, NULL, { &I048_V1_31_120_CAL, &I048_V1_31_120_RDS, NULL } }; static int hf_048_V1_31_130; static int hf_048_V1_31_130_SRL; static int hf_048_V1_31_130_SRL_VALUE; static const FieldPart I048_V1_31_130_SRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_31_130_SRL_VALUE, NULL }; static const FieldPart *I048_V1_31_130_SRL_PARTS[] = { &I048_V1_31_130_SRL_VALUE, NULL }; static const AsterixField I048_V1_31_130_SRL = { FIXED, 1, 0, 0, &hf_048_V1_31_130_SRL, I048_V1_31_130_SRL_PARTS, { NULL } }; static int hf_048_V1_31_130_SRR; static int hf_048_V1_31_130_SRR_VALUE; static const FieldPart I048_V1_31_130_SRR_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_048_V1_31_130_SRR_VALUE, NULL }; static const FieldPart *I048_V1_31_130_SRR_PARTS[] = { &I048_V1_31_130_SRR_VALUE, NULL }; static const AsterixField I048_V1_31_130_SRR = { FIXED, 1, 0, 0, &hf_048_V1_31_130_SRR, I048_V1_31_130_SRR_PARTS, { NULL } }; static int hf_048_V1_31_130_SAM; static int hf_048_V1_31_130_SAM_VALUE; static const FieldPart I048_V1_31_130_SAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_31_130_SAM_VALUE, NULL }; static const FieldPart *I048_V1_31_130_SAM_PARTS[] = { &I048_V1_31_130_SAM_VALUE, NULL }; static const AsterixField I048_V1_31_130_SAM = { FIXED, 1, 0, 0, &hf_048_V1_31_130_SAM, I048_V1_31_130_SAM_PARTS, { NULL } }; static int hf_048_V1_31_130_PRL; static int hf_048_V1_31_130_PRL_VALUE; static const FieldPart I048_V1_31_130_PRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_V1_31_130_PRL_VALUE, NULL }; static const FieldPart *I048_V1_31_130_PRL_PARTS[] = { &I048_V1_31_130_PRL_VALUE, NULL }; static const AsterixField I048_V1_31_130_PRL = { FIXED, 1, 0, 0, &hf_048_V1_31_130_PRL, I048_V1_31_130_PRL_PARTS, { NULL } }; static int hf_048_V1_31_130_PAM; static int hf_048_V1_31_130_PAM_VALUE; static const FieldPart I048_V1_31_130_PAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_V1_31_130_PAM_VALUE, NULL }; static const FieldPart *I048_V1_31_130_PAM_PARTS[] = { &I048_V1_31_130_PAM_VALUE, NULL }; static const AsterixField I048_V1_31_130_PAM = { FIXED, 1, 0, 0, &hf_048_V1_31_130_PAM, I048_V1_31_130_PAM_PARTS, { NULL } }; static int hf_048_V1_31_130_RPD; static int hf_048_V1_31_130_RPD_VALUE; static const FieldPart I048_V1_31_130_RPD_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_048_V1_31_130_RPD_VALUE, NULL }; static const FieldPart *I048_V1_31_130_RPD_PARTS[] = { &I048_V1_31_130_RPD_VALUE, NULL }; static const AsterixField I048_V1_31_130_RPD = { FIXED, 1, 0, 0, &hf_048_V1_31_130_RPD, I048_V1_31_130_RPD_PARTS, { NULL } }; static int hf_048_V1_31_130_APD; static int hf_048_V1_31_130_APD_VALUE; static const FieldPart I048_V1_31_130_APD_VALUE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_048_V1_31_130_APD_VALUE, NULL }; static const FieldPart *I048_V1_31_130_APD_PARTS[] = { &I048_V1_31_130_APD_VALUE, NULL }; static const AsterixField I048_V1_31_130_APD = { FIXED, 1, 0, 0, &hf_048_V1_31_130_APD, I048_V1_31_130_APD_PARTS, { NULL } }; static const AsterixField I048_V1_31_130 = { COMPOUND, 0, 0, 0, &hf_048_V1_31_130, NULL, { &I048_V1_31_130_SRL, &I048_V1_31_130_SRR, &I048_V1_31_130_SAM, &I048_V1_31_130_PRL, &I048_V1_31_130_PAM, &I048_V1_31_130_RPD, &I048_V1_31_130_APD, NULL } }; static int hf_048_V1_31_140; static int hf_048_V1_31_140_VALUE; static const FieldPart I048_V1_31_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_31_140_VALUE, NULL }; static const FieldPart *I048_V1_31_140_PARTS[] = { &I048_V1_31_140_VALUE, NULL }; static const AsterixField I048_V1_31_140 = { FIXED, 3, 0, 0, &hf_048_V1_31_140, I048_V1_31_140_PARTS, { NULL } }; static int hf_048_V1_31_161; static int hf_048_V1_31_161_TRN; static const FieldPart I048_V1_31_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_048_V1_31_161_TRN, NULL }; static const FieldPart *I048_V1_31_161_PARTS[] = { &IXXX_4bit_spare, &I048_V1_31_161_TRN, NULL }; static const AsterixField I048_V1_31_161 = { FIXED, 2, 0, 0, &hf_048_V1_31_161, I048_V1_31_161_PARTS, { NULL } }; static int hf_048_V1_31_170; static int hf_048_V1_31_170_CNF; static const value_string valstr_048_V1_31_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_CNF, NULL }; static int hf_048_V1_31_170_RAD; static const value_string valstr_048_V1_31_170_RAD[] = { { 0, "Combined Track" }, { 1, "PSR Track" }, { 2, "SSR/Mode S Track" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_RAD = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_RAD, NULL }; static int hf_048_V1_31_170_DOU; static const value_string valstr_048_V1_31_170_DOU[] = { { 0, "Normal confidence" }, { 1, "Low confidence in plot to track association" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_DOU, NULL }; static int hf_048_V1_31_170_MAH; static const value_string valstr_048_V1_31_170_MAH[] = { { 0, "No horizontal man.sensed" }, { 1, "Horizontal man. sensed" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_MAH, NULL }; static int hf_048_V1_31_170_CDM; static const value_string valstr_048_V1_31_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_CDM, NULL }; static int hf_048_V1_31_170_TRE; static const value_string valstr_048_V1_31_170_TRE[] = { { 0, "Track still alive" }, { 1, "End of track lifetime(last report for this track)" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_TRE, NULL }; static int hf_048_V1_31_170_GHO; static const value_string valstr_048_V1_31_170_GHO[] = { { 0, "True target track" }, { 1, "Ghost target track" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_GHO, NULL }; static int hf_048_V1_31_170_SUP; static const value_string valstr_048_V1_31_170_SUP[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_SUP = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_SUP, NULL }; static int hf_048_V1_31_170_TCC; static const value_string valstr_048_V1_31_170_TCC[] = { { 0, "Tracking performed in so-called \'Radar Plane\', i.e. neither slant range correction nor stereographical projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Radar Site co-ordinates" }, { 0, NULL } }; static const FieldPart I048_V1_31_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_170_TCC, NULL }; static const FieldPart *I048_V1_31_170_PARTS[] = { &I048_V1_31_170_CNF, &I048_V1_31_170_RAD, &I048_V1_31_170_DOU, &I048_V1_31_170_MAH, &I048_V1_31_170_CDM, &IXXX_FX, &I048_V1_31_170_TRE, &I048_V1_31_170_GHO, &I048_V1_31_170_SUP, &I048_V1_31_170_TCC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_V1_31_170 = { FX, 1, 0, 0, &hf_048_V1_31_170, I048_V1_31_170_PARTS, { NULL } }; static int hf_048_V1_31_200; static int hf_048_V1_31_200_GSP; static const FieldPart I048_V1_31_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_31_200_GSP, NULL }; static int hf_048_V1_31_200_HDG; static const FieldPart I048_V1_31_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_V1_31_200_HDG, NULL }; static const FieldPart *I048_V1_31_200_PARTS[] = { &I048_V1_31_200_GSP, &I048_V1_31_200_HDG, NULL }; static const AsterixField I048_V1_31_200 = { FIXED, 4, 0, 0, &hf_048_V1_31_200, I048_V1_31_200_PARTS, { NULL } }; static int hf_048_V1_31_210; static int hf_048_V1_31_210_SIGX; static const FieldPart I048_V1_31_210_SIGX = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_31_210_SIGX, NULL }; static int hf_048_V1_31_210_SIGY; static const FieldPart I048_V1_31_210_SIGY = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_V1_31_210_SIGY, NULL }; static int hf_048_V1_31_210_SIGV; static const FieldPart I048_V1_31_210_SIGV = { 8, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_V1_31_210_SIGV, NULL }; static int hf_048_V1_31_210_SIGH; static const FieldPart I048_V1_31_210_SIGH = { 8, 0.087890625, FIELD_PART_UFLOAT, &hf_048_V1_31_210_SIGH, NULL }; static const FieldPart *I048_V1_31_210_PARTS[] = { &I048_V1_31_210_SIGX, &I048_V1_31_210_SIGY, &I048_V1_31_210_SIGV, &I048_V1_31_210_SIGH, NULL }; static const AsterixField I048_V1_31_210 = { FIXED, 4, 0, 0, &hf_048_V1_31_210, I048_V1_31_210_PARTS, { NULL } }; static int hf_048_V1_31_220; static int hf_048_V1_31_220_VALUE; static const FieldPart I048_V1_31_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_048_V1_31_220_VALUE, NULL }; static const FieldPart *I048_V1_31_220_PARTS[] = { &I048_V1_31_220_VALUE, NULL }; static const AsterixField I048_V1_31_220 = { FIXED, 3, 0, 0, &hf_048_V1_31_220, I048_V1_31_220_PARTS, { NULL } }; static int hf_048_V1_31_230; static int hf_048_V1_31_230_COM; static const value_string valstr_048_V1_31_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I048_V1_31_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_31_230_COM, NULL }; static int hf_048_V1_31_230_STAT; static const value_string valstr_048_V1_31_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I048_V1_31_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_048_V1_31_230_STAT, NULL }; static int hf_048_V1_31_230_SI; static const value_string valstr_048_V1_31_230_SI[] = { { 0, "SI-Code Capable" }, { 1, "II-Code Capable" }, { 0, NULL } }; static const FieldPart I048_V1_31_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_230_SI, NULL }; static int hf_048_V1_31_230_MSSC; static const value_string valstr_048_V1_31_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_31_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_230_MSSC, NULL }; static int hf_048_V1_31_230_ARC; static const value_string valstr_048_V1_31_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I048_V1_31_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_230_ARC, NULL }; static int hf_048_V1_31_230_AIC; static const value_string valstr_048_V1_31_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_V1_31_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_048_V1_31_230_AIC, NULL }; static int hf_048_V1_31_230_B1A; static const FieldPart I048_V1_31_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_048_V1_31_230_B1A, NULL }; static int hf_048_V1_31_230_B1B; static const FieldPart I048_V1_31_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_31_230_B1B, NULL }; static const FieldPart *I048_V1_31_230_PARTS[] = { &I048_V1_31_230_COM, &I048_V1_31_230_STAT, &I048_V1_31_230_SI, &IXXX_1bit_spare, &I048_V1_31_230_MSSC, &I048_V1_31_230_ARC, &I048_V1_31_230_AIC, &I048_V1_31_230_B1A, &I048_V1_31_230_B1B, NULL }; static const AsterixField I048_V1_31_230 = { FIXED, 2, 0, 0, &hf_048_V1_31_230, I048_V1_31_230_PARTS, { NULL } }; static int hf_048_V1_31_240; static int hf_048_V1_31_240_VALUE; static const FieldPart I048_V1_31_240_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_048_V1_31_240_VALUE, NULL }; static const FieldPart *I048_V1_31_240_PARTS[] = { &I048_V1_31_240_VALUE, NULL }; static const AsterixField I048_V1_31_240 = { FIXED, 6, 0, 0, &hf_048_V1_31_240, I048_V1_31_240_PARTS, { NULL } }; static int hf_048_V1_31_250; static int hf_048_V1_31_250_MBDATA; static const FieldPart I048_V1_31_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_31_250_MBDATA, NULL }; static int hf_048_V1_31_250_BDS1; static const FieldPart I048_V1_31_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_31_250_BDS1, NULL }; static int hf_048_V1_31_250_BDS2; static const FieldPart I048_V1_31_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_048_V1_31_250_BDS2, NULL }; static const FieldPart *I048_V1_31_250_PARTS[] = { &I048_V1_31_250_MBDATA, &I048_V1_31_250_BDS1, &I048_V1_31_250_BDS2, NULL }; static const AsterixField I048_V1_31_250 = { REPETITIVE, 8, 1, 0, &hf_048_V1_31_250, I048_V1_31_250_PARTS, { NULL } }; static int hf_048_V1_31_260; static int hf_048_V1_31_260_VALUE; static const FieldPart I048_V1_31_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_048_V1_31_260_VALUE, NULL }; static const FieldPart *I048_V1_31_260_PARTS[] = { &I048_V1_31_260_VALUE, NULL }; static const AsterixField I048_V1_31_260 = { FIXED, 7, 0, 0, &hf_048_V1_31_260, I048_V1_31_260_PARTS, { NULL } }; static int hf_048_V1_31_RE; static const AsterixField I048_V1_31_RE = { EXP, 0, 0, 1, &hf_048_V1_31_RE, NULL, { NULL } }; static int hf_048_V1_31_SP; static const AsterixField I048_V1_31_SP = { EXP, 0, 0, 1, &hf_048_V1_31_SP, NULL, { NULL } }; /* Category 048, edition 1.31 (latest) */ static int hf_048_010; static int hf_048_010_SAC; static const FieldPart I048_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_048_010_SAC, NULL }; static int hf_048_010_SIC; static const FieldPart I048_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_048_010_SIC, NULL }; static const FieldPart *I048_010_PARTS[] = { &I048_010_SAC, &I048_010_SIC, NULL }; static const AsterixField I048_010 = { FIXED, 2, 0, 0, &hf_048_010, I048_010_PARTS, { NULL } }; static int hf_048_020; static int hf_048_020_TYP; static const value_string valstr_048_020_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call +PSR" }, { 0, NULL } }; static const FieldPart I048_020_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_048_020_TYP, NULL }; static int hf_048_020_SIM; static const value_string valstr_048_020_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I048_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_SIM, NULL }; static int hf_048_020_RDP; static const value_string valstr_048_020_RDP[] = { { 0, "Report from RDP Chain 1" }, { 1, "Report from RDP Chain 2" }, { 0, NULL } }; static const FieldPart I048_020_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_RDP, NULL }; static int hf_048_020_SPI; static const value_string valstr_048_020_SPI[] = { { 0, "Absence of SPI" }, { 1, "Special Position Identification" }, { 0, NULL } }; static const FieldPart I048_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_SPI, NULL }; static int hf_048_020_RAB; static const value_string valstr_048_020_RAB[] = { { 0, "Report from aircraft transponder" }, { 1, "Report from field monitor (fixed transponder)" }, { 0, NULL } }; static const FieldPart I048_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_RAB, NULL }; static int hf_048_020_TST; static const value_string valstr_048_020_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I048_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_TST, NULL }; static int hf_048_020_ERR; static const value_string valstr_048_020_ERR[] = { { 0, "No Extended Range" }, { 1, "Extended Range present" }, { 0, NULL } }; static const FieldPart I048_020_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_ERR, NULL }; static int hf_048_020_XPP; static const value_string valstr_048_020_XPP[] = { { 0, "No X-Pulse present" }, { 1, "X-Pulse present" }, { 0, NULL } }; static const FieldPart I048_020_XPP = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_XPP, NULL }; static int hf_048_020_ME; static const value_string valstr_048_020_ME[] = { { 0, "No military emergency" }, { 1, "Military emergency" }, { 0, NULL } }; static const FieldPart I048_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_ME, NULL }; static int hf_048_020_MI; static const value_string valstr_048_020_MI[] = { { 0, "No military identification" }, { 1, "Military identification" }, { 0, NULL } }; static const FieldPart I048_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_MI, NULL }; static int hf_048_020_FOEFRI; static const value_string valstr_048_020_FOEFRI[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I048_020_FOEFRI = { 2, 1.0, FIELD_PART_UINT, &hf_048_020_FOEFRI, NULL }; static int hf_048_020_ADSB; static const FieldPart I048_020_ADSB = { 2, 1.0, FIELD_PART_HEX, &hf_048_020_ADSB, NULL }; static int hf_048_020_SCN; static const FieldPart I048_020_SCN = { 2, 1.0, FIELD_PART_HEX, &hf_048_020_SCN, NULL }; static int hf_048_020_PAI; static const FieldPart I048_020_PAI = { 2, 1.0, FIELD_PART_HEX, &hf_048_020_PAI, NULL }; static const FieldPart *I048_020_PARTS[] = { &I048_020_TYP, &I048_020_SIM, &I048_020_RDP, &I048_020_SPI, &I048_020_RAB, &IXXX_FX, &I048_020_TST, &I048_020_ERR, &I048_020_XPP, &I048_020_ME, &I048_020_MI, &I048_020_FOEFRI, &IXXX_FX, &I048_020_ADSB, &I048_020_SCN, &I048_020_PAI, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_020 = { FX, 1, 0, 0, &hf_048_020, I048_020_PARTS, { NULL } }; static int hf_048_030; static int hf_048_030_Subitem; static const value_string valstr_048_030_Subitem[] = { { 0, "Not defined; never used" }, { 1, "Multipath Reply (Reflection)" }, { 2, "Reply due to sidelobe interrogation/reception" }, { 3, "Split plot" }, { 4, "Second time around reply" }, { 5, "Angel" }, { 6, "Slow moving target correlated with road infrastructure (terrestrial vehicle)" }, { 7, "Fixed PSR plot" }, { 8, "Slow PSR target" }, { 9, "Low quality PSR plot" }, { 10, "Phantom SSR plot" }, { 11, "Non-Matching Mode-3/A Code" }, { 12, "Mode C code / Mode S altitude code abnormal value compared to the track" }, { 13, "Target in Clutter Area" }, { 14, "Maximum Doppler Response in Zero Filter" }, { 15, "Transponder anomaly detected" }, { 16, "Duplicated or Illegal Mode S Aircraft Address" }, { 17, "Mode S error correction applied" }, { 18, "Undecodable Mode C code / Mode S altitude code" }, { 19, "Birds" }, { 20, "Flock of Birds" }, { 21, "Mode-1 was present in original reply" }, { 22, "Mode-2 was present in original reply" }, { 23, "Plot potentially caused by Wind Turbine" }, { 24, "Helicopter" }, { 25, "Maximum number of re-interrogations reached (surveillance information)" }, { 26, "Maximum number of re-interrogations reached (BDS Extractions)" }, { 27, "BDS Overlay Incoherence" }, { 28, "Potential BDS Swap Detected" }, { 29, "Track Update in the Zenithal Gap" }, { 30, "Mode S Track re-acquired" }, { 31, "Duplicated Mode 5 Pair NO/PIN detected" }, { 32, "Wrong DF reply format detected" }, { 33, "Transponder anomaly (MS XPD replies with Mode A/C to Mode A/C-only all-call)" }, { 34, "Transponder anomaly (SI capability report wrong)" }, { 35, "Potential IC Conflict" }, { 36, "IC Conflict detection possible-no conflict currently detected" }, { 0, NULL } }; static const FieldPart I048_030_Subitem = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_Subitem, NULL }; static const FieldPart *I048_030_PARTS[] = { &I048_030_Subitem, &IXXX_FX, NULL }; static const AsterixField I048_030 = { FX, 1, 0, 0, &hf_048_030, I048_030_PARTS, { NULL } }; static int hf_048_040; static int hf_048_040_RHO; static const FieldPart I048_040_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_048_040_RHO, NULL }; static int hf_048_040_THETA; static const FieldPart I048_040_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_040_THETA, NULL }; static const FieldPart *I048_040_PARTS[] = { &I048_040_RHO, &I048_040_THETA, NULL }; static const AsterixField I048_040 = { FIXED, 4, 0, 0, &hf_048_040, I048_040_PARTS, { NULL } }; static int hf_048_042; static int hf_048_042_X; static const FieldPart I048_042_X = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_042_X, NULL }; static int hf_048_042_Y; static const FieldPart I048_042_Y = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_048_042_Y, NULL }; static const FieldPart *I048_042_PARTS[] = { &I048_042_X, &I048_042_Y, NULL }; static const AsterixField I048_042 = { FIXED, 4, 0, 0, &hf_048_042, I048_042_PARTS, { NULL } }; static int hf_048_050; static int hf_048_050_V; static const value_string valstr_048_050_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_050_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_050_V, NULL }; static int hf_048_050_G; static const value_string valstr_048_050_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_050_G, NULL }; static int hf_048_050_L; static const value_string valstr_048_050_L[] = { { 0, "Mode-2 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-2 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_050_L, NULL }; static int hf_048_050_MODE2; static const FieldPart I048_050_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_050_MODE2, NULL }; static const FieldPart *I048_050_PARTS[] = { &I048_050_V, &I048_050_G, &I048_050_L, &IXXX_1bit_spare, &I048_050_MODE2, NULL }; static const AsterixField I048_050 = { FIXED, 2, 0, 0, &hf_048_050, I048_050_PARTS, { NULL } }; static int hf_048_055; static int hf_048_055_V; static const value_string valstr_048_055_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_055_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_055_V, NULL }; static int hf_048_055_G; static const value_string valstr_048_055_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_055_G, NULL }; static int hf_048_055_L; static const value_string valstr_048_055_L[] = { { 0, "Mode-1 code as derived from the reply of the transponder" }, { 1, "Smoothed Mode-1 code as provided by a local tracker" }, { 0, NULL } }; static const FieldPart I048_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_055_L, NULL }; static int hf_048_055_MODE1; static const FieldPart I048_055_MODE1 = { 5, 1.0, FIELD_PART_HEX, &hf_048_055_MODE1, NULL }; static const FieldPart *I048_055_PARTS[] = { &I048_055_V, &I048_055_G, &I048_055_L, &I048_055_MODE1, NULL }; static const AsterixField I048_055 = { FIXED, 1, 0, 0, &hf_048_055, I048_055_PARTS, { NULL } }; static int hf_048_060; static int hf_048_060_QA4; static const value_string valstr_048_060_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_060_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QA4, NULL }; static int hf_048_060_QA2; static const value_string valstr_048_060_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_060_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QA2, NULL }; static int hf_048_060_QA1; static const value_string valstr_048_060_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_060_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QA1, NULL }; static int hf_048_060_QB4; static const value_string valstr_048_060_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_060_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QB4, NULL }; static int hf_048_060_QB2; static const value_string valstr_048_060_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_060_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QB2, NULL }; static int hf_048_060_QB1; static const value_string valstr_048_060_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_060_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QB1, NULL }; static int hf_048_060_QC4; static const value_string valstr_048_060_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_060_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QC4, NULL }; static int hf_048_060_QC2; static const value_string valstr_048_060_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_060_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QC2, NULL }; static int hf_048_060_QC1; static const value_string valstr_048_060_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_060_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QC1, NULL }; static int hf_048_060_QD4; static const value_string valstr_048_060_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_060_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QD4, NULL }; static int hf_048_060_QD2; static const value_string valstr_048_060_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_060_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QD2, NULL }; static int hf_048_060_QD1; static const value_string valstr_048_060_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_060_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_060_QD1, NULL }; static const FieldPart *I048_060_PARTS[] = { &IXXX_4bit_spare, &I048_060_QA4, &I048_060_QA2, &I048_060_QA1, &I048_060_QB4, &I048_060_QB2, &I048_060_QB1, &I048_060_QC4, &I048_060_QC2, &I048_060_QC1, &I048_060_QD4, &I048_060_QD2, &I048_060_QD1, NULL }; static const AsterixField I048_060 = { FIXED, 2, 0, 0, &hf_048_060, I048_060_PARTS, { NULL } }; static int hf_048_065; static int hf_048_065_QA4; static const value_string valstr_048_065_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_065_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_065_QA4, NULL }; static int hf_048_065_QA2; static const value_string valstr_048_065_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_065_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_065_QA2, NULL }; static int hf_048_065_QA1; static const value_string valstr_048_065_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_065_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_065_QA1, NULL }; static int hf_048_065_QB2; static const value_string valstr_048_065_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_065_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_065_QB2, NULL }; static int hf_048_065_QB1; static const value_string valstr_048_065_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_065_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_065_QB1, NULL }; static const FieldPart *I048_065_PARTS[] = { &IXXX_3bit_spare, &I048_065_QA4, &I048_065_QA2, &I048_065_QA1, &I048_065_QB2, &I048_065_QB1, NULL }; static const AsterixField I048_065 = { FIXED, 1, 0, 0, &hf_048_065, I048_065_PARTS, { NULL } }; static int hf_048_070; static int hf_048_070_V; static const value_string valstr_048_070_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_070_V, NULL }; static int hf_048_070_G; static const value_string valstr_048_070_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_070_G, NULL }; static int hf_048_070_L; static const value_string valstr_048_070_L[] = { { 0, "Mode-3/A code derived from the reply of the transponder" }, { 1, "Mode-3/A code not extracted during the last scan" }, { 0, NULL } }; static const FieldPart I048_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_070_L, NULL }; static int hf_048_070_MODE3A; static const FieldPart I048_070_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_070_MODE3A, NULL }; static const FieldPart *I048_070_PARTS[] = { &I048_070_V, &I048_070_G, &I048_070_L, &IXXX_1bit_spare, &I048_070_MODE3A, NULL }; static const AsterixField I048_070 = { FIXED, 2, 0, 0, &hf_048_070, I048_070_PARTS, { NULL } }; static int hf_048_080; static int hf_048_080_QA4; static const value_string valstr_048_080_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_080_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QA4, NULL }; static int hf_048_080_QA2; static const value_string valstr_048_080_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_080_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QA2, NULL }; static int hf_048_080_QA1; static const value_string valstr_048_080_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_080_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QA1, NULL }; static int hf_048_080_QB4; static const value_string valstr_048_080_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_080_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QB4, NULL }; static int hf_048_080_QB2; static const value_string valstr_048_080_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_080_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QB2, NULL }; static int hf_048_080_QB1; static const value_string valstr_048_080_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_080_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QB1, NULL }; static int hf_048_080_QC4; static const value_string valstr_048_080_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_080_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QC4, NULL }; static int hf_048_080_QC2; static const value_string valstr_048_080_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_080_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QC2, NULL }; static int hf_048_080_QC1; static const value_string valstr_048_080_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_080_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QC1, NULL }; static int hf_048_080_QD4; static const value_string valstr_048_080_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_080_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QD4, NULL }; static int hf_048_080_QD2; static const value_string valstr_048_080_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_080_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QD2, NULL }; static int hf_048_080_QD1; static const value_string valstr_048_080_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_080_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_080_QD1, NULL }; static const FieldPart *I048_080_PARTS[] = { &IXXX_4bit_spare, &I048_080_QA4, &I048_080_QA2, &I048_080_QA1, &I048_080_QB4, &I048_080_QB2, &I048_080_QB1, &I048_080_QC4, &I048_080_QC2, &I048_080_QC1, &I048_080_QD4, &I048_080_QD2, &I048_080_QD1, NULL }; static const AsterixField I048_080 = { FIXED, 2, 0, 0, &hf_048_080, I048_080_PARTS, { NULL } }; static int hf_048_090; static int hf_048_090_V; static const value_string valstr_048_090_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_090_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_090_V, NULL }; static int hf_048_090_G; static const value_string valstr_048_090_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_090_G, NULL }; static int hf_048_090_FL; static const FieldPart I048_090_FL = { 14, 0.25, FIELD_PART_UFLOAT, &hf_048_090_FL, NULL }; static const FieldPart *I048_090_PARTS[] = { &I048_090_V, &I048_090_G, &I048_090_FL, NULL }; static const AsterixField I048_090 = { FIXED, 2, 0, 0, &hf_048_090, I048_090_PARTS, { NULL } }; static int hf_048_100; static int hf_048_100_V; static const value_string valstr_048_100_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I048_100_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_V, NULL }; static int hf_048_100_G; static const value_string valstr_048_100_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I048_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_G, NULL }; static int hf_048_100_MODEC; static const FieldPart I048_100_MODEC = { 12, 1.0, FIELD_PART_HEX, &hf_048_100_MODEC, NULL }; static int hf_048_100_QC1; static const value_string valstr_048_100_QC1[] = { { 0, "High quality pulse C1" }, { 1, "Low quality pulse C1" }, { 0, NULL } }; static const FieldPart I048_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QC1, NULL }; static int hf_048_100_QA1; static const value_string valstr_048_100_QA1[] = { { 0, "High quality pulse A1" }, { 1, "Low quality pulse A1" }, { 0, NULL } }; static const FieldPart I048_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QA1, NULL }; static int hf_048_100_QC2; static const value_string valstr_048_100_QC2[] = { { 0, "High quality pulse C2" }, { 1, "Low quality pulse C2" }, { 0, NULL } }; static const FieldPart I048_100_QC2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QC2, NULL }; static int hf_048_100_QA2; static const value_string valstr_048_100_QA2[] = { { 0, "High quality pulse A2" }, { 1, "Low quality pulse A2" }, { 0, NULL } }; static const FieldPart I048_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QA2, NULL }; static int hf_048_100_QC4; static const value_string valstr_048_100_QC4[] = { { 0, "High quality pulse C4" }, { 1, "Low quality pulse C4" }, { 0, NULL } }; static const FieldPart I048_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QC4, NULL }; static int hf_048_100_QA4; static const value_string valstr_048_100_QA4[] = { { 0, "High quality pulse A4" }, { 1, "Low quality pulse A4" }, { 0, NULL } }; static const FieldPart I048_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QA4, NULL }; static int hf_048_100_QB1; static const value_string valstr_048_100_QB1[] = { { 0, "High quality pulse B1" }, { 1, "Low quality pulse B1" }, { 0, NULL } }; static const FieldPart I048_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QB1, NULL }; static int hf_048_100_QD1; static const value_string valstr_048_100_QD1[] = { { 0, "High quality pulse D1" }, { 1, "Low quality pulse D1" }, { 0, NULL } }; static const FieldPart I048_100_QD1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QD1, NULL }; static int hf_048_100_QB2; static const value_string valstr_048_100_QB2[] = { { 0, "High quality pulse B2" }, { 1, "Low quality pulse B2" }, { 0, NULL } }; static const FieldPart I048_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QB2, NULL }; static int hf_048_100_QD2; static const value_string valstr_048_100_QD2[] = { { 0, "High quality pulse D2" }, { 1, "Low quality pulse D2" }, { 0, NULL } }; static const FieldPart I048_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QD2, NULL }; static int hf_048_100_QB4; static const value_string valstr_048_100_QB4[] = { { 0, "High quality pulse B4" }, { 1, "Low quality pulse B4" }, { 0, NULL } }; static const FieldPart I048_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QB4, NULL }; static int hf_048_100_QD4; static const value_string valstr_048_100_QD4[] = { { 0, "High quality pulse D4" }, { 1, "Low quality pulse D4" }, { 0, NULL } }; static const FieldPart I048_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QD4, NULL }; static const FieldPart *I048_100_PARTS[] = { &I048_100_V, &I048_100_G, &IXXX_2bit_spare, &I048_100_MODEC, &IXXX_4bit_spare, &I048_100_QC1, &I048_100_QA1, &I048_100_QC2, &I048_100_QA2, &I048_100_QC4, &I048_100_QA4, &I048_100_QB1, &I048_100_QD1, &I048_100_QB2, &I048_100_QD2, &I048_100_QB4, &I048_100_QD4, NULL }; static const AsterixField I048_100 = { FIXED, 4, 0, 0, &hf_048_100, I048_100_PARTS, { NULL } }; static int hf_048_110; static int hf_048_110_3DH; static const FieldPart I048_110_3DH = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_110_3DH, NULL }; static const FieldPart *I048_110_PARTS[] = { &IXXX_2bit_spare, &I048_110_3DH, NULL }; static const AsterixField I048_110 = { FIXED, 2, 0, 0, &hf_048_110, I048_110_PARTS, { NULL } }; static int hf_048_120; static int hf_048_120_CAL; static int hf_048_120_CAL_D; static const value_string valstr_048_120_CAL_D[] = { { 0, "Doppler speed is valid" }, { 1, "Doppler speed is doubtful" }, { 0, NULL } }; static const FieldPart I048_120_CAL_D = { 1, 1.0, FIELD_PART_UINT, &hf_048_120_CAL_D, NULL }; static int hf_048_120_CAL_CAL; static const FieldPart I048_120_CAL_CAL = { 10, 1.0, FIELD_PART_FLOAT, &hf_048_120_CAL_CAL, NULL }; static const FieldPart *I048_120_CAL_PARTS[] = { &I048_120_CAL_D, &IXXX_5bit_spare, &I048_120_CAL_CAL, NULL }; static const AsterixField I048_120_CAL = { FIXED, 2, 0, 0, &hf_048_120_CAL, I048_120_CAL_PARTS, { NULL } }; static int hf_048_120_RDS; static int hf_048_120_RDS_DOP; static const FieldPart I048_120_RDS_DOP = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_120_RDS_DOP, NULL }; static int hf_048_120_RDS_AMB; static const FieldPart I048_120_RDS_AMB = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_120_RDS_AMB, NULL }; static int hf_048_120_RDS_FRQ; static const FieldPart I048_120_RDS_FRQ = { 16, 1.0, FIELD_PART_UFLOAT, &hf_048_120_RDS_FRQ, NULL }; static const FieldPart *I048_120_RDS_PARTS[] = { &I048_120_RDS_DOP, &I048_120_RDS_AMB, &I048_120_RDS_FRQ, NULL }; static const AsterixField I048_120_RDS = { REPETITIVE, 6, 1, 0, &hf_048_120_RDS, I048_120_RDS_PARTS, { NULL } }; static const AsterixField I048_120 = { COMPOUND, 0, 0, 0, &hf_048_120, NULL, { &I048_120_CAL, &I048_120_RDS, NULL } }; static int hf_048_130; static int hf_048_130_SRL; static int hf_048_130_SRL_VALUE; static const FieldPart I048_130_SRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_130_SRL_VALUE, NULL }; static const FieldPart *I048_130_SRL_PARTS[] = { &I048_130_SRL_VALUE, NULL }; static const AsterixField I048_130_SRL = { FIXED, 1, 0, 0, &hf_048_130_SRL, I048_130_SRL_PARTS, { NULL } }; static int hf_048_130_SRR; static int hf_048_130_SRR_VALUE; static const FieldPart I048_130_SRR_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_048_130_SRR_VALUE, NULL }; static const FieldPart *I048_130_SRR_PARTS[] = { &I048_130_SRR_VALUE, NULL }; static const AsterixField I048_130_SRR = { FIXED, 1, 0, 0, &hf_048_130_SRR, I048_130_SRR_PARTS, { NULL } }; static int hf_048_130_SAM; static int hf_048_130_SAM_VALUE; static const FieldPart I048_130_SAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_130_SAM_VALUE, NULL }; static const FieldPart *I048_130_SAM_PARTS[] = { &I048_130_SAM_VALUE, NULL }; static const AsterixField I048_130_SAM = { FIXED, 1, 0, 0, &hf_048_130_SAM, I048_130_SAM_PARTS, { NULL } }; static int hf_048_130_PRL; static int hf_048_130_PRL_VALUE; static const FieldPart I048_130_PRL_VALUE = { 8, 0.0439453125, FIELD_PART_UFLOAT, &hf_048_130_PRL_VALUE, NULL }; static const FieldPart *I048_130_PRL_PARTS[] = { &I048_130_PRL_VALUE, NULL }; static const AsterixField I048_130_PRL = { FIXED, 1, 0, 0, &hf_048_130_PRL, I048_130_PRL_PARTS, { NULL } }; static int hf_048_130_PAM; static int hf_048_130_PAM_VALUE; static const FieldPart I048_130_PAM_VALUE = { 8, 1.0, FIELD_PART_FLOAT, &hf_048_130_PAM_VALUE, NULL }; static const FieldPart *I048_130_PAM_PARTS[] = { &I048_130_PAM_VALUE, NULL }; static const AsterixField I048_130_PAM = { FIXED, 1, 0, 0, &hf_048_130_PAM, I048_130_PAM_PARTS, { NULL } }; static int hf_048_130_RPD; static int hf_048_130_RPD_VALUE; static const FieldPart I048_130_RPD_VALUE = { 8, 0.00390625, FIELD_PART_FLOAT, &hf_048_130_RPD_VALUE, NULL }; static const FieldPart *I048_130_RPD_PARTS[] = { &I048_130_RPD_VALUE, NULL }; static const AsterixField I048_130_RPD = { FIXED, 1, 0, 0, &hf_048_130_RPD, I048_130_RPD_PARTS, { NULL } }; static int hf_048_130_APD; static int hf_048_130_APD_VALUE; static const FieldPart I048_130_APD_VALUE = { 8, 0.02197265625, FIELD_PART_FLOAT, &hf_048_130_APD_VALUE, NULL }; static const FieldPart *I048_130_APD_PARTS[] = { &I048_130_APD_VALUE, NULL }; static const AsterixField I048_130_APD = { FIXED, 1, 0, 0, &hf_048_130_APD, I048_130_APD_PARTS, { NULL } }; static const AsterixField I048_130 = { COMPOUND, 0, 0, 0, &hf_048_130, NULL, { &I048_130_SRL, &I048_130_SRR, &I048_130_SAM, &I048_130_PRL, &I048_130_PAM, &I048_130_RPD, &I048_130_APD, NULL } }; static int hf_048_140; static int hf_048_140_VALUE; static const FieldPart I048_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_048_140_VALUE, NULL }; static const FieldPart *I048_140_PARTS[] = { &I048_140_VALUE, NULL }; static const AsterixField I048_140 = { FIXED, 3, 0, 0, &hf_048_140, I048_140_PARTS, { NULL } }; static int hf_048_161; static int hf_048_161_TRN; static const FieldPart I048_161_TRN = { 12, 1.0, FIELD_PART_HEX, &hf_048_161_TRN, NULL }; static const FieldPart *I048_161_PARTS[] = { &IXXX_4bit_spare, &I048_161_TRN, NULL }; static const AsterixField I048_161 = { FIXED, 2, 0, 0, &hf_048_161, I048_161_PARTS, { NULL } }; static int hf_048_170; static int hf_048_170_CNF; static const value_string valstr_048_170_CNF[] = { { 0, "Confirmed Track" }, { 1, "Tentative Track" }, { 0, NULL } }; static const FieldPart I048_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_CNF, NULL }; static int hf_048_170_RAD; static const value_string valstr_048_170_RAD[] = { { 0, "Combined Track" }, { 1, "PSR Track" }, { 2, "SSR/Mode S Track" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I048_170_RAD = { 2, 1.0, FIELD_PART_UINT, &hf_048_170_RAD, NULL }; static int hf_048_170_DOU; static const value_string valstr_048_170_DOU[] = { { 0, "Normal confidence" }, { 1, "Low confidence in plot to track association" }, { 0, NULL } }; static const FieldPart I048_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_DOU, NULL }; static int hf_048_170_MAH; static const value_string valstr_048_170_MAH[] = { { 0, "No horizontal man.sensed" }, { 1, "Horizontal man. sensed" }, { 0, NULL } }; static const FieldPart I048_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_MAH, NULL }; static int hf_048_170_CDM; static const value_string valstr_048_170_CDM[] = { { 0, "Maintaining" }, { 1, "Climbing" }, { 2, "Descending" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I048_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_048_170_CDM, NULL }; static int hf_048_170_TRE; static const value_string valstr_048_170_TRE[] = { { 0, "Track still alive" }, { 1, "End of track lifetime(last report for this track)" }, { 0, NULL } }; static const FieldPart I048_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_TRE, NULL }; static int hf_048_170_GHO; static const value_string valstr_048_170_GHO[] = { { 0, "True target track" }, { 1, "Ghost target track" }, { 0, NULL } }; static const FieldPart I048_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_GHO, NULL }; static int hf_048_170_SUP; static const value_string valstr_048_170_SUP[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_170_SUP = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_SUP, NULL }; static int hf_048_170_TCC; static const value_string valstr_048_170_TCC[] = { { 0, "Tracking performed in so-called \'Radar Plane\', i.e. neither slant range correction nor stereographical projection was applied" }, { 1, "Slant range correction and a suitable projection technique are used to track in a 2D.reference plane, tangential to the earth model at the Radar Site co-ordinates" }, { 0, NULL } }; static const FieldPart I048_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_TCC, NULL }; static const FieldPart *I048_170_PARTS[] = { &I048_170_CNF, &I048_170_RAD, &I048_170_DOU, &I048_170_MAH, &I048_170_CDM, &IXXX_FX, &I048_170_TRE, &I048_170_GHO, &I048_170_SUP, &I048_170_TCC, &IXXX_3bit_spare, &IXXX_FX, NULL }; static const AsterixField I048_170 = { FX, 1, 0, 0, &hf_048_170, I048_170_PARTS, { NULL } }; static int hf_048_200; static int hf_048_200_GSP; static const FieldPart I048_200_GSP = { 16, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_200_GSP, NULL }; static int hf_048_200_HDG; static const FieldPart I048_200_HDG = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_048_200_HDG, NULL }; static const FieldPart *I048_200_PARTS[] = { &I048_200_GSP, &I048_200_HDG, NULL }; static const AsterixField I048_200 = { FIXED, 4, 0, 0, &hf_048_200, I048_200_PARTS, { NULL } }; static int hf_048_210; static int hf_048_210_SIGX; static const FieldPart I048_210_SIGX = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_210_SIGX, NULL }; static int hf_048_210_SIGY; static const FieldPart I048_210_SIGY = { 8, 0.0078125, FIELD_PART_UFLOAT, &hf_048_210_SIGY, NULL }; static int hf_048_210_SIGV; static const FieldPart I048_210_SIGV = { 8, 6.103515625e-05, FIELD_PART_UFLOAT, &hf_048_210_SIGV, NULL }; static int hf_048_210_SIGH; static const FieldPart I048_210_SIGH = { 8, 0.087890625, FIELD_PART_UFLOAT, &hf_048_210_SIGH, NULL }; static const FieldPart *I048_210_PARTS[] = { &I048_210_SIGX, &I048_210_SIGY, &I048_210_SIGV, &I048_210_SIGH, NULL }; static const AsterixField I048_210 = { FIXED, 4, 0, 0, &hf_048_210, I048_210_PARTS, { NULL } }; static int hf_048_220; static int hf_048_220_VALUE; static const FieldPart I048_220_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_048_220_VALUE, NULL }; static const FieldPart *I048_220_PARTS[] = { &I048_220_VALUE, NULL }; static const AsterixField I048_220 = { FIXED, 3, 0, 0, &hf_048_220, I048_220_PARTS, { NULL } }; static int hf_048_230; static int hf_048_230_COM; static const value_string valstr_048_230_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 0, NULL } }; static const FieldPart I048_230_COM = { 3, 1.0, FIELD_PART_UINT, &hf_048_230_COM, NULL }; static int hf_048_230_STAT; static const value_string valstr_048_230_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I048_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_048_230_STAT, NULL }; static int hf_048_230_SI; static const value_string valstr_048_230_SI[] = { { 0, "SI-Code Capable" }, { 1, "II-Code Capable" }, { 0, NULL } }; static const FieldPart I048_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_SI, NULL }; static int hf_048_230_MSSC; static const value_string valstr_048_230_MSSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_MSSC, NULL }; static int hf_048_230_ARC; static const value_string valstr_048_230_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I048_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_ARC, NULL }; static int hf_048_230_AIC; static const value_string valstr_048_230_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I048_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_AIC, NULL }; static int hf_048_230_B1A; static const FieldPart I048_230_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_048_230_B1A, NULL }; static int hf_048_230_B1B; static const FieldPart I048_230_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_048_230_B1B, NULL }; static const FieldPart *I048_230_PARTS[] = { &I048_230_COM, &I048_230_STAT, &I048_230_SI, &IXXX_1bit_spare, &I048_230_MSSC, &I048_230_ARC, &I048_230_AIC, &I048_230_B1A, &I048_230_B1B, NULL }; static const AsterixField I048_230 = { FIXED, 2, 0, 0, &hf_048_230, I048_230_PARTS, { NULL } }; static int hf_048_240; static int hf_048_240_VALUE; static const FieldPart I048_240_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_048_240_VALUE, NULL }; static const FieldPart *I048_240_PARTS[] = { &I048_240_VALUE, NULL }; static const AsterixField I048_240 = { FIXED, 6, 0, 0, &hf_048_240, I048_240_PARTS, { NULL } }; static int hf_048_250; static int hf_048_250_MBDATA; static const FieldPart I048_250_MBDATA = { 56, 1.0, FIELD_PART_HEX, &hf_048_250_MBDATA, NULL }; static int hf_048_250_BDS1; static const FieldPart I048_250_BDS1 = { 4, 1.0, FIELD_PART_HEX, &hf_048_250_BDS1, NULL }; static int hf_048_250_BDS2; static const FieldPart I048_250_BDS2 = { 4, 1.0, FIELD_PART_HEX, &hf_048_250_BDS2, NULL }; static const FieldPart *I048_250_PARTS[] = { &I048_250_MBDATA, &I048_250_BDS1, &I048_250_BDS2, NULL }; static const AsterixField I048_250 = { REPETITIVE, 8, 1, 0, &hf_048_250, I048_250_PARTS, { NULL } }; static int hf_048_260; static int hf_048_260_VALUE; static const FieldPart I048_260_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_048_260_VALUE, NULL }; static const FieldPart *I048_260_PARTS[] = { &I048_260_VALUE, NULL }; static const AsterixField I048_260 = { FIXED, 7, 0, 0, &hf_048_260, I048_260_PARTS, { NULL } }; static int hf_048_RE; static const AsterixField I048_RE = { EXP, 0, 0, 1, &hf_048_RE, NULL, { NULL } }; static int hf_048_SP; static const AsterixField I048_SP = { EXP, 0, 0, 1, &hf_048_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I048_V1_31_uap[] = { &I048_V1_31_010, &I048_V1_31_140, &I048_V1_31_020, &I048_V1_31_040, &I048_V1_31_070, &I048_V1_31_090, &I048_V1_31_130, &I048_V1_31_220, &I048_V1_31_240, &I048_V1_31_250, &I048_V1_31_161, &I048_V1_31_042, &I048_V1_31_200, &I048_V1_31_170, &I048_V1_31_210, &I048_V1_31_030, &I048_V1_31_080, &I048_V1_31_100, &I048_V1_31_110, &I048_V1_31_120, &I048_V1_31_230, &I048_V1_31_260, &I048_V1_31_055, &I048_V1_31_050, &I048_V1_31_065, &I048_V1_31_060, &I048_V1_31_SP, &I048_V1_31_RE, NULL }; static const AsterixField **I048_V1_31[] = { I048_V1_31_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I048_uap[] = { &I048_010, &I048_140, &I048_020, &I048_040, &I048_070, &I048_090, &I048_130, &I048_220, &I048_240, &I048_250, &I048_161, &I048_042, &I048_200, &I048_170, &I048_210, &I048_030, &I048_080, &I048_100, &I048_110, &I048_120, &I048_230, &I048_260, &I048_055, &I048_050, &I048_065, &I048_060, &I048_SP, &I048_RE, NULL }; static const AsterixField **I048[] = { I048_uap, NULL }; DIAG_ON_PEDANTIC /* Category 062, edition 1.17 */ static int hf_062_V1_17_010; static int hf_062_V1_17_010_SAC; static const FieldPart I062_V1_17_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_010_SAC, NULL }; static int hf_062_V1_17_010_SIC; static const FieldPart I062_V1_17_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_010_SIC, NULL }; static const FieldPart *I062_V1_17_010_PARTS[] = { &I062_V1_17_010_SAC, &I062_V1_17_010_SIC, NULL }; static const AsterixField I062_V1_17_010 = { FIXED, 2, 0, 0, &hf_062_V1_17_010, I062_V1_17_010_PARTS, { NULL } }; static int hf_062_V1_17_015; static int hf_062_V1_17_015_VALUE; static const FieldPart I062_V1_17_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_015_VALUE, NULL }; static const FieldPart *I062_V1_17_015_PARTS[] = { &I062_V1_17_015_VALUE, NULL }; static const AsterixField I062_V1_17_015 = { FIXED, 1, 0, 0, &hf_062_V1_17_015, I062_V1_17_015_PARTS, { NULL } }; static int hf_062_V1_17_040; static int hf_062_V1_17_040_VALUE; static const FieldPart I062_V1_17_040_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_062_V1_17_040_VALUE, NULL }; static const FieldPart *I062_V1_17_040_PARTS[] = { &I062_V1_17_040_VALUE, NULL }; static const AsterixField I062_V1_17_040 = { FIXED, 2, 0, 0, &hf_062_V1_17_040, I062_V1_17_040_PARTS, { NULL } }; static int hf_062_V1_17_060; static int hf_062_V1_17_060_V; static const value_string valstr_062_V1_17_060_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_17_060_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_060_V, NULL }; static int hf_062_V1_17_060_G; static const value_string valstr_062_V1_17_060_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_17_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_060_G, NULL }; static int hf_062_V1_17_060_CH; static const value_string valstr_062_V1_17_060_CH[] = { { 0, "No change" }, { 1, "Mode 3/A has changed" }, { 0, NULL } }; static const FieldPart I062_V1_17_060_CH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_060_CH, NULL }; static int hf_062_V1_17_060_MODE3A; static const FieldPart I062_V1_17_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_17_060_MODE3A, NULL }; static const FieldPart *I062_V1_17_060_PARTS[] = { &I062_V1_17_060_V, &I062_V1_17_060_G, &I062_V1_17_060_CH, &IXXX_1bit_spare, &I062_V1_17_060_MODE3A, NULL }; static const AsterixField I062_V1_17_060 = { FIXED, 2, 0, 0, &hf_062_V1_17_060, I062_V1_17_060_PARTS, { NULL } }; static int hf_062_V1_17_070; static int hf_062_V1_17_070_VALUE; static const FieldPart I062_V1_17_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_062_V1_17_070_VALUE, NULL }; static const FieldPart *I062_V1_17_070_PARTS[] = { &I062_V1_17_070_VALUE, NULL }; static const AsterixField I062_V1_17_070 = { FIXED, 3, 0, 0, &hf_062_V1_17_070, I062_V1_17_070_PARTS, { NULL } }; static int hf_062_V1_17_080; static int hf_062_V1_17_080_MON; static const value_string valstr_062_V1_17_080_MON[] = { { 0, "Multisensor track" }, { 1, "Monosensor track" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_MON = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_MON, NULL }; static int hf_062_V1_17_080_SPI; static const value_string valstr_062_V1_17_080_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_SPI, NULL }; static int hf_062_V1_17_080_MRH; static const value_string valstr_062_V1_17_080_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_MRH, NULL }; static int hf_062_V1_17_080_SRC; static const value_string valstr_062_V1_17_080_SRC[] = { { 0, "No source" }, { 1, "GNSS" }, { 2, "3D radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_SRC, NULL }; static int hf_062_V1_17_080_CNF; static const value_string valstr_062_V1_17_080_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_CNF, NULL }; static int hf_062_V1_17_080_SIM; static const value_string valstr_062_V1_17_080_SIM[] = { { 0, "Actual track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_SIM, NULL }; static int hf_062_V1_17_080_TSE; static const value_string valstr_062_V1_17_080_TSE[] = { { 0, "Default value" }, { 1, "Last message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_TSE, NULL }; static int hf_062_V1_17_080_TSB; static const value_string valstr_062_V1_17_080_TSB[] = { { 0, "Default value" }, { 1, "First message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_TSB, NULL }; static int hf_062_V1_17_080_FPC; static const value_string valstr_062_V1_17_080_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_FPC, NULL }; static int hf_062_V1_17_080_AFF; static const value_string valstr_062_V1_17_080_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_AFF, NULL }; static int hf_062_V1_17_080_STP; static const value_string valstr_062_V1_17_080_STP[] = { { 0, "Default value" }, { 1, "Slave Track Promotion" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_STP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_STP, NULL }; static int hf_062_V1_17_080_KOS; static const value_string valstr_062_V1_17_080_KOS[] = { { 0, "Complementary service used" }, { 1, "Background service used" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_KOS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_KOS, NULL }; static int hf_062_V1_17_080_AMA; static const value_string valstr_062_V1_17_080_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_AMA, NULL }; static int hf_062_V1_17_080_MD4; static const value_string valstr_062_V1_17_080_MD4[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_MD4 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_MD4, NULL }; static int hf_062_V1_17_080_ME; static const value_string valstr_062_V1_17_080_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_ME = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_ME, NULL }; static int hf_062_V1_17_080_MI; static const value_string valstr_062_V1_17_080_MI[] = { { 0, "Default value" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_MI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_MI, NULL }; static int hf_062_V1_17_080_MD5; static const value_string valstr_062_V1_17_080_MD5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_MD5 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_MD5, NULL }; static int hf_062_V1_17_080_CST; static const value_string valstr_062_V1_17_080_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_CST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_CST, NULL }; static int hf_062_V1_17_080_PSR; static const value_string valstr_062_V1_17_080_PSR[] = { { 0, "Default value" }, { 1, "Age of the last received PSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_PSR, NULL }; static int hf_062_V1_17_080_SSR; static const value_string valstr_062_V1_17_080_SSR[] = { { 0, "Default value" }, { 1, "Age of the last received SSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_SSR, NULL }; static int hf_062_V1_17_080_MDS; static const value_string valstr_062_V1_17_080_MDS[] = { { 0, "Default value" }, { 1, "Age of the last received Mode S track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_MDS, NULL }; static int hf_062_V1_17_080_ADS; static const value_string valstr_062_V1_17_080_ADS[] = { { 0, "Default value" }, { 1, "Age of the last received ADS-B track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_ADS, NULL }; static int hf_062_V1_17_080_SUC; static const value_string valstr_062_V1_17_080_SUC[] = { { 0, "Default value" }, { 1, "Special Used Code (Mode A codes to be defined in the system to mark a track with special interest)" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_SUC, NULL }; static int hf_062_V1_17_080_AAC; static const value_string valstr_062_V1_17_080_AAC[] = { { 0, "Default value" }, { 1, "Assigned Mode A Code Conflict (same discrete Mode A Code assigned to another track)" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_AAC, NULL }; static int hf_062_V1_17_080_SDS; static const value_string valstr_062_V1_17_080_SDS[] = { { 0, "Combined" }, { 1, "Co-operative only" }, { 2, "Non-Cooperative only" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_SDS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_SDS, NULL }; static int hf_062_V1_17_080_EMS; static const value_string valstr_062_V1_17_080_EMS[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Undefined" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_EMS = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_EMS, NULL }; static int hf_062_V1_17_080_PFT; static const value_string valstr_062_V1_17_080_PFT[] = { { 0, "No indication" }, { 1, "Potential False Track Indication" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_PFT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_PFT, NULL }; static int hf_062_V1_17_080_FPLT; static const value_string valstr_062_V1_17_080_FPLT[] = { { 0, "Default value" }, { 1, "Track created / updated with FPL data" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_FPLT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_FPLT, NULL }; static int hf_062_V1_17_080_DUPT; static const value_string valstr_062_V1_17_080_DUPT[] = { { 0, "Default value" }, { 1, "Duplicate Mode 3/A Code" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_DUPT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_DUPT, NULL }; static int hf_062_V1_17_080_DUPF; static const value_string valstr_062_V1_17_080_DUPF[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_DUPF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_DUPF, NULL }; static int hf_062_V1_17_080_DUPM; static const value_string valstr_062_V1_17_080_DUPM[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan due to manual correlation" }, { 0, NULL } }; static const FieldPart I062_V1_17_080_DUPM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_080_DUPM, NULL }; static const FieldPart *I062_V1_17_080_PARTS[] = { &I062_V1_17_080_MON, &I062_V1_17_080_SPI, &I062_V1_17_080_MRH, &I062_V1_17_080_SRC, &I062_V1_17_080_CNF, &IXXX_FX, &I062_V1_17_080_SIM, &I062_V1_17_080_TSE, &I062_V1_17_080_TSB, &I062_V1_17_080_FPC, &I062_V1_17_080_AFF, &I062_V1_17_080_STP, &I062_V1_17_080_KOS, &IXXX_FX, &I062_V1_17_080_AMA, &I062_V1_17_080_MD4, &I062_V1_17_080_ME, &I062_V1_17_080_MI, &I062_V1_17_080_MD5, &IXXX_FX, &I062_V1_17_080_CST, &I062_V1_17_080_PSR, &I062_V1_17_080_SSR, &I062_V1_17_080_MDS, &I062_V1_17_080_ADS, &I062_V1_17_080_SUC, &I062_V1_17_080_AAC, &IXXX_FX, &I062_V1_17_080_SDS, &I062_V1_17_080_EMS, &I062_V1_17_080_PFT, &I062_V1_17_080_FPLT, &IXXX_FX, &I062_V1_17_080_DUPT, &I062_V1_17_080_DUPF, &I062_V1_17_080_DUPM, &IXXX_4bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_V1_17_080 = { FX, 1, 0, 0, &hf_062_V1_17_080, I062_V1_17_080_PARTS, { NULL } }; static int hf_062_V1_17_100; static int hf_062_V1_17_100_X; static const FieldPart I062_V1_17_100_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_17_100_X, NULL }; static int hf_062_V1_17_100_Y; static const FieldPart I062_V1_17_100_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_17_100_Y, NULL }; static const FieldPart *I062_V1_17_100_PARTS[] = { &I062_V1_17_100_X, &I062_V1_17_100_Y, NULL }; static const AsterixField I062_V1_17_100 = { FIXED, 6, 0, 0, &hf_062_V1_17_100, I062_V1_17_100_PARTS, { NULL } }; static int hf_062_V1_17_105; static int hf_062_V1_17_105_LAT; static const FieldPart I062_V1_17_105_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_17_105_LAT, NULL }; static int hf_062_V1_17_105_LON; static const FieldPart I062_V1_17_105_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_17_105_LON, NULL }; static const FieldPart *I062_V1_17_105_PARTS[] = { &I062_V1_17_105_LAT, &I062_V1_17_105_LON, NULL }; static const AsterixField I062_V1_17_105 = { FIXED, 8, 0, 0, &hf_062_V1_17_105, I062_V1_17_105_PARTS, { NULL } }; static int hf_062_V1_17_110; static int hf_062_V1_17_110_SUM; static int hf_062_V1_17_110_SUM_M5; static const value_string valstr_062_V1_17_110_SUM_M5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Mode 5 interrogation" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_M5, NULL }; static int hf_062_V1_17_110_SUM_ID; static const value_string valstr_062_V1_17_110_SUM_ID[] = { { 0, "No authenticated Mode 5 ID reply" }, { 1, "Authenticated Mode 5 ID reply" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_ID = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_ID, NULL }; static int hf_062_V1_17_110_SUM_DA; static const value_string valstr_062_V1_17_110_SUM_DA[] = { { 0, "No authenticated Mode 5 Data reply or Report" }, { 1, "Authenticated Mode 5 Data reply or Report (i.e any valid Mode 5 reply type other than ID)" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_DA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_DA, NULL }; static int hf_062_V1_17_110_SUM_M1; static const value_string valstr_062_V1_17_110_SUM_M1[] = { { 0, "Mode 1 code not present or not from Mode 5 reply" }, { 1, "Mode 1 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_M1, NULL }; static int hf_062_V1_17_110_SUM_M2; static const value_string valstr_062_V1_17_110_SUM_M2[] = { { 0, "Mode 2 code not present or not from Mode 5 reply" }, { 1, "Mode 2 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_M2, NULL }; static int hf_062_V1_17_110_SUM_M3; static const value_string valstr_062_V1_17_110_SUM_M3[] = { { 0, "Mode 3 code not present or not from Mode 5 reply" }, { 1, "Mode 3 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_M3, NULL }; static int hf_062_V1_17_110_SUM_MC; static const value_string valstr_062_V1_17_110_SUM_MC[] = { { 0, "Mode C altitude code not present or not from Mode 5 reply" }, { 1, "Mode C altitude from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_MC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_MC, NULL }; static int hf_062_V1_17_110_SUM_X; static const value_string valstr_062_V1_17_110_SUM_X[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_SUM_X = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_SUM_X, NULL }; static const FieldPart *I062_V1_17_110_SUM_PARTS[] = { &I062_V1_17_110_SUM_M5, &I062_V1_17_110_SUM_ID, &I062_V1_17_110_SUM_DA, &I062_V1_17_110_SUM_M1, &I062_V1_17_110_SUM_M2, &I062_V1_17_110_SUM_M3, &I062_V1_17_110_SUM_MC, &I062_V1_17_110_SUM_X, NULL }; static const AsterixField I062_V1_17_110_SUM = { FIXED, 1, 0, 0, &hf_062_V1_17_110_SUM, I062_V1_17_110_SUM_PARTS, { NULL } }; static int hf_062_V1_17_110_PMN; static int hf_062_V1_17_110_PMN_PIN; static const FieldPart I062_V1_17_110_PMN_PIN = { 14, 1.0, FIELD_PART_HEX, &hf_062_V1_17_110_PMN_PIN, NULL }; static int hf_062_V1_17_110_PMN_NAT; static const FieldPart I062_V1_17_110_PMN_NAT = { 5, 1.0, FIELD_PART_HEX, &hf_062_V1_17_110_PMN_NAT, NULL }; static int hf_062_V1_17_110_PMN_MIS; static const FieldPart I062_V1_17_110_PMN_MIS = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_17_110_PMN_MIS, NULL }; static const FieldPart *I062_V1_17_110_PMN_PARTS[] = { &IXXX_2bit_spare, &I062_V1_17_110_PMN_PIN, &IXXX_3bit_spare, &I062_V1_17_110_PMN_NAT, &IXXX_2bit_spare, &I062_V1_17_110_PMN_MIS, NULL }; static const AsterixField I062_V1_17_110_PMN = { FIXED, 4, 0, 0, &hf_062_V1_17_110_PMN, I062_V1_17_110_PMN_PARTS, { NULL } }; static int hf_062_V1_17_110_POS; static int hf_062_V1_17_110_POS_LAT; static const FieldPart I062_V1_17_110_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_17_110_POS_LAT, NULL }; static int hf_062_V1_17_110_POS_LON; static const FieldPart I062_V1_17_110_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_17_110_POS_LON, NULL }; static const FieldPart *I062_V1_17_110_POS_PARTS[] = { &I062_V1_17_110_POS_LAT, &I062_V1_17_110_POS_LON, NULL }; static const AsterixField I062_V1_17_110_POS = { FIXED, 6, 0, 0, &hf_062_V1_17_110_POS, I062_V1_17_110_POS_PARTS, { NULL } }; static int hf_062_V1_17_110_GA; static int hf_062_V1_17_110_GA_RES; static const value_string valstr_062_V1_17_110_GA_RES[] = { { 0, "GA reported in 100 ft increments" }, { 1, "GA reported in 25 ft increments" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_GA_RES = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_GA_RES, NULL }; static int hf_062_V1_17_110_GA_GA; static const FieldPart I062_V1_17_110_GA_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_062_V1_17_110_GA_GA, NULL }; static const FieldPart *I062_V1_17_110_GA_PARTS[] = { &IXXX_1bit_spare, &I062_V1_17_110_GA_RES, &I062_V1_17_110_GA_GA, NULL }; static const AsterixField I062_V1_17_110_GA = { FIXED, 2, 0, 0, &hf_062_V1_17_110_GA, I062_V1_17_110_GA_PARTS, { NULL } }; static int hf_062_V1_17_110_EM1; static int hf_062_V1_17_110_EM1_EM1; static const FieldPart I062_V1_17_110_EM1_EM1 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_17_110_EM1_EM1, NULL }; static const FieldPart *I062_V1_17_110_EM1_PARTS[] = { &IXXX_4bit_spare, &I062_V1_17_110_EM1_EM1, NULL }; static const AsterixField I062_V1_17_110_EM1 = { FIXED, 2, 0, 0, &hf_062_V1_17_110_EM1, I062_V1_17_110_EM1_PARTS, { NULL } }; static int hf_062_V1_17_110_TOS; static int hf_062_V1_17_110_TOS_VALUE; static const FieldPart I062_V1_17_110_TOS_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_062_V1_17_110_TOS_VALUE, NULL }; static const FieldPart *I062_V1_17_110_TOS_PARTS[] = { &I062_V1_17_110_TOS_VALUE, NULL }; static const AsterixField I062_V1_17_110_TOS = { FIXED, 1, 0, 0, &hf_062_V1_17_110_TOS, I062_V1_17_110_TOS_PARTS, { NULL } }; static int hf_062_V1_17_110_XP; static int hf_062_V1_17_110_XP_X5; static const value_string valstr_062_V1_17_110_XP_X5[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_XP_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_XP_X5, NULL }; static int hf_062_V1_17_110_XP_XC; static const value_string valstr_062_V1_17_110_XP_XC[] = { { 0, "X-pulse set to zero or no Mode C reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_XP_XC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_XP_XC, NULL }; static int hf_062_V1_17_110_XP_X3; static const value_string valstr_062_V1_17_110_XP_X3[] = { { 0, "X-pulse set to zero or no Mode 3/A reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_XP_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_XP_X3, NULL }; static int hf_062_V1_17_110_XP_X2; static const value_string valstr_062_V1_17_110_XP_X2[] = { { 0, "X-pulse set to zero or no Mode 2 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_XP_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_XP_X2, NULL }; static int hf_062_V1_17_110_XP_X1; static const value_string valstr_062_V1_17_110_XP_X1[] = { { 0, "X-pulse set to zero or no Mode 1 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_17_110_XP_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_110_XP_X1, NULL }; static const FieldPart *I062_V1_17_110_XP_PARTS[] = { &IXXX_3bit_spare, &I062_V1_17_110_XP_X5, &I062_V1_17_110_XP_XC, &I062_V1_17_110_XP_X3, &I062_V1_17_110_XP_X2, &I062_V1_17_110_XP_X1, NULL }; static const AsterixField I062_V1_17_110_XP = { FIXED, 1, 0, 0, &hf_062_V1_17_110_XP, I062_V1_17_110_XP_PARTS, { NULL } }; static const AsterixField I062_V1_17_110 = { COMPOUND, 0, 0, 0, &hf_062_V1_17_110, NULL, { &I062_V1_17_110_SUM, &I062_V1_17_110_PMN, &I062_V1_17_110_POS, &I062_V1_17_110_GA, &I062_V1_17_110_EM1, &I062_V1_17_110_TOS, &I062_V1_17_110_XP, NULL } }; static int hf_062_V1_17_120; static int hf_062_V1_17_120_MODE2; static const FieldPart I062_V1_17_120_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_17_120_MODE2, NULL }; static const FieldPart *I062_V1_17_120_PARTS[] = { &IXXX_4bit_spare, &I062_V1_17_120_MODE2, NULL }; static const AsterixField I062_V1_17_120 = { FIXED, 2, 0, 0, &hf_062_V1_17_120, I062_V1_17_120_PARTS, { NULL } }; static int hf_062_V1_17_130; static int hf_062_V1_17_130_VALUE; static const FieldPart I062_V1_17_130_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_17_130_VALUE, NULL }; static const FieldPart *I062_V1_17_130_PARTS[] = { &I062_V1_17_130_VALUE, NULL }; static const AsterixField I062_V1_17_130 = { FIXED, 2, 0, 0, &hf_062_V1_17_130, I062_V1_17_130_PARTS, { NULL } }; static int hf_062_V1_17_135; static int hf_062_V1_17_135_QNH; static const value_string valstr_062_V1_17_135_QNH[] = { { 0, "No QNH correction applied" }, { 1, "QNH correction applied" }, { 0, NULL } }; static const FieldPart I062_V1_17_135_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_135_QNH, NULL }; static int hf_062_V1_17_135_CTB; static const FieldPart I062_V1_17_135_CTB = { 15, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_135_CTB, NULL }; static const FieldPart *I062_V1_17_135_PARTS[] = { &I062_V1_17_135_QNH, &I062_V1_17_135_CTB, NULL }; static const AsterixField I062_V1_17_135 = { FIXED, 2, 0, 0, &hf_062_V1_17_135, I062_V1_17_135_PARTS, { NULL } }; static int hf_062_V1_17_136; static int hf_062_V1_17_136_VALUE; static const FieldPart I062_V1_17_136_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_136_VALUE, NULL }; static const FieldPart *I062_V1_17_136_PARTS[] = { &I062_V1_17_136_VALUE, NULL }; static const AsterixField I062_V1_17_136 = { FIXED, 2, 0, 0, &hf_062_V1_17_136, I062_V1_17_136_PARTS, { NULL } }; static int hf_062_V1_17_185; static int hf_062_V1_17_185_VX; static const FieldPart I062_V1_17_185_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_185_VX, NULL }; static int hf_062_V1_17_185_VY; static const FieldPart I062_V1_17_185_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_185_VY, NULL }; static const FieldPart *I062_V1_17_185_PARTS[] = { &I062_V1_17_185_VX, &I062_V1_17_185_VY, NULL }; static const AsterixField I062_V1_17_185 = { FIXED, 4, 0, 0, &hf_062_V1_17_185, I062_V1_17_185_PARTS, { NULL } }; static int hf_062_V1_17_200; static int hf_062_V1_17_200_TRANS; static const value_string valstr_062_V1_17_200_TRANS[] = { { 0, "Constant course" }, { 1, "Right turn" }, { 2, "Left turn" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_17_200_TRANS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_200_TRANS, NULL }; static int hf_062_V1_17_200_LONG; static const value_string valstr_062_V1_17_200_LONG[] = { { 0, "Constant groundspeed" }, { 1, "Increasing groundspeed" }, { 2, "Decreasing groundspeed" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_17_200_LONG = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_200_LONG, NULL }; static int hf_062_V1_17_200_VERT; static const value_string valstr_062_V1_17_200_VERT[] = { { 0, "Level" }, { 1, "Climb" }, { 2, "Descent" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_17_200_VERT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_200_VERT, NULL }; static int hf_062_V1_17_200_ADF; static const value_string valstr_062_V1_17_200_ADF[] = { { 0, "No altitude discrepancy" }, { 1, "Altitude discrepancy" }, { 0, NULL } }; static const FieldPart I062_V1_17_200_ADF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_200_ADF, NULL }; static const FieldPart *I062_V1_17_200_PARTS[] = { &I062_V1_17_200_TRANS, &I062_V1_17_200_LONG, &I062_V1_17_200_VERT, &I062_V1_17_200_ADF, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_17_200 = { FIXED, 1, 0, 0, &hf_062_V1_17_200, I062_V1_17_200_PARTS, { NULL } }; static int hf_062_V1_17_210; static int hf_062_V1_17_210_AX; static const FieldPart I062_V1_17_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_210_AX, NULL }; static int hf_062_V1_17_210_AY; static const FieldPart I062_V1_17_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_210_AY, NULL }; static const FieldPart *I062_V1_17_210_PARTS[] = { &I062_V1_17_210_AX, &I062_V1_17_210_AY, NULL }; static const AsterixField I062_V1_17_210 = { FIXED, 2, 0, 0, &hf_062_V1_17_210, I062_V1_17_210_PARTS, { NULL } }; static int hf_062_V1_17_220; static int hf_062_V1_17_220_VALUE; static const FieldPart I062_V1_17_220_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_17_220_VALUE, NULL }; static const FieldPart *I062_V1_17_220_PARTS[] = { &I062_V1_17_220_VALUE, NULL }; static const AsterixField I062_V1_17_220 = { FIXED, 2, 0, 0, &hf_062_V1_17_220, I062_V1_17_220_PARTS, { NULL } }; static int hf_062_V1_17_245; static int hf_062_V1_17_245_STI; static const value_string valstr_062_V1_17_245_STI[] = { { 0, "Callsign or registration downlinked from target" }, { 1, "Callsign not downlinked from target" }, { 2, "Registration not downlinked from target" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_17_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_245_STI, NULL }; static int hf_062_V1_17_245_CHR; static const FieldPart I062_V1_17_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_17_245_CHR, NULL }; static const FieldPart *I062_V1_17_245_PARTS[] = { &I062_V1_17_245_STI, &IXXX_6bit_spare, &I062_V1_17_245_CHR, NULL }; static const AsterixField I062_V1_17_245 = { FIXED, 7, 0, 0, &hf_062_V1_17_245, I062_V1_17_245_PARTS, { NULL } }; static int hf_062_V1_17_270; static int hf_062_V1_17_270_LENGTH; static const FieldPart I062_V1_17_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_17_270_LENGTH, NULL }; static int hf_062_V1_17_270_ORIENTATION; static const FieldPart I062_V1_17_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_062_V1_17_270_ORIENTATION, NULL }; static int hf_062_V1_17_270_WIDTH; static const FieldPart I062_V1_17_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_17_270_WIDTH, NULL }; static const FieldPart *I062_V1_17_270_PARTS[] = { &I062_V1_17_270_LENGTH, &IXXX_FX, &I062_V1_17_270_ORIENTATION, &IXXX_FX, &I062_V1_17_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I062_V1_17_270 = { FX, 1, 0, 0, &hf_062_V1_17_270, I062_V1_17_270_PARTS, { NULL } }; static int hf_062_V1_17_290; static int hf_062_V1_17_290_TRK; static int hf_062_V1_17_290_TRK_VALUE; static const FieldPart I062_V1_17_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_TRK_VALUE, NULL }; static const FieldPart *I062_V1_17_290_TRK_PARTS[] = { &I062_V1_17_290_TRK_VALUE, NULL }; static const AsterixField I062_V1_17_290_TRK = { FIXED, 1, 0, 0, &hf_062_V1_17_290_TRK, I062_V1_17_290_TRK_PARTS, { NULL } }; static int hf_062_V1_17_290_PSR; static int hf_062_V1_17_290_PSR_VALUE; static const FieldPart I062_V1_17_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_PSR_VALUE, NULL }; static const FieldPart *I062_V1_17_290_PSR_PARTS[] = { &I062_V1_17_290_PSR_VALUE, NULL }; static const AsterixField I062_V1_17_290_PSR = { FIXED, 1, 0, 0, &hf_062_V1_17_290_PSR, I062_V1_17_290_PSR_PARTS, { NULL } }; static int hf_062_V1_17_290_SSR; static int hf_062_V1_17_290_SSR_VALUE; static const FieldPart I062_V1_17_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_SSR_VALUE, NULL }; static const FieldPart *I062_V1_17_290_SSR_PARTS[] = { &I062_V1_17_290_SSR_VALUE, NULL }; static const AsterixField I062_V1_17_290_SSR = { FIXED, 1, 0, 0, &hf_062_V1_17_290_SSR, I062_V1_17_290_SSR_PARTS, { NULL } }; static int hf_062_V1_17_290_MDS; static int hf_062_V1_17_290_MDS_VALUE; static const FieldPart I062_V1_17_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_MDS_VALUE, NULL }; static const FieldPart *I062_V1_17_290_MDS_PARTS[] = { &I062_V1_17_290_MDS_VALUE, NULL }; static const AsterixField I062_V1_17_290_MDS = { FIXED, 1, 0, 0, &hf_062_V1_17_290_MDS, I062_V1_17_290_MDS_PARTS, { NULL } }; static int hf_062_V1_17_290_ADS; static int hf_062_V1_17_290_ADS_VALUE; static const FieldPart I062_V1_17_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_ADS_VALUE, NULL }; static const FieldPart *I062_V1_17_290_ADS_PARTS[] = { &I062_V1_17_290_ADS_VALUE, NULL }; static const AsterixField I062_V1_17_290_ADS = { FIXED, 2, 0, 0, &hf_062_V1_17_290_ADS, I062_V1_17_290_ADS_PARTS, { NULL } }; static int hf_062_V1_17_290_ES; static int hf_062_V1_17_290_ES_VALUE; static const FieldPart I062_V1_17_290_ES_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_ES_VALUE, NULL }; static const FieldPart *I062_V1_17_290_ES_PARTS[] = { &I062_V1_17_290_ES_VALUE, NULL }; static const AsterixField I062_V1_17_290_ES = { FIXED, 1, 0, 0, &hf_062_V1_17_290_ES, I062_V1_17_290_ES_PARTS, { NULL } }; static int hf_062_V1_17_290_VDL; static int hf_062_V1_17_290_VDL_VALUE; static const FieldPart I062_V1_17_290_VDL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_VDL_VALUE, NULL }; static const FieldPart *I062_V1_17_290_VDL_PARTS[] = { &I062_V1_17_290_VDL_VALUE, NULL }; static const AsterixField I062_V1_17_290_VDL = { FIXED, 1, 0, 0, &hf_062_V1_17_290_VDL, I062_V1_17_290_VDL_PARTS, { NULL } }; static int hf_062_V1_17_290_UAT; static int hf_062_V1_17_290_UAT_VALUE; static const FieldPart I062_V1_17_290_UAT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_UAT_VALUE, NULL }; static const FieldPart *I062_V1_17_290_UAT_PARTS[] = { &I062_V1_17_290_UAT_VALUE, NULL }; static const AsterixField I062_V1_17_290_UAT = { FIXED, 1, 0, 0, &hf_062_V1_17_290_UAT, I062_V1_17_290_UAT_PARTS, { NULL } }; static int hf_062_V1_17_290_LOP; static int hf_062_V1_17_290_LOP_VALUE; static const FieldPart I062_V1_17_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_LOP_VALUE, NULL }; static const FieldPart *I062_V1_17_290_LOP_PARTS[] = { &I062_V1_17_290_LOP_VALUE, NULL }; static const AsterixField I062_V1_17_290_LOP = { FIXED, 1, 0, 0, &hf_062_V1_17_290_LOP, I062_V1_17_290_LOP_PARTS, { NULL } }; static int hf_062_V1_17_290_MLT; static int hf_062_V1_17_290_MLT_VALUE; static const FieldPart I062_V1_17_290_MLT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_290_MLT_VALUE, NULL }; static const FieldPart *I062_V1_17_290_MLT_PARTS[] = { &I062_V1_17_290_MLT_VALUE, NULL }; static const AsterixField I062_V1_17_290_MLT = { FIXED, 1, 0, 0, &hf_062_V1_17_290_MLT, I062_V1_17_290_MLT_PARTS, { NULL } }; static const AsterixField I062_V1_17_290 = { COMPOUND, 0, 0, 0, &hf_062_V1_17_290, NULL, { &I062_V1_17_290_TRK, &I062_V1_17_290_PSR, &I062_V1_17_290_SSR, &I062_V1_17_290_MDS, &I062_V1_17_290_ADS, &I062_V1_17_290_ES, &I062_V1_17_290_VDL, &I062_V1_17_290_UAT, &I062_V1_17_290_LOP, &I062_V1_17_290_MLT, NULL } }; static int hf_062_V1_17_295; static int hf_062_V1_17_295_MFL; static int hf_062_V1_17_295_MFL_VALUE; static const FieldPart I062_V1_17_295_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MFL_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MFL_PARTS[] = { &I062_V1_17_295_MFL_VALUE, NULL }; static const AsterixField I062_V1_17_295_MFL = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MFL, I062_V1_17_295_MFL_PARTS, { NULL } }; static int hf_062_V1_17_295_MD1; static int hf_062_V1_17_295_MD1_VALUE; static const FieldPart I062_V1_17_295_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MD1_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MD1_PARTS[] = { &I062_V1_17_295_MD1_VALUE, NULL }; static const AsterixField I062_V1_17_295_MD1 = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MD1, I062_V1_17_295_MD1_PARTS, { NULL } }; static int hf_062_V1_17_295_MD2; static int hf_062_V1_17_295_MD2_VALUE; static const FieldPart I062_V1_17_295_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MD2_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MD2_PARTS[] = { &I062_V1_17_295_MD2_VALUE, NULL }; static const AsterixField I062_V1_17_295_MD2 = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MD2, I062_V1_17_295_MD2_PARTS, { NULL } }; static int hf_062_V1_17_295_MDA; static int hf_062_V1_17_295_MDA_VALUE; static const FieldPart I062_V1_17_295_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MDA_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MDA_PARTS[] = { &I062_V1_17_295_MDA_VALUE, NULL }; static const AsterixField I062_V1_17_295_MDA = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MDA, I062_V1_17_295_MDA_PARTS, { NULL } }; static int hf_062_V1_17_295_MD4; static int hf_062_V1_17_295_MD4_VALUE; static const FieldPart I062_V1_17_295_MD4_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MD4_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MD4_PARTS[] = { &I062_V1_17_295_MD4_VALUE, NULL }; static const AsterixField I062_V1_17_295_MD4 = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MD4, I062_V1_17_295_MD4_PARTS, { NULL } }; static int hf_062_V1_17_295_MD5; static int hf_062_V1_17_295_MD5_VALUE; static const FieldPart I062_V1_17_295_MD5_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MD5_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MD5_PARTS[] = { &I062_V1_17_295_MD5_VALUE, NULL }; static const AsterixField I062_V1_17_295_MD5 = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MD5, I062_V1_17_295_MD5_PARTS, { NULL } }; static int hf_062_V1_17_295_MHG; static int hf_062_V1_17_295_MHG_VALUE; static const FieldPart I062_V1_17_295_MHG_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MHG_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MHG_PARTS[] = { &I062_V1_17_295_MHG_VALUE, NULL }; static const AsterixField I062_V1_17_295_MHG = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MHG, I062_V1_17_295_MHG_PARTS, { NULL } }; static int hf_062_V1_17_295_IAS; static int hf_062_V1_17_295_IAS_VALUE; static const FieldPart I062_V1_17_295_IAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_IAS_VALUE, NULL }; static const FieldPart *I062_V1_17_295_IAS_PARTS[] = { &I062_V1_17_295_IAS_VALUE, NULL }; static const AsterixField I062_V1_17_295_IAS = { FIXED, 1, 0, 0, &hf_062_V1_17_295_IAS, I062_V1_17_295_IAS_PARTS, { NULL } }; static int hf_062_V1_17_295_TAS; static int hf_062_V1_17_295_TAS_VALUE; static const FieldPart I062_V1_17_295_TAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_TAS_VALUE, NULL }; static const FieldPart *I062_V1_17_295_TAS_PARTS[] = { &I062_V1_17_295_TAS_VALUE, NULL }; static const AsterixField I062_V1_17_295_TAS = { FIXED, 1, 0, 0, &hf_062_V1_17_295_TAS, I062_V1_17_295_TAS_PARTS, { NULL } }; static int hf_062_V1_17_295_SAL; static int hf_062_V1_17_295_SAL_VALUE; static const FieldPart I062_V1_17_295_SAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_SAL_VALUE, NULL }; static const FieldPart *I062_V1_17_295_SAL_PARTS[] = { &I062_V1_17_295_SAL_VALUE, NULL }; static const AsterixField I062_V1_17_295_SAL = { FIXED, 1, 0, 0, &hf_062_V1_17_295_SAL, I062_V1_17_295_SAL_PARTS, { NULL } }; static int hf_062_V1_17_295_FSS; static int hf_062_V1_17_295_FSS_VALUE; static const FieldPart I062_V1_17_295_FSS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_FSS_VALUE, NULL }; static const FieldPart *I062_V1_17_295_FSS_PARTS[] = { &I062_V1_17_295_FSS_VALUE, NULL }; static const AsterixField I062_V1_17_295_FSS = { FIXED, 1, 0, 0, &hf_062_V1_17_295_FSS, I062_V1_17_295_FSS_PARTS, { NULL } }; static int hf_062_V1_17_295_TID; static int hf_062_V1_17_295_TID_VALUE; static const FieldPart I062_V1_17_295_TID_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_TID_VALUE, NULL }; static const FieldPart *I062_V1_17_295_TID_PARTS[] = { &I062_V1_17_295_TID_VALUE, NULL }; static const AsterixField I062_V1_17_295_TID = { FIXED, 1, 0, 0, &hf_062_V1_17_295_TID, I062_V1_17_295_TID_PARTS, { NULL } }; static int hf_062_V1_17_295_COM; static int hf_062_V1_17_295_COM_VALUE; static const FieldPart I062_V1_17_295_COM_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_COM_VALUE, NULL }; static const FieldPart *I062_V1_17_295_COM_PARTS[] = { &I062_V1_17_295_COM_VALUE, NULL }; static const AsterixField I062_V1_17_295_COM = { FIXED, 1, 0, 0, &hf_062_V1_17_295_COM, I062_V1_17_295_COM_PARTS, { NULL } }; static int hf_062_V1_17_295_SAB; static int hf_062_V1_17_295_SAB_VALUE; static const FieldPart I062_V1_17_295_SAB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_SAB_VALUE, NULL }; static const FieldPart *I062_V1_17_295_SAB_PARTS[] = { &I062_V1_17_295_SAB_VALUE, NULL }; static const AsterixField I062_V1_17_295_SAB = { FIXED, 1, 0, 0, &hf_062_V1_17_295_SAB, I062_V1_17_295_SAB_PARTS, { NULL } }; static int hf_062_V1_17_295_ACS; static int hf_062_V1_17_295_ACS_VALUE; static const FieldPart I062_V1_17_295_ACS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_ACS_VALUE, NULL }; static const FieldPart *I062_V1_17_295_ACS_PARTS[] = { &I062_V1_17_295_ACS_VALUE, NULL }; static const AsterixField I062_V1_17_295_ACS = { FIXED, 1, 0, 0, &hf_062_V1_17_295_ACS, I062_V1_17_295_ACS_PARTS, { NULL } }; static int hf_062_V1_17_295_BVR; static int hf_062_V1_17_295_BVR_VALUE; static const FieldPart I062_V1_17_295_BVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_BVR_VALUE, NULL }; static const FieldPart *I062_V1_17_295_BVR_PARTS[] = { &I062_V1_17_295_BVR_VALUE, NULL }; static const AsterixField I062_V1_17_295_BVR = { FIXED, 1, 0, 0, &hf_062_V1_17_295_BVR, I062_V1_17_295_BVR_PARTS, { NULL } }; static int hf_062_V1_17_295_GVR; static int hf_062_V1_17_295_GVR_VALUE; static const FieldPart I062_V1_17_295_GVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_GVR_VALUE, NULL }; static const FieldPart *I062_V1_17_295_GVR_PARTS[] = { &I062_V1_17_295_GVR_VALUE, NULL }; static const AsterixField I062_V1_17_295_GVR = { FIXED, 1, 0, 0, &hf_062_V1_17_295_GVR, I062_V1_17_295_GVR_PARTS, { NULL } }; static int hf_062_V1_17_295_RAN; static int hf_062_V1_17_295_RAN_VALUE; static const FieldPart I062_V1_17_295_RAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_RAN_VALUE, NULL }; static const FieldPart *I062_V1_17_295_RAN_PARTS[] = { &I062_V1_17_295_RAN_VALUE, NULL }; static const AsterixField I062_V1_17_295_RAN = { FIXED, 1, 0, 0, &hf_062_V1_17_295_RAN, I062_V1_17_295_RAN_PARTS, { NULL } }; static int hf_062_V1_17_295_TAR; static int hf_062_V1_17_295_TAR_VALUE; static const FieldPart I062_V1_17_295_TAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_TAR_VALUE, NULL }; static const FieldPart *I062_V1_17_295_TAR_PARTS[] = { &I062_V1_17_295_TAR_VALUE, NULL }; static const AsterixField I062_V1_17_295_TAR = { FIXED, 1, 0, 0, &hf_062_V1_17_295_TAR, I062_V1_17_295_TAR_PARTS, { NULL } }; static int hf_062_V1_17_295_TAN; static int hf_062_V1_17_295_TAN_VALUE; static const FieldPart I062_V1_17_295_TAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_TAN_VALUE, NULL }; static const FieldPart *I062_V1_17_295_TAN_PARTS[] = { &I062_V1_17_295_TAN_VALUE, NULL }; static const AsterixField I062_V1_17_295_TAN = { FIXED, 1, 0, 0, &hf_062_V1_17_295_TAN, I062_V1_17_295_TAN_PARTS, { NULL } }; static int hf_062_V1_17_295_GSP; static int hf_062_V1_17_295_GSP_VALUE; static const FieldPart I062_V1_17_295_GSP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_GSP_VALUE, NULL }; static const FieldPart *I062_V1_17_295_GSP_PARTS[] = { &I062_V1_17_295_GSP_VALUE, NULL }; static const AsterixField I062_V1_17_295_GSP = { FIXED, 1, 0, 0, &hf_062_V1_17_295_GSP, I062_V1_17_295_GSP_PARTS, { NULL } }; static int hf_062_V1_17_295_VUN; static int hf_062_V1_17_295_VUN_VALUE; static const FieldPart I062_V1_17_295_VUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_VUN_VALUE, NULL }; static const FieldPart *I062_V1_17_295_VUN_PARTS[] = { &I062_V1_17_295_VUN_VALUE, NULL }; static const AsterixField I062_V1_17_295_VUN = { FIXED, 1, 0, 0, &hf_062_V1_17_295_VUN, I062_V1_17_295_VUN_PARTS, { NULL } }; static int hf_062_V1_17_295_MET; static int hf_062_V1_17_295_MET_VALUE; static const FieldPart I062_V1_17_295_MET_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MET_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MET_PARTS[] = { &I062_V1_17_295_MET_VALUE, NULL }; static const AsterixField I062_V1_17_295_MET = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MET, I062_V1_17_295_MET_PARTS, { NULL } }; static int hf_062_V1_17_295_EMC; static int hf_062_V1_17_295_EMC_VALUE; static const FieldPart I062_V1_17_295_EMC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_EMC_VALUE, NULL }; static const FieldPart *I062_V1_17_295_EMC_PARTS[] = { &I062_V1_17_295_EMC_VALUE, NULL }; static const AsterixField I062_V1_17_295_EMC = { FIXED, 1, 0, 0, &hf_062_V1_17_295_EMC, I062_V1_17_295_EMC_PARTS, { NULL } }; static int hf_062_V1_17_295_POS; static int hf_062_V1_17_295_POS_VALUE; static const FieldPart I062_V1_17_295_POS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_POS_VALUE, NULL }; static const FieldPart *I062_V1_17_295_POS_PARTS[] = { &I062_V1_17_295_POS_VALUE, NULL }; static const AsterixField I062_V1_17_295_POS = { FIXED, 1, 0, 0, &hf_062_V1_17_295_POS, I062_V1_17_295_POS_PARTS, { NULL } }; static int hf_062_V1_17_295_GAL; static int hf_062_V1_17_295_GAL_VALUE; static const FieldPart I062_V1_17_295_GAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_GAL_VALUE, NULL }; static const FieldPart *I062_V1_17_295_GAL_PARTS[] = { &I062_V1_17_295_GAL_VALUE, NULL }; static const AsterixField I062_V1_17_295_GAL = { FIXED, 1, 0, 0, &hf_062_V1_17_295_GAL, I062_V1_17_295_GAL_PARTS, { NULL } }; static int hf_062_V1_17_295_PUN; static int hf_062_V1_17_295_PUN_VALUE; static const FieldPart I062_V1_17_295_PUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_PUN_VALUE, NULL }; static const FieldPart *I062_V1_17_295_PUN_PARTS[] = { &I062_V1_17_295_PUN_VALUE, NULL }; static const AsterixField I062_V1_17_295_PUN = { FIXED, 1, 0, 0, &hf_062_V1_17_295_PUN, I062_V1_17_295_PUN_PARTS, { NULL } }; static int hf_062_V1_17_295_MB; static int hf_062_V1_17_295_MB_VALUE; static const FieldPart I062_V1_17_295_MB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MB_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MB_PARTS[] = { &I062_V1_17_295_MB_VALUE, NULL }; static const AsterixField I062_V1_17_295_MB = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MB, I062_V1_17_295_MB_PARTS, { NULL } }; static int hf_062_V1_17_295_IAR; static int hf_062_V1_17_295_IAR_VALUE; static const FieldPart I062_V1_17_295_IAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_IAR_VALUE, NULL }; static const FieldPart *I062_V1_17_295_IAR_PARTS[] = { &I062_V1_17_295_IAR_VALUE, NULL }; static const AsterixField I062_V1_17_295_IAR = { FIXED, 1, 0, 0, &hf_062_V1_17_295_IAR, I062_V1_17_295_IAR_PARTS, { NULL } }; static int hf_062_V1_17_295_MAC; static int hf_062_V1_17_295_MAC_VALUE; static const FieldPart I062_V1_17_295_MAC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_MAC_VALUE, NULL }; static const FieldPart *I062_V1_17_295_MAC_PARTS[] = { &I062_V1_17_295_MAC_VALUE, NULL }; static const AsterixField I062_V1_17_295_MAC = { FIXED, 1, 0, 0, &hf_062_V1_17_295_MAC, I062_V1_17_295_MAC_PARTS, { NULL } }; static int hf_062_V1_17_295_BPS; static int hf_062_V1_17_295_BPS_VALUE; static const FieldPart I062_V1_17_295_BPS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_295_BPS_VALUE, NULL }; static const FieldPart *I062_V1_17_295_BPS_PARTS[] = { &I062_V1_17_295_BPS_VALUE, NULL }; static const AsterixField I062_V1_17_295_BPS = { FIXED, 1, 0, 0, &hf_062_V1_17_295_BPS, I062_V1_17_295_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_17_295 = { COMPOUND, 0, 0, 0, &hf_062_V1_17_295, NULL, { &I062_V1_17_295_MFL, &I062_V1_17_295_MD1, &I062_V1_17_295_MD2, &I062_V1_17_295_MDA, &I062_V1_17_295_MD4, &I062_V1_17_295_MD5, &I062_V1_17_295_MHG, &I062_V1_17_295_IAS, &I062_V1_17_295_TAS, &I062_V1_17_295_SAL, &I062_V1_17_295_FSS, &I062_V1_17_295_TID, &I062_V1_17_295_COM, &I062_V1_17_295_SAB, &I062_V1_17_295_ACS, &I062_V1_17_295_BVR, &I062_V1_17_295_GVR, &I062_V1_17_295_RAN, &I062_V1_17_295_TAR, &I062_V1_17_295_TAN, &I062_V1_17_295_GSP, &I062_V1_17_295_VUN, &I062_V1_17_295_MET, &I062_V1_17_295_EMC, &I062_V1_17_295_POS, &I062_V1_17_295_GAL, &I062_V1_17_295_PUN, &I062_V1_17_295_MB, &I062_V1_17_295_IAR, &I062_V1_17_295_MAC, &I062_V1_17_295_BPS, NULL } }; static int hf_062_V1_17_300; static int hf_062_V1_17_300_VALUE; static const value_string valstr_062_V1_17_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I062_V1_17_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_17_300_VALUE, NULL }; static const FieldPart *I062_V1_17_300_PARTS[] = { &I062_V1_17_300_VALUE, NULL }; static const AsterixField I062_V1_17_300 = { FIXED, 1, 0, 0, &hf_062_V1_17_300, I062_V1_17_300_PARTS, { NULL } }; static int hf_062_V1_17_340; static int hf_062_V1_17_340_SID; static int hf_062_V1_17_340_SID_SAC; static const FieldPart I062_V1_17_340_SID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_340_SID_SAC, NULL }; static int hf_062_V1_17_340_SID_SIC; static const FieldPart I062_V1_17_340_SID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_340_SID_SIC, NULL }; static const FieldPart *I062_V1_17_340_SID_PARTS[] = { &I062_V1_17_340_SID_SAC, &I062_V1_17_340_SID_SIC, NULL }; static const AsterixField I062_V1_17_340_SID = { FIXED, 2, 0, 0, &hf_062_V1_17_340_SID, I062_V1_17_340_SID_PARTS, { NULL } }; static int hf_062_V1_17_340_POS; static int hf_062_V1_17_340_POS_RHO; static const FieldPart I062_V1_17_340_POS_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_062_V1_17_340_POS_RHO, NULL }; static int hf_062_V1_17_340_POS_THETA; static const FieldPart I062_V1_17_340_POS_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_17_340_POS_THETA, NULL }; static const FieldPart *I062_V1_17_340_POS_PARTS[] = { &I062_V1_17_340_POS_RHO, &I062_V1_17_340_POS_THETA, NULL }; static const AsterixField I062_V1_17_340_POS = { FIXED, 4, 0, 0, &hf_062_V1_17_340_POS, I062_V1_17_340_POS_PARTS, { NULL } }; static int hf_062_V1_17_340_HEIGHT; static int hf_062_V1_17_340_HEIGHT_VALUE; static const FieldPart I062_V1_17_340_HEIGHT_VALUE = { 16, 25.0, FIELD_PART_UFLOAT, &hf_062_V1_17_340_HEIGHT_VALUE, NULL }; static const FieldPart *I062_V1_17_340_HEIGHT_PARTS[] = { &I062_V1_17_340_HEIGHT_VALUE, NULL }; static const AsterixField I062_V1_17_340_HEIGHT = { FIXED, 2, 0, 0, &hf_062_V1_17_340_HEIGHT, I062_V1_17_340_HEIGHT_PARTS, { NULL } }; static int hf_062_V1_17_340_MDC; static int hf_062_V1_17_340_MDC_V; static const value_string valstr_062_V1_17_340_MDC_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_MDC_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_MDC_V, NULL }; static int hf_062_V1_17_340_MDC_G; static const value_string valstr_062_V1_17_340_MDC_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_MDC_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_MDC_G, NULL }; static int hf_062_V1_17_340_MDC_LMC; static const FieldPart I062_V1_17_340_MDC_LMC = { 14, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_340_MDC_LMC, NULL }; static const FieldPart *I062_V1_17_340_MDC_PARTS[] = { &I062_V1_17_340_MDC_V, &I062_V1_17_340_MDC_G, &I062_V1_17_340_MDC_LMC, NULL }; static const AsterixField I062_V1_17_340_MDC = { FIXED, 2, 0, 0, &hf_062_V1_17_340_MDC, I062_V1_17_340_MDC_PARTS, { NULL } }; static int hf_062_V1_17_340_MDA; static int hf_062_V1_17_340_MDA_V; static const value_string valstr_062_V1_17_340_MDA_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_MDA_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_MDA_V, NULL }; static int hf_062_V1_17_340_MDA_G; static const value_string valstr_062_V1_17_340_MDA_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_MDA_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_MDA_G, NULL }; static int hf_062_V1_17_340_MDA_L; static const value_string valstr_062_V1_17_340_MDA_L[] = { { 0, "Mode 3/A code as derived from the reply of the transponder" }, { 1, "Mode 3/A code as provided by a sensor local tracker" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_MDA_L = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_MDA_L, NULL }; static int hf_062_V1_17_340_MDA_MODE3A; static const FieldPart I062_V1_17_340_MDA_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_17_340_MDA_MODE3A, NULL }; static const FieldPart *I062_V1_17_340_MDA_PARTS[] = { &I062_V1_17_340_MDA_V, &I062_V1_17_340_MDA_G, &I062_V1_17_340_MDA_L, &IXXX_1bit_spare, &I062_V1_17_340_MDA_MODE3A, NULL }; static const AsterixField I062_V1_17_340_MDA = { FIXED, 2, 0, 0, &hf_062_V1_17_340_MDA, I062_V1_17_340_MDA_PARTS, { NULL } }; static int hf_062_V1_17_340_TYP; static int hf_062_V1_17_340_TYP_TYP; static const value_string valstr_062_V1_17_340_TYP_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call + PSR" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_TYP_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_TYP_TYP, NULL }; static int hf_062_V1_17_340_TYP_SIM; static const value_string valstr_062_V1_17_340_TYP_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_TYP_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_TYP_SIM, NULL }; static int hf_062_V1_17_340_TYP_RAB; static const value_string valstr_062_V1_17_340_TYP_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (item transponder)" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_TYP_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_TYP_RAB, NULL }; static int hf_062_V1_17_340_TYP_TST; static const value_string valstr_062_V1_17_340_TYP_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I062_V1_17_340_TYP_TST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_340_TYP_TST, NULL }; static const FieldPart *I062_V1_17_340_TYP_PARTS[] = { &I062_V1_17_340_TYP_TYP, &I062_V1_17_340_TYP_SIM, &I062_V1_17_340_TYP_RAB, &I062_V1_17_340_TYP_TST, &IXXX_2bit_spare, NULL }; static const AsterixField I062_V1_17_340_TYP = { FIXED, 1, 0, 0, &hf_062_V1_17_340_TYP, I062_V1_17_340_TYP_PARTS, { NULL } }; static const AsterixField I062_V1_17_340 = { COMPOUND, 0, 0, 0, &hf_062_V1_17_340, NULL, { &I062_V1_17_340_SID, &I062_V1_17_340_POS, &I062_V1_17_340_HEIGHT, &I062_V1_17_340_MDC, &I062_V1_17_340_MDA, &I062_V1_17_340_TYP, NULL } }; static int hf_062_V1_17_380; static int hf_062_V1_17_380_ADR; static int hf_062_V1_17_380_ADR_VALUE; static const FieldPart I062_V1_17_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_ADR_VALUE, NULL }; static const FieldPart *I062_V1_17_380_ADR_PARTS[] = { &I062_V1_17_380_ADR_VALUE, NULL }; static const AsterixField I062_V1_17_380_ADR = { FIXED, 3, 0, 0, &hf_062_V1_17_380_ADR, I062_V1_17_380_ADR_PARTS, { NULL } }; static int hf_062_V1_17_380_ID; static int hf_062_V1_17_380_ID_VALUE; static const FieldPart I062_V1_17_380_ID_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_17_380_ID_VALUE, NULL }; static const FieldPart *I062_V1_17_380_ID_PARTS[] = { &I062_V1_17_380_ID_VALUE, NULL }; static const AsterixField I062_V1_17_380_ID = { FIXED, 6, 0, 0, &hf_062_V1_17_380_ID, I062_V1_17_380_ID_PARTS, { NULL } }; static int hf_062_V1_17_380_MHG; static int hf_062_V1_17_380_MHG_VALUE; static const FieldPart I062_V1_17_380_MHG_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_17_380_MHG_VALUE, NULL }; static const FieldPart *I062_V1_17_380_MHG_PARTS[] = { &I062_V1_17_380_MHG_VALUE, NULL }; static const AsterixField I062_V1_17_380_MHG = { FIXED, 2, 0, 0, &hf_062_V1_17_380_MHG, I062_V1_17_380_MHG_PARTS, { NULL } }; static int hf_062_V1_17_380_IAS; static int hf_062_V1_17_380_IAS_IM; static const value_string valstr_062_V1_17_380_IAS_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2^-14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_IAS_IM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_IAS_IM, NULL }; static int hf_062_V1_17_380_IAS_IAS; static const FieldPart I062_V1_17_380_IAS_IAS = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_IAS_IAS, NULL }; static const FieldPart *I062_V1_17_380_IAS_PARTS[] = { &I062_V1_17_380_IAS_IM, &I062_V1_17_380_IAS_IAS, NULL }; static const AsterixField I062_V1_17_380_IAS = { FIXED, 2, 0, 0, &hf_062_V1_17_380_IAS, I062_V1_17_380_IAS_PARTS, { NULL } }; static int hf_062_V1_17_380_TAS; static int hf_062_V1_17_380_TAS_VALUE; static const FieldPart I062_V1_17_380_TAS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_17_380_TAS_VALUE, NULL }; static const FieldPart *I062_V1_17_380_TAS_PARTS[] = { &I062_V1_17_380_TAS_VALUE, NULL }; static const AsterixField I062_V1_17_380_TAS = { FIXED, 2, 0, 0, &hf_062_V1_17_380_TAS, I062_V1_17_380_TAS_PARTS, { NULL } }; static int hf_062_V1_17_380_SAL; static int hf_062_V1_17_380_SAL_SAS; static const value_string valstr_062_V1_17_380_SAL_SAS[] = { { 0, "No source information provided" }, { 1, "Source information provided" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_SAL_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_SAL_SAS, NULL }; static int hf_062_V1_17_380_SAL_SRC; static const value_string valstr_062_V1_17_380_SAL_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft altitude" }, { 2, "FCU/MCP selected altitude" }, { 3, "FMS selected altitude" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_SAL_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_SAL_SRC, NULL }; static int hf_062_V1_17_380_SAL_ALT; static const FieldPart I062_V1_17_380_SAL_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_17_380_SAL_ALT, NULL }; static const FieldPart *I062_V1_17_380_SAL_PARTS[] = { &I062_V1_17_380_SAL_SAS, &I062_V1_17_380_SAL_SRC, &I062_V1_17_380_SAL_ALT, NULL }; static const AsterixField I062_V1_17_380_SAL = { FIXED, 2, 0, 0, &hf_062_V1_17_380_SAL, I062_V1_17_380_SAL_PARTS, { NULL } }; static int hf_062_V1_17_380_FSS; static int hf_062_V1_17_380_FSS_MV; static const value_string valstr_062_V1_17_380_FSS_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_FSS_MV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_FSS_MV, NULL }; static int hf_062_V1_17_380_FSS_AH; static const value_string valstr_062_V1_17_380_FSS_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_FSS_AH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_FSS_AH, NULL }; static int hf_062_V1_17_380_FSS_AM; static const value_string valstr_062_V1_17_380_FSS_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_FSS_AM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_FSS_AM, NULL }; static int hf_062_V1_17_380_FSS_ALT; static const FieldPart I062_V1_17_380_FSS_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_17_380_FSS_ALT, NULL }; static const FieldPart *I062_V1_17_380_FSS_PARTS[] = { &I062_V1_17_380_FSS_MV, &I062_V1_17_380_FSS_AH, &I062_V1_17_380_FSS_AM, &I062_V1_17_380_FSS_ALT, NULL }; static const AsterixField I062_V1_17_380_FSS = { FIXED, 2, 0, 0, &hf_062_V1_17_380_FSS, I062_V1_17_380_FSS_PARTS, { NULL } }; static int hf_062_V1_17_380_TIS; static int hf_062_V1_17_380_TIS_NAV; static const value_string valstr_062_V1_17_380_TIS_NAV[] = { { 0, "Trajectory intent data is available for this aircraft" }, { 1, "Trajectory intent data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TIS_NAV, NULL }; static int hf_062_V1_17_380_TIS_NVB; static const value_string valstr_062_V1_17_380_TIS_NVB[] = { { 0, "Trajectory intent data is valid" }, { 1, "Trajectory intent data is not valid" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TIS_NVB, NULL }; static const FieldPart *I062_V1_17_380_TIS_PARTS[] = { &I062_V1_17_380_TIS_NAV, &I062_V1_17_380_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_V1_17_380_TIS = { FX, 1, 0, 0, &hf_062_V1_17_380_TIS, I062_V1_17_380_TIS_PARTS, { NULL } }; static int hf_062_V1_17_380_TID; static int hf_062_V1_17_380_TID_TCA; static const value_string valstr_062_V1_17_380_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TID_TCA, NULL }; static int hf_062_V1_17_380_TID_NC; static const value_string valstr_062_V1_17_380_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TID_NC, NULL }; static int hf_062_V1_17_380_TID_TCPN; static const FieldPart I062_V1_17_380_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_TID_TCPN, NULL }; static int hf_062_V1_17_380_TID_ALT; static const FieldPart I062_V1_17_380_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_062_V1_17_380_TID_ALT, NULL }; static int hf_062_V1_17_380_TID_LAT; static const FieldPart I062_V1_17_380_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_17_380_TID_LAT, NULL }; static int hf_062_V1_17_380_TID_LON; static const FieldPart I062_V1_17_380_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_17_380_TID_LON, NULL }; static int hf_062_V1_17_380_TID_PT; static const value_string valstr_062_V1_17_380_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TID_PT, NULL }; static int hf_062_V1_17_380_TID_TD; static const value_string valstr_062_V1_17_380_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TID_TD, NULL }; static int hf_062_V1_17_380_TID_TRA; static const value_string valstr_062_V1_17_380_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TID_TRA, NULL }; static int hf_062_V1_17_380_TID_TOA; static const value_string valstr_062_V1_17_380_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TID_TOA, NULL }; static int hf_062_V1_17_380_TID_TOV; static const FieldPart I062_V1_17_380_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_17_380_TID_TOV, NULL }; static int hf_062_V1_17_380_TID_TTR; static const FieldPart I062_V1_17_380_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_062_V1_17_380_TID_TTR, NULL }; static const FieldPart *I062_V1_17_380_TID_PARTS[] = { &I062_V1_17_380_TID_TCA, &I062_V1_17_380_TID_NC, &I062_V1_17_380_TID_TCPN, &I062_V1_17_380_TID_ALT, &I062_V1_17_380_TID_LAT, &I062_V1_17_380_TID_LON, &I062_V1_17_380_TID_PT, &I062_V1_17_380_TID_TD, &I062_V1_17_380_TID_TRA, &I062_V1_17_380_TID_TOA, &I062_V1_17_380_TID_TOV, &I062_V1_17_380_TID_TTR, NULL }; static const AsterixField I062_V1_17_380_TID = { REPETITIVE, 15, 1, 0, &hf_062_V1_17_380_TID, I062_V1_17_380_TID_PARTS, { NULL } }; static int hf_062_V1_17_380_COM; static int hf_062_V1_17_380_COM_COM; static const value_string valstr_062_V1_17_380_COM_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_COM_COM = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_COM_COM, NULL }; static int hf_062_V1_17_380_COM_STAT; static const value_string valstr_062_V1_17_380_COM_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_COM_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_COM_STAT, NULL }; static int hf_062_V1_17_380_COM_SSC; static const value_string valstr_062_V1_17_380_COM_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_COM_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_COM_SSC, NULL }; static int hf_062_V1_17_380_COM_ARC; static const value_string valstr_062_V1_17_380_COM_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_COM_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_COM_ARC, NULL }; static int hf_062_V1_17_380_COM_AIC; static const value_string valstr_062_V1_17_380_COM_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_COM_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_COM_AIC, NULL }; static int hf_062_V1_17_380_COM_B1A; static const FieldPart I062_V1_17_380_COM_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_COM_B1A, NULL }; static int hf_062_V1_17_380_COM_B1B; static const FieldPart I062_V1_17_380_COM_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_COM_B1B, NULL }; static const FieldPart *I062_V1_17_380_COM_PARTS[] = { &I062_V1_17_380_COM_COM, &I062_V1_17_380_COM_STAT, &IXXX_2bit_spare, &I062_V1_17_380_COM_SSC, &I062_V1_17_380_COM_ARC, &I062_V1_17_380_COM_AIC, &I062_V1_17_380_COM_B1A, &I062_V1_17_380_COM_B1B, NULL }; static const AsterixField I062_V1_17_380_COM = { FIXED, 2, 0, 0, &hf_062_V1_17_380_COM, I062_V1_17_380_COM_PARTS, { NULL } }; static int hf_062_V1_17_380_SAB; static int hf_062_V1_17_380_SAB_AC; static const value_string valstr_062_V1_17_380_SAB_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operational" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_SAB_AC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_SAB_AC, NULL }; static int hf_062_V1_17_380_SAB_MN; static const value_string valstr_062_V1_17_380_SAB_MN[] = { { 0, "Unknown" }, { 1, "Multiple navigational aids not operating" }, { 2, "Multiple navigational aids operating" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_SAB_MN = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_SAB_MN, NULL }; static int hf_062_V1_17_380_SAB_DC; static const value_string valstr_062_V1_17_380_SAB_DC[] = { { 0, "Unknown" }, { 1, "Differential correction" }, { 2, "No differential correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_SAB_DC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_SAB_DC, NULL }; static int hf_062_V1_17_380_SAB_GBS; static const value_string valstr_062_V1_17_380_SAB_GBS[] = { { 0, "Transponder ground bit not set or unknown" }, { 1, "Transponder Ground Bit set" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_SAB_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_SAB_GBS, NULL }; static int hf_062_V1_17_380_SAB_STAT; static const value_string valstr_062_V1_17_380_SAB_STAT[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_SAB_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_SAB_STAT, NULL }; static const FieldPart *I062_V1_17_380_SAB_PARTS[] = { &I062_V1_17_380_SAB_AC, &I062_V1_17_380_SAB_MN, &I062_V1_17_380_SAB_DC, &I062_V1_17_380_SAB_GBS, &IXXX_6bit_spare, &I062_V1_17_380_SAB_STAT, NULL }; static const AsterixField I062_V1_17_380_SAB = { FIXED, 2, 0, 0, &hf_062_V1_17_380_SAB, I062_V1_17_380_SAB_PARTS, { NULL } }; static int hf_062_V1_17_380_ACS; static int hf_062_V1_17_380_ACS_VALUE; static const FieldPart I062_V1_17_380_ACS_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_ACS_VALUE, NULL }; static const FieldPart *I062_V1_17_380_ACS_PARTS[] = { &I062_V1_17_380_ACS_VALUE, NULL }; static const AsterixField I062_V1_17_380_ACS = { FIXED, 7, 0, 0, &hf_062_V1_17_380_ACS, I062_V1_17_380_ACS_PARTS, { NULL } }; static int hf_062_V1_17_380_BVR; static int hf_062_V1_17_380_BVR_VALUE; static const FieldPart I062_V1_17_380_BVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_17_380_BVR_VALUE, NULL }; static const FieldPart *I062_V1_17_380_BVR_PARTS[] = { &I062_V1_17_380_BVR_VALUE, NULL }; static const AsterixField I062_V1_17_380_BVR = { FIXED, 2, 0, 0, &hf_062_V1_17_380_BVR, I062_V1_17_380_BVR_PARTS, { NULL } }; static int hf_062_V1_17_380_GVR; static int hf_062_V1_17_380_GVR_VALUE; static const FieldPart I062_V1_17_380_GVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_17_380_GVR_VALUE, NULL }; static const FieldPart *I062_V1_17_380_GVR_PARTS[] = { &I062_V1_17_380_GVR_VALUE, NULL }; static const AsterixField I062_V1_17_380_GVR = { FIXED, 2, 0, 0, &hf_062_V1_17_380_GVR, I062_V1_17_380_GVR_PARTS, { NULL } }; static int hf_062_V1_17_380_RAN; static int hf_062_V1_17_380_RAN_VALUE; static const FieldPart I062_V1_17_380_RAN_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_062_V1_17_380_RAN_VALUE, NULL }; static const FieldPart *I062_V1_17_380_RAN_PARTS[] = { &I062_V1_17_380_RAN_VALUE, NULL }; static const AsterixField I062_V1_17_380_RAN = { FIXED, 2, 0, 0, &hf_062_V1_17_380_RAN, I062_V1_17_380_RAN_PARTS, { NULL } }; static int hf_062_V1_17_380_TAR; static int hf_062_V1_17_380_TAR_TI; static const value_string valstr_062_V1_17_380_TAR_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_TAR_TI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_TAR_TI, NULL }; static int hf_062_V1_17_380_TAR_ROT; static const FieldPart I062_V1_17_380_TAR_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_380_TAR_ROT, NULL }; static const FieldPart *I062_V1_17_380_TAR_PARTS[] = { &I062_V1_17_380_TAR_TI, &IXXX_6bit_spare, &I062_V1_17_380_TAR_ROT, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_17_380_TAR = { FIXED, 2, 0, 0, &hf_062_V1_17_380_TAR, I062_V1_17_380_TAR_PARTS, { NULL } }; static int hf_062_V1_17_380_TAN; static int hf_062_V1_17_380_TAN_VALUE; static const FieldPart I062_V1_17_380_TAN_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_17_380_TAN_VALUE, NULL }; static const FieldPart *I062_V1_17_380_TAN_PARTS[] = { &I062_V1_17_380_TAN_VALUE, NULL }; static const AsterixField I062_V1_17_380_TAN = { FIXED, 2, 0, 0, &hf_062_V1_17_380_TAN, I062_V1_17_380_TAN_PARTS, { NULL } }; static int hf_062_V1_17_380_GS; static int hf_062_V1_17_380_GS_VALUE; static const FieldPart I062_V1_17_380_GS_VALUE = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_062_V1_17_380_GS_VALUE, NULL }; static const FieldPart *I062_V1_17_380_GS_PARTS[] = { &I062_V1_17_380_GS_VALUE, NULL }; static const AsterixField I062_V1_17_380_GS = { FIXED, 2, 0, 0, &hf_062_V1_17_380_GS, I062_V1_17_380_GS_PARTS, { NULL } }; static int hf_062_V1_17_380_VUN; static int hf_062_V1_17_380_VUN_VALUE; static const FieldPart I062_V1_17_380_VUN_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_VUN_VALUE, NULL }; static const FieldPart *I062_V1_17_380_VUN_PARTS[] = { &I062_V1_17_380_VUN_VALUE, NULL }; static const AsterixField I062_V1_17_380_VUN = { FIXED, 1, 0, 0, &hf_062_V1_17_380_VUN, I062_V1_17_380_VUN_PARTS, { NULL } }; static int hf_062_V1_17_380_MET; static int hf_062_V1_17_380_MET_WS; static const value_string valstr_062_V1_17_380_MET_WS[] = { { 0, "Not valid Wind Speed" }, { 1, "Valid Wind Speed" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_MET_WS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_MET_WS, NULL }; static int hf_062_V1_17_380_MET_WD; static const value_string valstr_062_V1_17_380_MET_WD[] = { { 0, "Not valid Wind Direction" }, { 1, "Valid Wind Direction" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_MET_WD = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_MET_WD, NULL }; static int hf_062_V1_17_380_MET_TMP; static const value_string valstr_062_V1_17_380_MET_TMP[] = { { 0, "Not valid Temperature" }, { 1, "Valid Temperature" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_MET_TMP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_MET_TMP, NULL }; static int hf_062_V1_17_380_MET_TRB; static const value_string valstr_062_V1_17_380_MET_TRB[] = { { 0, "Not valid Turbulence" }, { 1, "Valid Turbulence" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_MET_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_MET_TRB, NULL }; static int hf_062_V1_17_380_MET_WSD; static const FieldPart I062_V1_17_380_MET_WSD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_17_380_MET_WSD, NULL }; static int hf_062_V1_17_380_MET_WDD; static const FieldPart I062_V1_17_380_MET_WDD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_17_380_MET_WDD, NULL }; static int hf_062_V1_17_380_MET_TMPD; static const FieldPart I062_V1_17_380_MET_TMPD = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_17_380_MET_TMPD, NULL }; static int hf_062_V1_17_380_MET_TRBD; static const FieldPart I062_V1_17_380_MET_TRBD = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_MET_TRBD, NULL }; static const FieldPart *I062_V1_17_380_MET_PARTS[] = { &I062_V1_17_380_MET_WS, &I062_V1_17_380_MET_WD, &I062_V1_17_380_MET_TMP, &I062_V1_17_380_MET_TRB, &IXXX_4bit_spare, &I062_V1_17_380_MET_WSD, &I062_V1_17_380_MET_WDD, &I062_V1_17_380_MET_TMPD, &I062_V1_17_380_MET_TRBD, NULL }; static const AsterixField I062_V1_17_380_MET = { FIXED, 8, 0, 0, &hf_062_V1_17_380_MET, I062_V1_17_380_MET_PARTS, { NULL } }; static int hf_062_V1_17_380_EMC; static int hf_062_V1_17_380_EMC_VALUE; static const value_string valstr_062_V1_17_380_EMC_VALUE[] = { { 1, "Light aircraft =< 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I062_V1_17_380_EMC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_17_380_EMC_VALUE, NULL }; static const FieldPart *I062_V1_17_380_EMC_PARTS[] = { &I062_V1_17_380_EMC_VALUE, NULL }; static const AsterixField I062_V1_17_380_EMC = { FIXED, 1, 0, 0, &hf_062_V1_17_380_EMC, I062_V1_17_380_EMC_PARTS, { NULL } }; static int hf_062_V1_17_380_POS; static int hf_062_V1_17_380_POS_LAT; static const FieldPart I062_V1_17_380_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_17_380_POS_LAT, NULL }; static int hf_062_V1_17_380_POS_LON; static const FieldPart I062_V1_17_380_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_17_380_POS_LON, NULL }; static const FieldPart *I062_V1_17_380_POS_PARTS[] = { &I062_V1_17_380_POS_LAT, &I062_V1_17_380_POS_LON, NULL }; static const AsterixField I062_V1_17_380_POS = { FIXED, 6, 0, 0, &hf_062_V1_17_380_POS, I062_V1_17_380_POS_PARTS, { NULL } }; static int hf_062_V1_17_380_GAL; static int hf_062_V1_17_380_GAL_VALUE; static const FieldPart I062_V1_17_380_GAL_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_17_380_GAL_VALUE, NULL }; static const FieldPart *I062_V1_17_380_GAL_PARTS[] = { &I062_V1_17_380_GAL_VALUE, NULL }; static const AsterixField I062_V1_17_380_GAL = { FIXED, 2, 0, 0, &hf_062_V1_17_380_GAL, I062_V1_17_380_GAL_PARTS, { NULL } }; static int hf_062_V1_17_380_PUN; static int hf_062_V1_17_380_PUN_PUN; static const FieldPart I062_V1_17_380_PUN_PUN = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_PUN_PUN, NULL }; static const FieldPart *I062_V1_17_380_PUN_PARTS[] = { &IXXX_4bit_spare, &I062_V1_17_380_PUN_PUN, NULL }; static const AsterixField I062_V1_17_380_PUN = { FIXED, 1, 0, 0, &hf_062_V1_17_380_PUN, I062_V1_17_380_PUN_PARTS, { NULL } }; static int hf_062_V1_17_380_MB; static int hf_062_V1_17_380_MB_VALUE; static const FieldPart I062_V1_17_380_MB_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_062_V1_17_380_MB_VALUE, NULL }; static const FieldPart *I062_V1_17_380_MB_PARTS[] = { &I062_V1_17_380_MB_VALUE, NULL }; static const AsterixField I062_V1_17_380_MB = { REPETITIVE, 8, 1, 0, &hf_062_V1_17_380_MB, I062_V1_17_380_MB_PARTS, { NULL } }; static int hf_062_V1_17_380_IAR; static int hf_062_V1_17_380_IAR_VALUE; static const FieldPart I062_V1_17_380_IAR_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_17_380_IAR_VALUE, NULL }; static const FieldPart *I062_V1_17_380_IAR_PARTS[] = { &I062_V1_17_380_IAR_VALUE, NULL }; static const AsterixField I062_V1_17_380_IAR = { FIXED, 2, 0, 0, &hf_062_V1_17_380_IAR, I062_V1_17_380_IAR_PARTS, { NULL } }; static int hf_062_V1_17_380_MAC; static int hf_062_V1_17_380_MAC_VALUE; static const FieldPart I062_V1_17_380_MAC_VALUE = { 16, 0.008, FIELD_PART_UFLOAT, &hf_062_V1_17_380_MAC_VALUE, NULL }; static const FieldPart *I062_V1_17_380_MAC_PARTS[] = { &I062_V1_17_380_MAC_VALUE, NULL }; static const AsterixField I062_V1_17_380_MAC = { FIXED, 2, 0, 0, &hf_062_V1_17_380_MAC, I062_V1_17_380_MAC_PARTS, { NULL } }; static int hf_062_V1_17_380_BPS; static int hf_062_V1_17_380_BPS_BPS; static const FieldPart I062_V1_17_380_BPS_BPS = { 12, 0.1, FIELD_PART_UFLOAT, &hf_062_V1_17_380_BPS_BPS, NULL }; static const FieldPart *I062_V1_17_380_BPS_PARTS[] = { &IXXX_4bit_spare, &I062_V1_17_380_BPS_BPS, NULL }; static const AsterixField I062_V1_17_380_BPS = { FIXED, 2, 0, 0, &hf_062_V1_17_380_BPS, I062_V1_17_380_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_17_380 = { COMPOUND, 0, 0, 0, &hf_062_V1_17_380, NULL, { &I062_V1_17_380_ADR, &I062_V1_17_380_ID, &I062_V1_17_380_MHG, &I062_V1_17_380_IAS, &I062_V1_17_380_TAS, &I062_V1_17_380_SAL, &I062_V1_17_380_FSS, &I062_V1_17_380_TIS, &I062_V1_17_380_TID, &I062_V1_17_380_COM, &I062_V1_17_380_SAB, &I062_V1_17_380_ACS, &I062_V1_17_380_BVR, &I062_V1_17_380_GVR, &I062_V1_17_380_RAN, &I062_V1_17_380_TAR, &I062_V1_17_380_TAN, &I062_V1_17_380_GS, &I062_V1_17_380_VUN, &I062_V1_17_380_MET, &I062_V1_17_380_EMC, &I062_V1_17_380_POS, &I062_V1_17_380_GAL, &I062_V1_17_380_PUN, &I062_V1_17_380_MB, &I062_V1_17_380_IAR, &I062_V1_17_380_MAC, &I062_V1_17_380_BPS, NULL } }; static int hf_062_V1_17_390; static int hf_062_V1_17_390_TAG; static int hf_062_V1_17_390_TAG_SAC; static const FieldPart I062_V1_17_390_TAG_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_390_TAG_SAC, NULL }; static int hf_062_V1_17_390_TAG_SIC; static const FieldPart I062_V1_17_390_TAG_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_390_TAG_SIC, NULL }; static const FieldPart *I062_V1_17_390_TAG_PARTS[] = { &I062_V1_17_390_TAG_SAC, &I062_V1_17_390_TAG_SIC, NULL }; static const AsterixField I062_V1_17_390_TAG = { FIXED, 2, 0, 0, &hf_062_V1_17_390_TAG, I062_V1_17_390_TAG_PARTS, { NULL } }; static int hf_062_V1_17_390_CS; static int hf_062_V1_17_390_CS_VALUE; static const FieldPart I062_V1_17_390_CS_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_CS_VALUE, NULL }; static const FieldPart *I062_V1_17_390_CS_PARTS[] = { &I062_V1_17_390_CS_VALUE, NULL }; static const AsterixField I062_V1_17_390_CS = { FIXED, 7, 0, 0, &hf_062_V1_17_390_CS, I062_V1_17_390_CS_PARTS, { NULL } }; static int hf_062_V1_17_390_IFI; static int hf_062_V1_17_390_IFI_TYP; static const value_string valstr_062_V1_17_390_IFI_TYP[] = { { 0, "Plan Number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_IFI_TYP, NULL }; static int hf_062_V1_17_390_IFI_NBR; static const FieldPart I062_V1_17_390_IFI_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_IFI_NBR, NULL }; static const FieldPart *I062_V1_17_390_IFI_PARTS[] = { &I062_V1_17_390_IFI_TYP, &IXXX_3bit_spare, &I062_V1_17_390_IFI_NBR, NULL }; static const AsterixField I062_V1_17_390_IFI = { FIXED, 4, 0, 0, &hf_062_V1_17_390_IFI, I062_V1_17_390_IFI_PARTS, { NULL } }; static int hf_062_V1_17_390_FCT; static int hf_062_V1_17_390_FCT_GATOAT; static const value_string valstr_062_V1_17_390_FCT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_FCT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_FCT_GATOAT, NULL }; static int hf_062_V1_17_390_FCT_FR1FR2; static const value_string valstr_062_V1_17_390_FCT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight Rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_FCT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_FCT_FR1FR2, NULL }; static int hf_062_V1_17_390_FCT_RVSM; static const value_string valstr_062_V1_17_390_FCT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_FCT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_FCT_RVSM, NULL }; static int hf_062_V1_17_390_FCT_HPR; static const value_string valstr_062_V1_17_390_FCT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_FCT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_FCT_HPR, NULL }; static const FieldPart *I062_V1_17_390_FCT_PARTS[] = { &I062_V1_17_390_FCT_GATOAT, &I062_V1_17_390_FCT_FR1FR2, &I062_V1_17_390_FCT_RVSM, &I062_V1_17_390_FCT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_17_390_FCT = { FIXED, 1, 0, 0, &hf_062_V1_17_390_FCT, I062_V1_17_390_FCT_PARTS, { NULL } }; static int hf_062_V1_17_390_TAC; static int hf_062_V1_17_390_TAC_VALUE; static const FieldPart I062_V1_17_390_TAC_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_TAC_VALUE, NULL }; static const FieldPart *I062_V1_17_390_TAC_PARTS[] = { &I062_V1_17_390_TAC_VALUE, NULL }; static const AsterixField I062_V1_17_390_TAC = { FIXED, 4, 0, 0, &hf_062_V1_17_390_TAC, I062_V1_17_390_TAC_PARTS, { NULL } }; static int hf_062_V1_17_390_WTC; static int hf_062_V1_17_390_WTC_VALUE; static const FieldPart I062_V1_17_390_WTC_VALUE = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_WTC_VALUE, NULL }; static const FieldPart *I062_V1_17_390_WTC_PARTS[] = { &I062_V1_17_390_WTC_VALUE, NULL }; static const AsterixField I062_V1_17_390_WTC = { FIXED, 1, 0, 0, &hf_062_V1_17_390_WTC, I062_V1_17_390_WTC_PARTS, { NULL } }; static int hf_062_V1_17_390_DEP; static int hf_062_V1_17_390_DEP_VALUE; static const FieldPart I062_V1_17_390_DEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_DEP_VALUE, NULL }; static const FieldPart *I062_V1_17_390_DEP_PARTS[] = { &I062_V1_17_390_DEP_VALUE, NULL }; static const AsterixField I062_V1_17_390_DEP = { FIXED, 4, 0, 0, &hf_062_V1_17_390_DEP, I062_V1_17_390_DEP_PARTS, { NULL } }; static int hf_062_V1_17_390_DST; static int hf_062_V1_17_390_DST_VALUE; static const FieldPart I062_V1_17_390_DST_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_DST_VALUE, NULL }; static const FieldPart *I062_V1_17_390_DST_PARTS[] = { &I062_V1_17_390_DST_VALUE, NULL }; static const AsterixField I062_V1_17_390_DST = { FIXED, 4, 0, 0, &hf_062_V1_17_390_DST, I062_V1_17_390_DST_PARTS, { NULL } }; static int hf_062_V1_17_390_RDS; static int hf_062_V1_17_390_RDS_NU1; static const FieldPart I062_V1_17_390_RDS_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_RDS_NU1, NULL }; static int hf_062_V1_17_390_RDS_NU2; static const FieldPart I062_V1_17_390_RDS_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_RDS_NU2, NULL }; static int hf_062_V1_17_390_RDS_LTR; static const FieldPart I062_V1_17_390_RDS_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_RDS_LTR, NULL }; static const FieldPart *I062_V1_17_390_RDS_PARTS[] = { &I062_V1_17_390_RDS_NU1, &I062_V1_17_390_RDS_NU2, &I062_V1_17_390_RDS_LTR, NULL }; static const AsterixField I062_V1_17_390_RDS = { FIXED, 3, 0, 0, &hf_062_V1_17_390_RDS, I062_V1_17_390_RDS_PARTS, { NULL } }; static int hf_062_V1_17_390_CFL; static int hf_062_V1_17_390_CFL_VALUE; static const FieldPart I062_V1_17_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_390_CFL_VALUE, NULL }; static const FieldPart *I062_V1_17_390_CFL_PARTS[] = { &I062_V1_17_390_CFL_VALUE, NULL }; static const AsterixField I062_V1_17_390_CFL = { FIXED, 2, 0, 0, &hf_062_V1_17_390_CFL, I062_V1_17_390_CFL_PARTS, { NULL } }; static int hf_062_V1_17_390_CTL; static int hf_062_V1_17_390_CTL_CENTRE; static const FieldPart I062_V1_17_390_CTL_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_390_CTL_CENTRE, NULL }; static int hf_062_V1_17_390_CTL_POSITION; static const FieldPart I062_V1_17_390_CTL_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_390_CTL_POSITION, NULL }; static const FieldPart *I062_V1_17_390_CTL_PARTS[] = { &I062_V1_17_390_CTL_CENTRE, &I062_V1_17_390_CTL_POSITION, NULL }; static const AsterixField I062_V1_17_390_CTL = { FIXED, 2, 0, 0, &hf_062_V1_17_390_CTL, I062_V1_17_390_CTL_PARTS, { NULL } }; static int hf_062_V1_17_390_TOD; static int hf_062_V1_17_390_TOD_TYP; static const value_string valstr_062_V1_17_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_TOD_TYP, NULL }; static int hf_062_V1_17_390_TOD_DAY; static const value_string valstr_062_V1_17_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_TOD_DAY, NULL }; static int hf_062_V1_17_390_TOD_HOR; static const FieldPart I062_V1_17_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_TOD_HOR, NULL }; static int hf_062_V1_17_390_TOD_MIN; static const FieldPart I062_V1_17_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_TOD_MIN, NULL }; static int hf_062_V1_17_390_TOD_AVS; static const value_string valstr_062_V1_17_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_TOD_AVS, NULL }; static int hf_062_V1_17_390_TOD_SEC; static const FieldPart I062_V1_17_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_TOD_SEC, NULL }; static const FieldPart *I062_V1_17_390_TOD_PARTS[] = { &I062_V1_17_390_TOD_TYP, &I062_V1_17_390_TOD_DAY, &IXXX_4bit_spare, &I062_V1_17_390_TOD_HOR, &IXXX_2bit_spare, &I062_V1_17_390_TOD_MIN, &I062_V1_17_390_TOD_AVS, &IXXX_1bit_spare, &I062_V1_17_390_TOD_SEC, NULL }; static const AsterixField I062_V1_17_390_TOD = { REPETITIVE, 4, 1, 0, &hf_062_V1_17_390_TOD, I062_V1_17_390_TOD_PARTS, { NULL } }; static int hf_062_V1_17_390_AST; static int hf_062_V1_17_390_AST_VALUE; static const FieldPart I062_V1_17_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_AST_VALUE, NULL }; static const FieldPart *I062_V1_17_390_AST_PARTS[] = { &I062_V1_17_390_AST_VALUE, NULL }; static const AsterixField I062_V1_17_390_AST = { FIXED, 6, 0, 0, &hf_062_V1_17_390_AST, I062_V1_17_390_AST_PARTS, { NULL } }; static int hf_062_V1_17_390_STS; static int hf_062_V1_17_390_STS_EMP; static const value_string valstr_062_V1_17_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_STS_EMP, NULL }; static int hf_062_V1_17_390_STS_AVL; static const value_string valstr_062_V1_17_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_STS_AVL, NULL }; static const FieldPart *I062_V1_17_390_STS_PARTS[] = { &I062_V1_17_390_STS_EMP, &I062_V1_17_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I062_V1_17_390_STS = { FIXED, 1, 0, 0, &hf_062_V1_17_390_STS, I062_V1_17_390_STS_PARTS, { NULL } }; static int hf_062_V1_17_390_STD; static int hf_062_V1_17_390_STD_VALUE; static const FieldPart I062_V1_17_390_STD_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_STD_VALUE, NULL }; static const FieldPart *I062_V1_17_390_STD_PARTS[] = { &I062_V1_17_390_STD_VALUE, NULL }; static const AsterixField I062_V1_17_390_STD = { FIXED, 7, 0, 0, &hf_062_V1_17_390_STD, I062_V1_17_390_STD_PARTS, { NULL } }; static int hf_062_V1_17_390_STA; static int hf_062_V1_17_390_STA_VALUE; static const FieldPart I062_V1_17_390_STA_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_STA_VALUE, NULL }; static const FieldPart *I062_V1_17_390_STA_PARTS[] = { &I062_V1_17_390_STA_VALUE, NULL }; static const AsterixField I062_V1_17_390_STA = { FIXED, 7, 0, 0, &hf_062_V1_17_390_STA, I062_V1_17_390_STA_PARTS, { NULL } }; static int hf_062_V1_17_390_PEM; static int hf_062_V1_17_390_PEM_VA; static const value_string valstr_062_V1_17_390_PEM_VA[] = { { 0, "No valid Mode 3/A available" }, { 1, "Valid Mode 3/A available" }, { 0, NULL } }; static const FieldPart I062_V1_17_390_PEM_VA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_17_390_PEM_VA, NULL }; static int hf_062_V1_17_390_PEM_MODE3A; static const FieldPart I062_V1_17_390_PEM_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_17_390_PEM_MODE3A, NULL }; static const FieldPart *I062_V1_17_390_PEM_PARTS[] = { &IXXX_3bit_spare, &I062_V1_17_390_PEM_VA, &I062_V1_17_390_PEM_MODE3A, NULL }; static const AsterixField I062_V1_17_390_PEM = { FIXED, 2, 0, 0, &hf_062_V1_17_390_PEM, I062_V1_17_390_PEM_PARTS, { NULL } }; static int hf_062_V1_17_390_PEC; static int hf_062_V1_17_390_PEC_VALUE; static const FieldPart I062_V1_17_390_PEC_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_17_390_PEC_VALUE, NULL }; static const FieldPart *I062_V1_17_390_PEC_PARTS[] = { &I062_V1_17_390_PEC_VALUE, NULL }; static const AsterixField I062_V1_17_390_PEC = { FIXED, 7, 0, 0, &hf_062_V1_17_390_PEC, I062_V1_17_390_PEC_PARTS, { NULL } }; static const AsterixField I062_V1_17_390 = { COMPOUND, 0, 0, 0, &hf_062_V1_17_390, NULL, { &I062_V1_17_390_TAG, &I062_V1_17_390_CS, &I062_V1_17_390_IFI, &I062_V1_17_390_FCT, &I062_V1_17_390_TAC, &I062_V1_17_390_WTC, &I062_V1_17_390_DEP, &I062_V1_17_390_DST, &I062_V1_17_390_RDS, &I062_V1_17_390_CFL, &I062_V1_17_390_CTL, &I062_V1_17_390_TOD, &I062_V1_17_390_AST, &I062_V1_17_390_STS, &I062_V1_17_390_STD, &I062_V1_17_390_STA, &I062_V1_17_390_PEM, &I062_V1_17_390_PEC, NULL } }; static int hf_062_V1_17_500; static int hf_062_V1_17_500_APC; static int hf_062_V1_17_500_APC_X; static const FieldPart I062_V1_17_500_APC_X = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_17_500_APC_X, NULL }; static int hf_062_V1_17_500_APC_Y; static const FieldPart I062_V1_17_500_APC_Y = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_17_500_APC_Y, NULL }; static const FieldPart *I062_V1_17_500_APC_PARTS[] = { &I062_V1_17_500_APC_X, &I062_V1_17_500_APC_Y, NULL }; static const AsterixField I062_V1_17_500_APC = { FIXED, 4, 0, 0, &hf_062_V1_17_500_APC, I062_V1_17_500_APC_PARTS, { NULL } }; static int hf_062_V1_17_500_COV; static int hf_062_V1_17_500_COV_VALUE; static const FieldPart I062_V1_17_500_COV_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_062_V1_17_500_COV_VALUE, NULL }; static const FieldPart *I062_V1_17_500_COV_PARTS[] = { &I062_V1_17_500_COV_VALUE, NULL }; static const AsterixField I062_V1_17_500_COV = { FIXED, 2, 0, 0, &hf_062_V1_17_500_COV, I062_V1_17_500_COV_PARTS, { NULL } }; static int hf_062_V1_17_500_APW; static int hf_062_V1_17_500_APW_LAT; static const FieldPart I062_V1_17_500_APW_LAT = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_17_500_APW_LAT, NULL }; static int hf_062_V1_17_500_APW_LON; static const FieldPart I062_V1_17_500_APW_LON = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_17_500_APW_LON, NULL }; static const FieldPart *I062_V1_17_500_APW_PARTS[] = { &I062_V1_17_500_APW_LAT, &I062_V1_17_500_APW_LON, NULL }; static const AsterixField I062_V1_17_500_APW = { FIXED, 4, 0, 0, &hf_062_V1_17_500_APW, I062_V1_17_500_APW_PARTS, { NULL } }; static int hf_062_V1_17_500_AGA; static int hf_062_V1_17_500_AGA_VALUE; static const FieldPart I062_V1_17_500_AGA_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_17_500_AGA_VALUE, NULL }; static const FieldPart *I062_V1_17_500_AGA_PARTS[] = { &I062_V1_17_500_AGA_VALUE, NULL }; static const AsterixField I062_V1_17_500_AGA = { FIXED, 1, 0, 0, &hf_062_V1_17_500_AGA, I062_V1_17_500_AGA_PARTS, { NULL } }; static int hf_062_V1_17_500_ABA; static int hf_062_V1_17_500_ABA_VALUE; static const FieldPart I062_V1_17_500_ABA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_500_ABA_VALUE, NULL }; static const FieldPart *I062_V1_17_500_ABA_PARTS[] = { &I062_V1_17_500_ABA_VALUE, NULL }; static const AsterixField I062_V1_17_500_ABA = { FIXED, 1, 0, 0, &hf_062_V1_17_500_ABA, I062_V1_17_500_ABA_PARTS, { NULL } }; static int hf_062_V1_17_500_ATV; static int hf_062_V1_17_500_ATV_X; static const FieldPart I062_V1_17_500_ATV_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_500_ATV_X, NULL }; static int hf_062_V1_17_500_ATV_Y; static const FieldPart I062_V1_17_500_ATV_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_500_ATV_Y, NULL }; static const FieldPart *I062_V1_17_500_ATV_PARTS[] = { &I062_V1_17_500_ATV_X, &I062_V1_17_500_ATV_Y, NULL }; static const AsterixField I062_V1_17_500_ATV = { FIXED, 2, 0, 0, &hf_062_V1_17_500_ATV, I062_V1_17_500_ATV_PARTS, { NULL } }; static int hf_062_V1_17_500_AA; static int hf_062_V1_17_500_AA_X; static const FieldPart I062_V1_17_500_AA_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_500_AA_X, NULL }; static int hf_062_V1_17_500_AA_Y; static const FieldPart I062_V1_17_500_AA_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_17_500_AA_Y, NULL }; static const FieldPart *I062_V1_17_500_AA_PARTS[] = { &I062_V1_17_500_AA_X, &I062_V1_17_500_AA_Y, NULL }; static const AsterixField I062_V1_17_500_AA = { FIXED, 2, 0, 0, &hf_062_V1_17_500_AA, I062_V1_17_500_AA_PARTS, { NULL } }; static int hf_062_V1_17_500_ARC; static int hf_062_V1_17_500_ARC_VALUE; static const FieldPart I062_V1_17_500_ARC_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_17_500_ARC_VALUE, NULL }; static const FieldPart *I062_V1_17_500_ARC_PARTS[] = { &I062_V1_17_500_ARC_VALUE, NULL }; static const AsterixField I062_V1_17_500_ARC = { FIXED, 1, 0, 0, &hf_062_V1_17_500_ARC, I062_V1_17_500_ARC_PARTS, { NULL } }; static const AsterixField I062_V1_17_500 = { COMPOUND, 0, 0, 0, &hf_062_V1_17_500, NULL, { &I062_V1_17_500_APC, &I062_V1_17_500_COV, &I062_V1_17_500_APW, &I062_V1_17_500_AGA, &I062_V1_17_500_ABA, &I062_V1_17_500_ATV, &I062_V1_17_500_AA, &I062_V1_17_500_ARC, NULL } }; static int hf_062_V1_17_510; static int hf_062_V1_17_510_MIDENT; static const FieldPart I062_V1_17_510_MIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_510_MIDENT, NULL }; static int hf_062_V1_17_510_MTRACK; static const FieldPart I062_V1_17_510_MTRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_17_510_MTRACK, NULL }; static int hf_062_V1_17_510_SIDENT; static const FieldPart I062_V1_17_510_SIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_17_510_SIDENT, NULL }; static int hf_062_V1_17_510_STRACK; static const FieldPart I062_V1_17_510_STRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_17_510_STRACK, NULL }; static const FieldPart *I062_V1_17_510_PARTS[] = { &I062_V1_17_510_MIDENT, &I062_V1_17_510_MTRACK, &IXXX_FX, &I062_V1_17_510_SIDENT, &I062_V1_17_510_STRACK, &IXXX_FX, NULL }; static const AsterixField I062_V1_17_510 = { FX, 3, 0, 0, &hf_062_V1_17_510, I062_V1_17_510_PARTS, { NULL } }; static int hf_062_V1_17_RE; static const AsterixField I062_V1_17_RE = { EXP, 0, 0, 1, &hf_062_V1_17_RE, NULL, { NULL } }; static int hf_062_V1_17_SP; static const AsterixField I062_V1_17_SP = { EXP, 0, 0, 1, &hf_062_V1_17_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I062_V1_17_uap[] = { &I062_V1_17_010, &IX_SPARE, &I062_V1_17_015, &I062_V1_17_070, &I062_V1_17_105, &I062_V1_17_100, &I062_V1_17_185, &I062_V1_17_210, &I062_V1_17_060, &I062_V1_17_245, &I062_V1_17_380, &I062_V1_17_040, &I062_V1_17_080, &I062_V1_17_290, &I062_V1_17_200, &I062_V1_17_295, &I062_V1_17_136, &I062_V1_17_130, &I062_V1_17_135, &I062_V1_17_220, &I062_V1_17_390, &I062_V1_17_270, &I062_V1_17_300, &I062_V1_17_110, &I062_V1_17_120, &I062_V1_17_510, &I062_V1_17_500, &I062_V1_17_340, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I062_V1_17_RE, &I062_V1_17_SP, NULL }; static const AsterixField **I062_V1_17[] = { I062_V1_17_uap, NULL }; DIAG_ON_PEDANTIC /* Category 062, edition 1.18 */ static int hf_062_V1_18_010; static int hf_062_V1_18_010_SAC; static const FieldPart I062_V1_18_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_010_SAC, NULL }; static int hf_062_V1_18_010_SIC; static const FieldPart I062_V1_18_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_010_SIC, NULL }; static const FieldPart *I062_V1_18_010_PARTS[] = { &I062_V1_18_010_SAC, &I062_V1_18_010_SIC, NULL }; static const AsterixField I062_V1_18_010 = { FIXED, 2, 0, 0, &hf_062_V1_18_010, I062_V1_18_010_PARTS, { NULL } }; static int hf_062_V1_18_015; static int hf_062_V1_18_015_VALUE; static const FieldPart I062_V1_18_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_015_VALUE, NULL }; static const FieldPart *I062_V1_18_015_PARTS[] = { &I062_V1_18_015_VALUE, NULL }; static const AsterixField I062_V1_18_015 = { FIXED, 1, 0, 0, &hf_062_V1_18_015, I062_V1_18_015_PARTS, { NULL } }; static int hf_062_V1_18_040; static int hf_062_V1_18_040_VALUE; static const FieldPart I062_V1_18_040_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_062_V1_18_040_VALUE, NULL }; static const FieldPart *I062_V1_18_040_PARTS[] = { &I062_V1_18_040_VALUE, NULL }; static const AsterixField I062_V1_18_040 = { FIXED, 2, 0, 0, &hf_062_V1_18_040, I062_V1_18_040_PARTS, { NULL } }; static int hf_062_V1_18_060; static int hf_062_V1_18_060_V; static const value_string valstr_062_V1_18_060_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_18_060_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_060_V, NULL }; static int hf_062_V1_18_060_G; static const value_string valstr_062_V1_18_060_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_18_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_060_G, NULL }; static int hf_062_V1_18_060_CH; static const value_string valstr_062_V1_18_060_CH[] = { { 0, "No change" }, { 1, "Mode 3/A has changed" }, { 0, NULL } }; static const FieldPart I062_V1_18_060_CH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_060_CH, NULL }; static int hf_062_V1_18_060_MODE3A; static const FieldPart I062_V1_18_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_18_060_MODE3A, NULL }; static const FieldPart *I062_V1_18_060_PARTS[] = { &I062_V1_18_060_V, &I062_V1_18_060_G, &I062_V1_18_060_CH, &IXXX_1bit_spare, &I062_V1_18_060_MODE3A, NULL }; static const AsterixField I062_V1_18_060 = { FIXED, 2, 0, 0, &hf_062_V1_18_060, I062_V1_18_060_PARTS, { NULL } }; static int hf_062_V1_18_070; static int hf_062_V1_18_070_VALUE; static const FieldPart I062_V1_18_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_062_V1_18_070_VALUE, NULL }; static const FieldPart *I062_V1_18_070_PARTS[] = { &I062_V1_18_070_VALUE, NULL }; static const AsterixField I062_V1_18_070 = { FIXED, 3, 0, 0, &hf_062_V1_18_070, I062_V1_18_070_PARTS, { NULL } }; static int hf_062_V1_18_080; static int hf_062_V1_18_080_MON; static const value_string valstr_062_V1_18_080_MON[] = { { 0, "Multisensor track" }, { 1, "Monosensor track" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_MON = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_MON, NULL }; static int hf_062_V1_18_080_SPI; static const value_string valstr_062_V1_18_080_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_SPI, NULL }; static int hf_062_V1_18_080_MRH; static const value_string valstr_062_V1_18_080_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_MRH, NULL }; static int hf_062_V1_18_080_SRC; static const value_string valstr_062_V1_18_080_SRC[] = { { 0, "No source" }, { 1, "GNSS" }, { 2, "3D radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_SRC, NULL }; static int hf_062_V1_18_080_CNF; static const value_string valstr_062_V1_18_080_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_CNF, NULL }; static int hf_062_V1_18_080_SIM; static const value_string valstr_062_V1_18_080_SIM[] = { { 0, "Actual track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_SIM, NULL }; static int hf_062_V1_18_080_TSE; static const value_string valstr_062_V1_18_080_TSE[] = { { 0, "Default value" }, { 1, "Last message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_TSE, NULL }; static int hf_062_V1_18_080_TSB; static const value_string valstr_062_V1_18_080_TSB[] = { { 0, "Default value" }, { 1, "First message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_TSB, NULL }; static int hf_062_V1_18_080_FPC; static const value_string valstr_062_V1_18_080_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_FPC, NULL }; static int hf_062_V1_18_080_AFF; static const value_string valstr_062_V1_18_080_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_AFF, NULL }; static int hf_062_V1_18_080_STP; static const value_string valstr_062_V1_18_080_STP[] = { { 0, "Default value" }, { 1, "Slave Track Promotion" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_STP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_STP, NULL }; static int hf_062_V1_18_080_KOS; static const value_string valstr_062_V1_18_080_KOS[] = { { 0, "Complementary service used" }, { 1, "Background service used" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_KOS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_KOS, NULL }; static int hf_062_V1_18_080_AMA; static const value_string valstr_062_V1_18_080_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_AMA, NULL }; static int hf_062_V1_18_080_MD4; static const value_string valstr_062_V1_18_080_MD4[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_MD4 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_MD4, NULL }; static int hf_062_V1_18_080_ME; static const value_string valstr_062_V1_18_080_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_ME = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_ME, NULL }; static int hf_062_V1_18_080_MI; static const value_string valstr_062_V1_18_080_MI[] = { { 0, "Default value" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_MI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_MI, NULL }; static int hf_062_V1_18_080_MD5; static const value_string valstr_062_V1_18_080_MD5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_MD5 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_MD5, NULL }; static int hf_062_V1_18_080_CST; static const value_string valstr_062_V1_18_080_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_CST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_CST, NULL }; static int hf_062_V1_18_080_PSR; static const value_string valstr_062_V1_18_080_PSR[] = { { 0, "Default value" }, { 1, "Age of the last received PSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_PSR, NULL }; static int hf_062_V1_18_080_SSR; static const value_string valstr_062_V1_18_080_SSR[] = { { 0, "Default value" }, { 1, "Age of the last received SSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_SSR, NULL }; static int hf_062_V1_18_080_MDS; static const value_string valstr_062_V1_18_080_MDS[] = { { 0, "Default value" }, { 1, "Age of the last received Mode S track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_MDS, NULL }; static int hf_062_V1_18_080_ADS; static const value_string valstr_062_V1_18_080_ADS[] = { { 0, "Default value" }, { 1, "Age of the last received ADS-B track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_ADS, NULL }; static int hf_062_V1_18_080_SUC; static const value_string valstr_062_V1_18_080_SUC[] = { { 0, "Default value" }, { 1, "Special Used Code (Mode A codes to be defined in the system to mark a track with special interest)" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_SUC, NULL }; static int hf_062_V1_18_080_AAC; static const value_string valstr_062_V1_18_080_AAC[] = { { 0, "Default value" }, { 1, "Assigned Mode A Code Conflict (same discrete Mode A Code assigned to another track)" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_AAC, NULL }; static int hf_062_V1_18_080_SDS; static const value_string valstr_062_V1_18_080_SDS[] = { { 0, "Combined" }, { 1, "Co-operative only" }, { 2, "Non-Cooperative only" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_SDS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_SDS, NULL }; static int hf_062_V1_18_080_EMS; static const value_string valstr_062_V1_18_080_EMS[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Undefined" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_EMS = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_EMS, NULL }; static int hf_062_V1_18_080_PFT; static const value_string valstr_062_V1_18_080_PFT[] = { { 0, "No indication" }, { 1, "Potential False Track Indication" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_PFT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_PFT, NULL }; static int hf_062_V1_18_080_FPLT; static const value_string valstr_062_V1_18_080_FPLT[] = { { 0, "Default value" }, { 1, "Track created / updated with FPL data" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_FPLT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_FPLT, NULL }; static int hf_062_V1_18_080_DUPT; static const value_string valstr_062_V1_18_080_DUPT[] = { { 0, "Default value" }, { 1, "Duplicate Mode 3/A Code" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_DUPT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_DUPT, NULL }; static int hf_062_V1_18_080_DUPF; static const value_string valstr_062_V1_18_080_DUPF[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_DUPF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_DUPF, NULL }; static int hf_062_V1_18_080_DUPM; static const value_string valstr_062_V1_18_080_DUPM[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan due to manual correlation" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_DUPM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_DUPM, NULL }; static int hf_062_V1_18_080_SFC; static const value_string valstr_062_V1_18_080_SFC[] = { { 0, "Default value" }, { 1, "Surface target" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_SFC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_SFC, NULL }; static int hf_062_V1_18_080_IDD; static const value_string valstr_062_V1_18_080_IDD[] = { { 0, "No indication" }, { 1, "Duplicate Flight-ID" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_IDD = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_IDD, NULL }; static int hf_062_V1_18_080_IEC; static const value_string valstr_062_V1_18_080_IEC[] = { { 0, "Default value" }, { 1, "Inconsistent Emergency Code" }, { 0, NULL } }; static const FieldPart I062_V1_18_080_IEC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_080_IEC, NULL }; static const FieldPart *I062_V1_18_080_PARTS[] = { &I062_V1_18_080_MON, &I062_V1_18_080_SPI, &I062_V1_18_080_MRH, &I062_V1_18_080_SRC, &I062_V1_18_080_CNF, &IXXX_FX, &I062_V1_18_080_SIM, &I062_V1_18_080_TSE, &I062_V1_18_080_TSB, &I062_V1_18_080_FPC, &I062_V1_18_080_AFF, &I062_V1_18_080_STP, &I062_V1_18_080_KOS, &IXXX_FX, &I062_V1_18_080_AMA, &I062_V1_18_080_MD4, &I062_V1_18_080_ME, &I062_V1_18_080_MI, &I062_V1_18_080_MD5, &IXXX_FX, &I062_V1_18_080_CST, &I062_V1_18_080_PSR, &I062_V1_18_080_SSR, &I062_V1_18_080_MDS, &I062_V1_18_080_ADS, &I062_V1_18_080_SUC, &I062_V1_18_080_AAC, &IXXX_FX, &I062_V1_18_080_SDS, &I062_V1_18_080_EMS, &I062_V1_18_080_PFT, &I062_V1_18_080_FPLT, &IXXX_FX, &I062_V1_18_080_DUPT, &I062_V1_18_080_DUPF, &I062_V1_18_080_DUPM, &I062_V1_18_080_SFC, &I062_V1_18_080_IDD, &I062_V1_18_080_IEC, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_V1_18_080 = { FX, 1, 0, 0, &hf_062_V1_18_080, I062_V1_18_080_PARTS, { NULL } }; static int hf_062_V1_18_100; static int hf_062_V1_18_100_X; static const FieldPart I062_V1_18_100_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_18_100_X, NULL }; static int hf_062_V1_18_100_Y; static const FieldPart I062_V1_18_100_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_18_100_Y, NULL }; static const FieldPart *I062_V1_18_100_PARTS[] = { &I062_V1_18_100_X, &I062_V1_18_100_Y, NULL }; static const AsterixField I062_V1_18_100 = { FIXED, 6, 0, 0, &hf_062_V1_18_100, I062_V1_18_100_PARTS, { NULL } }; static int hf_062_V1_18_105; static int hf_062_V1_18_105_LAT; static const FieldPart I062_V1_18_105_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_18_105_LAT, NULL }; static int hf_062_V1_18_105_LON; static const FieldPart I062_V1_18_105_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_18_105_LON, NULL }; static const FieldPart *I062_V1_18_105_PARTS[] = { &I062_V1_18_105_LAT, &I062_V1_18_105_LON, NULL }; static const AsterixField I062_V1_18_105 = { FIXED, 8, 0, 0, &hf_062_V1_18_105, I062_V1_18_105_PARTS, { NULL } }; static int hf_062_V1_18_110; static int hf_062_V1_18_110_SUM; static int hf_062_V1_18_110_SUM_M5; static const value_string valstr_062_V1_18_110_SUM_M5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Mode 5 interrogation" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_M5, NULL }; static int hf_062_V1_18_110_SUM_ID; static const value_string valstr_062_V1_18_110_SUM_ID[] = { { 0, "No authenticated Mode 5 ID reply" }, { 1, "Authenticated Mode 5 ID reply" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_ID = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_ID, NULL }; static int hf_062_V1_18_110_SUM_DA; static const value_string valstr_062_V1_18_110_SUM_DA[] = { { 0, "No authenticated Mode 5 Data reply or Report" }, { 1, "Authenticated Mode 5 Data reply or Report (i.e any valid Mode 5 reply type other than ID)" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_DA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_DA, NULL }; static int hf_062_V1_18_110_SUM_M1; static const value_string valstr_062_V1_18_110_SUM_M1[] = { { 0, "Mode 1 code not present or not from Mode 5 reply" }, { 1, "Mode 1 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_M1, NULL }; static int hf_062_V1_18_110_SUM_M2; static const value_string valstr_062_V1_18_110_SUM_M2[] = { { 0, "Mode 2 code not present or not from Mode 5 reply" }, { 1, "Mode 2 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_M2, NULL }; static int hf_062_V1_18_110_SUM_M3; static const value_string valstr_062_V1_18_110_SUM_M3[] = { { 0, "Mode 3 code not present or not from Mode 5 reply" }, { 1, "Mode 3 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_M3, NULL }; static int hf_062_V1_18_110_SUM_MC; static const value_string valstr_062_V1_18_110_SUM_MC[] = { { 0, "Mode C altitude code not present or not from Mode 5 reply" }, { 1, "Mode C altitude from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_MC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_MC, NULL }; static int hf_062_V1_18_110_SUM_X; static const value_string valstr_062_V1_18_110_SUM_X[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_SUM_X = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_SUM_X, NULL }; static const FieldPart *I062_V1_18_110_SUM_PARTS[] = { &I062_V1_18_110_SUM_M5, &I062_V1_18_110_SUM_ID, &I062_V1_18_110_SUM_DA, &I062_V1_18_110_SUM_M1, &I062_V1_18_110_SUM_M2, &I062_V1_18_110_SUM_M3, &I062_V1_18_110_SUM_MC, &I062_V1_18_110_SUM_X, NULL }; static const AsterixField I062_V1_18_110_SUM = { FIXED, 1, 0, 0, &hf_062_V1_18_110_SUM, I062_V1_18_110_SUM_PARTS, { NULL } }; static int hf_062_V1_18_110_PMN; static int hf_062_V1_18_110_PMN_PIN; static const FieldPart I062_V1_18_110_PMN_PIN = { 14, 1.0, FIELD_PART_HEX, &hf_062_V1_18_110_PMN_PIN, NULL }; static int hf_062_V1_18_110_PMN_NAT; static const FieldPart I062_V1_18_110_PMN_NAT = { 5, 1.0, FIELD_PART_HEX, &hf_062_V1_18_110_PMN_NAT, NULL }; static int hf_062_V1_18_110_PMN_MIS; static const FieldPart I062_V1_18_110_PMN_MIS = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_18_110_PMN_MIS, NULL }; static const FieldPart *I062_V1_18_110_PMN_PARTS[] = { &IXXX_2bit_spare, &I062_V1_18_110_PMN_PIN, &IXXX_3bit_spare, &I062_V1_18_110_PMN_NAT, &IXXX_2bit_spare, &I062_V1_18_110_PMN_MIS, NULL }; static const AsterixField I062_V1_18_110_PMN = { FIXED, 4, 0, 0, &hf_062_V1_18_110_PMN, I062_V1_18_110_PMN_PARTS, { NULL } }; static int hf_062_V1_18_110_POS; static int hf_062_V1_18_110_POS_LAT; static const FieldPart I062_V1_18_110_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_18_110_POS_LAT, NULL }; static int hf_062_V1_18_110_POS_LON; static const FieldPart I062_V1_18_110_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_18_110_POS_LON, NULL }; static const FieldPart *I062_V1_18_110_POS_PARTS[] = { &I062_V1_18_110_POS_LAT, &I062_V1_18_110_POS_LON, NULL }; static const AsterixField I062_V1_18_110_POS = { FIXED, 6, 0, 0, &hf_062_V1_18_110_POS, I062_V1_18_110_POS_PARTS, { NULL } }; static int hf_062_V1_18_110_GA; static int hf_062_V1_18_110_GA_RES; static const value_string valstr_062_V1_18_110_GA_RES[] = { { 0, "GA reported in 100 ft increments" }, { 1, "GA reported in 25 ft increments" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_GA_RES = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_GA_RES, NULL }; static int hf_062_V1_18_110_GA_GA; static const FieldPart I062_V1_18_110_GA_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_062_V1_18_110_GA_GA, NULL }; static const FieldPart *I062_V1_18_110_GA_PARTS[] = { &IXXX_1bit_spare, &I062_V1_18_110_GA_RES, &I062_V1_18_110_GA_GA, NULL }; static const AsterixField I062_V1_18_110_GA = { FIXED, 2, 0, 0, &hf_062_V1_18_110_GA, I062_V1_18_110_GA_PARTS, { NULL } }; static int hf_062_V1_18_110_EM1; static int hf_062_V1_18_110_EM1_EM1; static const FieldPart I062_V1_18_110_EM1_EM1 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_18_110_EM1_EM1, NULL }; static const FieldPart *I062_V1_18_110_EM1_PARTS[] = { &IXXX_4bit_spare, &I062_V1_18_110_EM1_EM1, NULL }; static const AsterixField I062_V1_18_110_EM1 = { FIXED, 2, 0, 0, &hf_062_V1_18_110_EM1, I062_V1_18_110_EM1_PARTS, { NULL } }; static int hf_062_V1_18_110_TOS; static int hf_062_V1_18_110_TOS_VALUE; static const FieldPart I062_V1_18_110_TOS_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_062_V1_18_110_TOS_VALUE, NULL }; static const FieldPart *I062_V1_18_110_TOS_PARTS[] = { &I062_V1_18_110_TOS_VALUE, NULL }; static const AsterixField I062_V1_18_110_TOS = { FIXED, 1, 0, 0, &hf_062_V1_18_110_TOS, I062_V1_18_110_TOS_PARTS, { NULL } }; static int hf_062_V1_18_110_XP; static int hf_062_V1_18_110_XP_X5; static const value_string valstr_062_V1_18_110_XP_X5[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_XP_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_XP_X5, NULL }; static int hf_062_V1_18_110_XP_XC; static const value_string valstr_062_V1_18_110_XP_XC[] = { { 0, "X-pulse set to zero or no Mode C reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_XP_XC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_XP_XC, NULL }; static int hf_062_V1_18_110_XP_X3; static const value_string valstr_062_V1_18_110_XP_X3[] = { { 0, "X-pulse set to zero or no Mode 3/A reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_XP_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_XP_X3, NULL }; static int hf_062_V1_18_110_XP_X2; static const value_string valstr_062_V1_18_110_XP_X2[] = { { 0, "X-pulse set to zero or no Mode 2 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_XP_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_XP_X2, NULL }; static int hf_062_V1_18_110_XP_X1; static const value_string valstr_062_V1_18_110_XP_X1[] = { { 0, "X-pulse set to zero or no Mode 1 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_18_110_XP_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_110_XP_X1, NULL }; static const FieldPart *I062_V1_18_110_XP_PARTS[] = { &IXXX_3bit_spare, &I062_V1_18_110_XP_X5, &I062_V1_18_110_XP_XC, &I062_V1_18_110_XP_X3, &I062_V1_18_110_XP_X2, &I062_V1_18_110_XP_X1, NULL }; static const AsterixField I062_V1_18_110_XP = { FIXED, 1, 0, 0, &hf_062_V1_18_110_XP, I062_V1_18_110_XP_PARTS, { NULL } }; static const AsterixField I062_V1_18_110 = { COMPOUND, 0, 0, 0, &hf_062_V1_18_110, NULL, { &I062_V1_18_110_SUM, &I062_V1_18_110_PMN, &I062_V1_18_110_POS, &I062_V1_18_110_GA, &I062_V1_18_110_EM1, &I062_V1_18_110_TOS, &I062_V1_18_110_XP, NULL } }; static int hf_062_V1_18_120; static int hf_062_V1_18_120_MODE2; static const FieldPart I062_V1_18_120_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_18_120_MODE2, NULL }; static const FieldPart *I062_V1_18_120_PARTS[] = { &IXXX_4bit_spare, &I062_V1_18_120_MODE2, NULL }; static const AsterixField I062_V1_18_120 = { FIXED, 2, 0, 0, &hf_062_V1_18_120, I062_V1_18_120_PARTS, { NULL } }; static int hf_062_V1_18_130; static int hf_062_V1_18_130_VALUE; static const FieldPart I062_V1_18_130_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_18_130_VALUE, NULL }; static const FieldPart *I062_V1_18_130_PARTS[] = { &I062_V1_18_130_VALUE, NULL }; static const AsterixField I062_V1_18_130 = { FIXED, 2, 0, 0, &hf_062_V1_18_130, I062_V1_18_130_PARTS, { NULL } }; static int hf_062_V1_18_135; static int hf_062_V1_18_135_QNH; static const value_string valstr_062_V1_18_135_QNH[] = { { 0, "No QNH correction applied" }, { 1, "QNH correction applied" }, { 0, NULL } }; static const FieldPart I062_V1_18_135_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_135_QNH, NULL }; static int hf_062_V1_18_135_CTB; static const FieldPart I062_V1_18_135_CTB = { 15, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_135_CTB, NULL }; static const FieldPart *I062_V1_18_135_PARTS[] = { &I062_V1_18_135_QNH, &I062_V1_18_135_CTB, NULL }; static const AsterixField I062_V1_18_135 = { FIXED, 2, 0, 0, &hf_062_V1_18_135, I062_V1_18_135_PARTS, { NULL } }; static int hf_062_V1_18_136; static int hf_062_V1_18_136_VALUE; static const FieldPart I062_V1_18_136_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_136_VALUE, NULL }; static const FieldPart *I062_V1_18_136_PARTS[] = { &I062_V1_18_136_VALUE, NULL }; static const AsterixField I062_V1_18_136 = { FIXED, 2, 0, 0, &hf_062_V1_18_136, I062_V1_18_136_PARTS, { NULL } }; static int hf_062_V1_18_185; static int hf_062_V1_18_185_VX; static const FieldPart I062_V1_18_185_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_185_VX, NULL }; static int hf_062_V1_18_185_VY; static const FieldPart I062_V1_18_185_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_185_VY, NULL }; static const FieldPart *I062_V1_18_185_PARTS[] = { &I062_V1_18_185_VX, &I062_V1_18_185_VY, NULL }; static const AsterixField I062_V1_18_185 = { FIXED, 4, 0, 0, &hf_062_V1_18_185, I062_V1_18_185_PARTS, { NULL } }; static int hf_062_V1_18_200; static int hf_062_V1_18_200_TRANS; static const value_string valstr_062_V1_18_200_TRANS[] = { { 0, "Constant course" }, { 1, "Right turn" }, { 2, "Left turn" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_18_200_TRANS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_200_TRANS, NULL }; static int hf_062_V1_18_200_LONG; static const value_string valstr_062_V1_18_200_LONG[] = { { 0, "Constant groundspeed" }, { 1, "Increasing groundspeed" }, { 2, "Decreasing groundspeed" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_18_200_LONG = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_200_LONG, NULL }; static int hf_062_V1_18_200_VERT; static const value_string valstr_062_V1_18_200_VERT[] = { { 0, "Level" }, { 1, "Climb" }, { 2, "Descent" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_18_200_VERT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_200_VERT, NULL }; static int hf_062_V1_18_200_ADF; static const value_string valstr_062_V1_18_200_ADF[] = { { 0, "No altitude discrepancy" }, { 1, "Altitude discrepancy" }, { 0, NULL } }; static const FieldPart I062_V1_18_200_ADF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_200_ADF, NULL }; static const FieldPart *I062_V1_18_200_PARTS[] = { &I062_V1_18_200_TRANS, &I062_V1_18_200_LONG, &I062_V1_18_200_VERT, &I062_V1_18_200_ADF, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_18_200 = { FIXED, 1, 0, 0, &hf_062_V1_18_200, I062_V1_18_200_PARTS, { NULL } }; static int hf_062_V1_18_210; static int hf_062_V1_18_210_AX; static const FieldPart I062_V1_18_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_210_AX, NULL }; static int hf_062_V1_18_210_AY; static const FieldPart I062_V1_18_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_210_AY, NULL }; static const FieldPart *I062_V1_18_210_PARTS[] = { &I062_V1_18_210_AX, &I062_V1_18_210_AY, NULL }; static const AsterixField I062_V1_18_210 = { FIXED, 2, 0, 0, &hf_062_V1_18_210, I062_V1_18_210_PARTS, { NULL } }; static int hf_062_V1_18_220; static int hf_062_V1_18_220_VALUE; static const FieldPart I062_V1_18_220_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_18_220_VALUE, NULL }; static const FieldPart *I062_V1_18_220_PARTS[] = { &I062_V1_18_220_VALUE, NULL }; static const AsterixField I062_V1_18_220 = { FIXED, 2, 0, 0, &hf_062_V1_18_220, I062_V1_18_220_PARTS, { NULL } }; static int hf_062_V1_18_245; static int hf_062_V1_18_245_STI; static const value_string valstr_062_V1_18_245_STI[] = { { 0, "Callsign or registration downlinked from target" }, { 1, "Callsign not downlinked from target" }, { 2, "Registration not downlinked from target" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_18_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_245_STI, NULL }; static int hf_062_V1_18_245_CHR; static const FieldPart I062_V1_18_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_18_245_CHR, NULL }; static const FieldPart *I062_V1_18_245_PARTS[] = { &I062_V1_18_245_STI, &IXXX_6bit_spare, &I062_V1_18_245_CHR, NULL }; static const AsterixField I062_V1_18_245 = { FIXED, 7, 0, 0, &hf_062_V1_18_245, I062_V1_18_245_PARTS, { NULL } }; static int hf_062_V1_18_270; static int hf_062_V1_18_270_LENGTH; static const FieldPart I062_V1_18_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_18_270_LENGTH, NULL }; static int hf_062_V1_18_270_ORIENTATION; static const FieldPart I062_V1_18_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_062_V1_18_270_ORIENTATION, NULL }; static int hf_062_V1_18_270_WIDTH; static const FieldPart I062_V1_18_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_18_270_WIDTH, NULL }; static const FieldPart *I062_V1_18_270_PARTS[] = { &I062_V1_18_270_LENGTH, &IXXX_FX, &I062_V1_18_270_ORIENTATION, &IXXX_FX, &I062_V1_18_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I062_V1_18_270 = { FX, 1, 0, 0, &hf_062_V1_18_270, I062_V1_18_270_PARTS, { NULL } }; static int hf_062_V1_18_290; static int hf_062_V1_18_290_TRK; static int hf_062_V1_18_290_TRK_VALUE; static const FieldPart I062_V1_18_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_TRK_VALUE, NULL }; static const FieldPart *I062_V1_18_290_TRK_PARTS[] = { &I062_V1_18_290_TRK_VALUE, NULL }; static const AsterixField I062_V1_18_290_TRK = { FIXED, 1, 0, 0, &hf_062_V1_18_290_TRK, I062_V1_18_290_TRK_PARTS, { NULL } }; static int hf_062_V1_18_290_PSR; static int hf_062_V1_18_290_PSR_VALUE; static const FieldPart I062_V1_18_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_PSR_VALUE, NULL }; static const FieldPart *I062_V1_18_290_PSR_PARTS[] = { &I062_V1_18_290_PSR_VALUE, NULL }; static const AsterixField I062_V1_18_290_PSR = { FIXED, 1, 0, 0, &hf_062_V1_18_290_PSR, I062_V1_18_290_PSR_PARTS, { NULL } }; static int hf_062_V1_18_290_SSR; static int hf_062_V1_18_290_SSR_VALUE; static const FieldPart I062_V1_18_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_SSR_VALUE, NULL }; static const FieldPart *I062_V1_18_290_SSR_PARTS[] = { &I062_V1_18_290_SSR_VALUE, NULL }; static const AsterixField I062_V1_18_290_SSR = { FIXED, 1, 0, 0, &hf_062_V1_18_290_SSR, I062_V1_18_290_SSR_PARTS, { NULL } }; static int hf_062_V1_18_290_MDS; static int hf_062_V1_18_290_MDS_VALUE; static const FieldPart I062_V1_18_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_MDS_VALUE, NULL }; static const FieldPart *I062_V1_18_290_MDS_PARTS[] = { &I062_V1_18_290_MDS_VALUE, NULL }; static const AsterixField I062_V1_18_290_MDS = { FIXED, 1, 0, 0, &hf_062_V1_18_290_MDS, I062_V1_18_290_MDS_PARTS, { NULL } }; static int hf_062_V1_18_290_ADS; static int hf_062_V1_18_290_ADS_VALUE; static const FieldPart I062_V1_18_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_ADS_VALUE, NULL }; static const FieldPart *I062_V1_18_290_ADS_PARTS[] = { &I062_V1_18_290_ADS_VALUE, NULL }; static const AsterixField I062_V1_18_290_ADS = { FIXED, 2, 0, 0, &hf_062_V1_18_290_ADS, I062_V1_18_290_ADS_PARTS, { NULL } }; static int hf_062_V1_18_290_ES; static int hf_062_V1_18_290_ES_VALUE; static const FieldPart I062_V1_18_290_ES_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_ES_VALUE, NULL }; static const FieldPart *I062_V1_18_290_ES_PARTS[] = { &I062_V1_18_290_ES_VALUE, NULL }; static const AsterixField I062_V1_18_290_ES = { FIXED, 1, 0, 0, &hf_062_V1_18_290_ES, I062_V1_18_290_ES_PARTS, { NULL } }; static int hf_062_V1_18_290_VDL; static int hf_062_V1_18_290_VDL_VALUE; static const FieldPart I062_V1_18_290_VDL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_VDL_VALUE, NULL }; static const FieldPart *I062_V1_18_290_VDL_PARTS[] = { &I062_V1_18_290_VDL_VALUE, NULL }; static const AsterixField I062_V1_18_290_VDL = { FIXED, 1, 0, 0, &hf_062_V1_18_290_VDL, I062_V1_18_290_VDL_PARTS, { NULL } }; static int hf_062_V1_18_290_UAT; static int hf_062_V1_18_290_UAT_VALUE; static const FieldPart I062_V1_18_290_UAT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_UAT_VALUE, NULL }; static const FieldPart *I062_V1_18_290_UAT_PARTS[] = { &I062_V1_18_290_UAT_VALUE, NULL }; static const AsterixField I062_V1_18_290_UAT = { FIXED, 1, 0, 0, &hf_062_V1_18_290_UAT, I062_V1_18_290_UAT_PARTS, { NULL } }; static int hf_062_V1_18_290_LOP; static int hf_062_V1_18_290_LOP_VALUE; static const FieldPart I062_V1_18_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_LOP_VALUE, NULL }; static const FieldPart *I062_V1_18_290_LOP_PARTS[] = { &I062_V1_18_290_LOP_VALUE, NULL }; static const AsterixField I062_V1_18_290_LOP = { FIXED, 1, 0, 0, &hf_062_V1_18_290_LOP, I062_V1_18_290_LOP_PARTS, { NULL } }; static int hf_062_V1_18_290_MLT; static int hf_062_V1_18_290_MLT_VALUE; static const FieldPart I062_V1_18_290_MLT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_290_MLT_VALUE, NULL }; static const FieldPart *I062_V1_18_290_MLT_PARTS[] = { &I062_V1_18_290_MLT_VALUE, NULL }; static const AsterixField I062_V1_18_290_MLT = { FIXED, 1, 0, 0, &hf_062_V1_18_290_MLT, I062_V1_18_290_MLT_PARTS, { NULL } }; static const AsterixField I062_V1_18_290 = { COMPOUND, 0, 0, 0, &hf_062_V1_18_290, NULL, { &I062_V1_18_290_TRK, &I062_V1_18_290_PSR, &I062_V1_18_290_SSR, &I062_V1_18_290_MDS, &I062_V1_18_290_ADS, &I062_V1_18_290_ES, &I062_V1_18_290_VDL, &I062_V1_18_290_UAT, &I062_V1_18_290_LOP, &I062_V1_18_290_MLT, NULL } }; static int hf_062_V1_18_295; static int hf_062_V1_18_295_MFL; static int hf_062_V1_18_295_MFL_VALUE; static const FieldPart I062_V1_18_295_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MFL_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MFL_PARTS[] = { &I062_V1_18_295_MFL_VALUE, NULL }; static const AsterixField I062_V1_18_295_MFL = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MFL, I062_V1_18_295_MFL_PARTS, { NULL } }; static int hf_062_V1_18_295_MD1; static int hf_062_V1_18_295_MD1_VALUE; static const FieldPart I062_V1_18_295_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MD1_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MD1_PARTS[] = { &I062_V1_18_295_MD1_VALUE, NULL }; static const AsterixField I062_V1_18_295_MD1 = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MD1, I062_V1_18_295_MD1_PARTS, { NULL } }; static int hf_062_V1_18_295_MD2; static int hf_062_V1_18_295_MD2_VALUE; static const FieldPart I062_V1_18_295_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MD2_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MD2_PARTS[] = { &I062_V1_18_295_MD2_VALUE, NULL }; static const AsterixField I062_V1_18_295_MD2 = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MD2, I062_V1_18_295_MD2_PARTS, { NULL } }; static int hf_062_V1_18_295_MDA; static int hf_062_V1_18_295_MDA_VALUE; static const FieldPart I062_V1_18_295_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MDA_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MDA_PARTS[] = { &I062_V1_18_295_MDA_VALUE, NULL }; static const AsterixField I062_V1_18_295_MDA = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MDA, I062_V1_18_295_MDA_PARTS, { NULL } }; static int hf_062_V1_18_295_MD4; static int hf_062_V1_18_295_MD4_VALUE; static const FieldPart I062_V1_18_295_MD4_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MD4_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MD4_PARTS[] = { &I062_V1_18_295_MD4_VALUE, NULL }; static const AsterixField I062_V1_18_295_MD4 = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MD4, I062_V1_18_295_MD4_PARTS, { NULL } }; static int hf_062_V1_18_295_MD5; static int hf_062_V1_18_295_MD5_VALUE; static const FieldPart I062_V1_18_295_MD5_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MD5_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MD5_PARTS[] = { &I062_V1_18_295_MD5_VALUE, NULL }; static const AsterixField I062_V1_18_295_MD5 = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MD5, I062_V1_18_295_MD5_PARTS, { NULL } }; static int hf_062_V1_18_295_MHG; static int hf_062_V1_18_295_MHG_VALUE; static const FieldPart I062_V1_18_295_MHG_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MHG_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MHG_PARTS[] = { &I062_V1_18_295_MHG_VALUE, NULL }; static const AsterixField I062_V1_18_295_MHG = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MHG, I062_V1_18_295_MHG_PARTS, { NULL } }; static int hf_062_V1_18_295_IAS; static int hf_062_V1_18_295_IAS_VALUE; static const FieldPart I062_V1_18_295_IAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_IAS_VALUE, NULL }; static const FieldPart *I062_V1_18_295_IAS_PARTS[] = { &I062_V1_18_295_IAS_VALUE, NULL }; static const AsterixField I062_V1_18_295_IAS = { FIXED, 1, 0, 0, &hf_062_V1_18_295_IAS, I062_V1_18_295_IAS_PARTS, { NULL } }; static int hf_062_V1_18_295_TAS; static int hf_062_V1_18_295_TAS_VALUE; static const FieldPart I062_V1_18_295_TAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_TAS_VALUE, NULL }; static const FieldPart *I062_V1_18_295_TAS_PARTS[] = { &I062_V1_18_295_TAS_VALUE, NULL }; static const AsterixField I062_V1_18_295_TAS = { FIXED, 1, 0, 0, &hf_062_V1_18_295_TAS, I062_V1_18_295_TAS_PARTS, { NULL } }; static int hf_062_V1_18_295_SAL; static int hf_062_V1_18_295_SAL_VALUE; static const FieldPart I062_V1_18_295_SAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_SAL_VALUE, NULL }; static const FieldPart *I062_V1_18_295_SAL_PARTS[] = { &I062_V1_18_295_SAL_VALUE, NULL }; static const AsterixField I062_V1_18_295_SAL = { FIXED, 1, 0, 0, &hf_062_V1_18_295_SAL, I062_V1_18_295_SAL_PARTS, { NULL } }; static int hf_062_V1_18_295_FSS; static int hf_062_V1_18_295_FSS_VALUE; static const FieldPart I062_V1_18_295_FSS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_FSS_VALUE, NULL }; static const FieldPart *I062_V1_18_295_FSS_PARTS[] = { &I062_V1_18_295_FSS_VALUE, NULL }; static const AsterixField I062_V1_18_295_FSS = { FIXED, 1, 0, 0, &hf_062_V1_18_295_FSS, I062_V1_18_295_FSS_PARTS, { NULL } }; static int hf_062_V1_18_295_TID; static int hf_062_V1_18_295_TID_VALUE; static const FieldPart I062_V1_18_295_TID_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_TID_VALUE, NULL }; static const FieldPart *I062_V1_18_295_TID_PARTS[] = { &I062_V1_18_295_TID_VALUE, NULL }; static const AsterixField I062_V1_18_295_TID = { FIXED, 1, 0, 0, &hf_062_V1_18_295_TID, I062_V1_18_295_TID_PARTS, { NULL } }; static int hf_062_V1_18_295_COM; static int hf_062_V1_18_295_COM_VALUE; static const FieldPart I062_V1_18_295_COM_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_COM_VALUE, NULL }; static const FieldPart *I062_V1_18_295_COM_PARTS[] = { &I062_V1_18_295_COM_VALUE, NULL }; static const AsterixField I062_V1_18_295_COM = { FIXED, 1, 0, 0, &hf_062_V1_18_295_COM, I062_V1_18_295_COM_PARTS, { NULL } }; static int hf_062_V1_18_295_SAB; static int hf_062_V1_18_295_SAB_VALUE; static const FieldPart I062_V1_18_295_SAB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_SAB_VALUE, NULL }; static const FieldPart *I062_V1_18_295_SAB_PARTS[] = { &I062_V1_18_295_SAB_VALUE, NULL }; static const AsterixField I062_V1_18_295_SAB = { FIXED, 1, 0, 0, &hf_062_V1_18_295_SAB, I062_V1_18_295_SAB_PARTS, { NULL } }; static int hf_062_V1_18_295_ACS; static int hf_062_V1_18_295_ACS_VALUE; static const FieldPart I062_V1_18_295_ACS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_ACS_VALUE, NULL }; static const FieldPart *I062_V1_18_295_ACS_PARTS[] = { &I062_V1_18_295_ACS_VALUE, NULL }; static const AsterixField I062_V1_18_295_ACS = { FIXED, 1, 0, 0, &hf_062_V1_18_295_ACS, I062_V1_18_295_ACS_PARTS, { NULL } }; static int hf_062_V1_18_295_BVR; static int hf_062_V1_18_295_BVR_VALUE; static const FieldPart I062_V1_18_295_BVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_BVR_VALUE, NULL }; static const FieldPart *I062_V1_18_295_BVR_PARTS[] = { &I062_V1_18_295_BVR_VALUE, NULL }; static const AsterixField I062_V1_18_295_BVR = { FIXED, 1, 0, 0, &hf_062_V1_18_295_BVR, I062_V1_18_295_BVR_PARTS, { NULL } }; static int hf_062_V1_18_295_GVR; static int hf_062_V1_18_295_GVR_VALUE; static const FieldPart I062_V1_18_295_GVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_GVR_VALUE, NULL }; static const FieldPart *I062_V1_18_295_GVR_PARTS[] = { &I062_V1_18_295_GVR_VALUE, NULL }; static const AsterixField I062_V1_18_295_GVR = { FIXED, 1, 0, 0, &hf_062_V1_18_295_GVR, I062_V1_18_295_GVR_PARTS, { NULL } }; static int hf_062_V1_18_295_RAN; static int hf_062_V1_18_295_RAN_VALUE; static const FieldPart I062_V1_18_295_RAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_RAN_VALUE, NULL }; static const FieldPart *I062_V1_18_295_RAN_PARTS[] = { &I062_V1_18_295_RAN_VALUE, NULL }; static const AsterixField I062_V1_18_295_RAN = { FIXED, 1, 0, 0, &hf_062_V1_18_295_RAN, I062_V1_18_295_RAN_PARTS, { NULL } }; static int hf_062_V1_18_295_TAR; static int hf_062_V1_18_295_TAR_VALUE; static const FieldPart I062_V1_18_295_TAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_TAR_VALUE, NULL }; static const FieldPart *I062_V1_18_295_TAR_PARTS[] = { &I062_V1_18_295_TAR_VALUE, NULL }; static const AsterixField I062_V1_18_295_TAR = { FIXED, 1, 0, 0, &hf_062_V1_18_295_TAR, I062_V1_18_295_TAR_PARTS, { NULL } }; static int hf_062_V1_18_295_TAN; static int hf_062_V1_18_295_TAN_VALUE; static const FieldPart I062_V1_18_295_TAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_TAN_VALUE, NULL }; static const FieldPart *I062_V1_18_295_TAN_PARTS[] = { &I062_V1_18_295_TAN_VALUE, NULL }; static const AsterixField I062_V1_18_295_TAN = { FIXED, 1, 0, 0, &hf_062_V1_18_295_TAN, I062_V1_18_295_TAN_PARTS, { NULL } }; static int hf_062_V1_18_295_GSP; static int hf_062_V1_18_295_GSP_VALUE; static const FieldPart I062_V1_18_295_GSP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_GSP_VALUE, NULL }; static const FieldPart *I062_V1_18_295_GSP_PARTS[] = { &I062_V1_18_295_GSP_VALUE, NULL }; static const AsterixField I062_V1_18_295_GSP = { FIXED, 1, 0, 0, &hf_062_V1_18_295_GSP, I062_V1_18_295_GSP_PARTS, { NULL } }; static int hf_062_V1_18_295_VUN; static int hf_062_V1_18_295_VUN_VALUE; static const FieldPart I062_V1_18_295_VUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_VUN_VALUE, NULL }; static const FieldPart *I062_V1_18_295_VUN_PARTS[] = { &I062_V1_18_295_VUN_VALUE, NULL }; static const AsterixField I062_V1_18_295_VUN = { FIXED, 1, 0, 0, &hf_062_V1_18_295_VUN, I062_V1_18_295_VUN_PARTS, { NULL } }; static int hf_062_V1_18_295_MET; static int hf_062_V1_18_295_MET_VALUE; static const FieldPart I062_V1_18_295_MET_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MET_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MET_PARTS[] = { &I062_V1_18_295_MET_VALUE, NULL }; static const AsterixField I062_V1_18_295_MET = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MET, I062_V1_18_295_MET_PARTS, { NULL } }; static int hf_062_V1_18_295_EMC; static int hf_062_V1_18_295_EMC_VALUE; static const FieldPart I062_V1_18_295_EMC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_EMC_VALUE, NULL }; static const FieldPart *I062_V1_18_295_EMC_PARTS[] = { &I062_V1_18_295_EMC_VALUE, NULL }; static const AsterixField I062_V1_18_295_EMC = { FIXED, 1, 0, 0, &hf_062_V1_18_295_EMC, I062_V1_18_295_EMC_PARTS, { NULL } }; static int hf_062_V1_18_295_POS; static int hf_062_V1_18_295_POS_VALUE; static const FieldPart I062_V1_18_295_POS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_POS_VALUE, NULL }; static const FieldPart *I062_V1_18_295_POS_PARTS[] = { &I062_V1_18_295_POS_VALUE, NULL }; static const AsterixField I062_V1_18_295_POS = { FIXED, 1, 0, 0, &hf_062_V1_18_295_POS, I062_V1_18_295_POS_PARTS, { NULL } }; static int hf_062_V1_18_295_GAL; static int hf_062_V1_18_295_GAL_VALUE; static const FieldPart I062_V1_18_295_GAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_GAL_VALUE, NULL }; static const FieldPart *I062_V1_18_295_GAL_PARTS[] = { &I062_V1_18_295_GAL_VALUE, NULL }; static const AsterixField I062_V1_18_295_GAL = { FIXED, 1, 0, 0, &hf_062_V1_18_295_GAL, I062_V1_18_295_GAL_PARTS, { NULL } }; static int hf_062_V1_18_295_PUN; static int hf_062_V1_18_295_PUN_VALUE; static const FieldPart I062_V1_18_295_PUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_PUN_VALUE, NULL }; static const FieldPart *I062_V1_18_295_PUN_PARTS[] = { &I062_V1_18_295_PUN_VALUE, NULL }; static const AsterixField I062_V1_18_295_PUN = { FIXED, 1, 0, 0, &hf_062_V1_18_295_PUN, I062_V1_18_295_PUN_PARTS, { NULL } }; static int hf_062_V1_18_295_MB; static int hf_062_V1_18_295_MB_VALUE; static const FieldPart I062_V1_18_295_MB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MB_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MB_PARTS[] = { &I062_V1_18_295_MB_VALUE, NULL }; static const AsterixField I062_V1_18_295_MB = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MB, I062_V1_18_295_MB_PARTS, { NULL } }; static int hf_062_V1_18_295_IAR; static int hf_062_V1_18_295_IAR_VALUE; static const FieldPart I062_V1_18_295_IAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_IAR_VALUE, NULL }; static const FieldPart *I062_V1_18_295_IAR_PARTS[] = { &I062_V1_18_295_IAR_VALUE, NULL }; static const AsterixField I062_V1_18_295_IAR = { FIXED, 1, 0, 0, &hf_062_V1_18_295_IAR, I062_V1_18_295_IAR_PARTS, { NULL } }; static int hf_062_V1_18_295_MAC; static int hf_062_V1_18_295_MAC_VALUE; static const FieldPart I062_V1_18_295_MAC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_MAC_VALUE, NULL }; static const FieldPart *I062_V1_18_295_MAC_PARTS[] = { &I062_V1_18_295_MAC_VALUE, NULL }; static const AsterixField I062_V1_18_295_MAC = { FIXED, 1, 0, 0, &hf_062_V1_18_295_MAC, I062_V1_18_295_MAC_PARTS, { NULL } }; static int hf_062_V1_18_295_BPS; static int hf_062_V1_18_295_BPS_VALUE; static const FieldPart I062_V1_18_295_BPS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_295_BPS_VALUE, NULL }; static const FieldPart *I062_V1_18_295_BPS_PARTS[] = { &I062_V1_18_295_BPS_VALUE, NULL }; static const AsterixField I062_V1_18_295_BPS = { FIXED, 1, 0, 0, &hf_062_V1_18_295_BPS, I062_V1_18_295_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_18_295 = { COMPOUND, 0, 0, 0, &hf_062_V1_18_295, NULL, { &I062_V1_18_295_MFL, &I062_V1_18_295_MD1, &I062_V1_18_295_MD2, &I062_V1_18_295_MDA, &I062_V1_18_295_MD4, &I062_V1_18_295_MD5, &I062_V1_18_295_MHG, &I062_V1_18_295_IAS, &I062_V1_18_295_TAS, &I062_V1_18_295_SAL, &I062_V1_18_295_FSS, &I062_V1_18_295_TID, &I062_V1_18_295_COM, &I062_V1_18_295_SAB, &I062_V1_18_295_ACS, &I062_V1_18_295_BVR, &I062_V1_18_295_GVR, &I062_V1_18_295_RAN, &I062_V1_18_295_TAR, &I062_V1_18_295_TAN, &I062_V1_18_295_GSP, &I062_V1_18_295_VUN, &I062_V1_18_295_MET, &I062_V1_18_295_EMC, &I062_V1_18_295_POS, &I062_V1_18_295_GAL, &I062_V1_18_295_PUN, &I062_V1_18_295_MB, &I062_V1_18_295_IAR, &I062_V1_18_295_MAC, &I062_V1_18_295_BPS, NULL } }; static int hf_062_V1_18_300; static int hf_062_V1_18_300_VALUE; static const value_string valstr_062_V1_18_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I062_V1_18_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_18_300_VALUE, NULL }; static const FieldPart *I062_V1_18_300_PARTS[] = { &I062_V1_18_300_VALUE, NULL }; static const AsterixField I062_V1_18_300 = { FIXED, 1, 0, 0, &hf_062_V1_18_300, I062_V1_18_300_PARTS, { NULL } }; static int hf_062_V1_18_340; static int hf_062_V1_18_340_SID; static int hf_062_V1_18_340_SID_SAC; static const FieldPart I062_V1_18_340_SID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_340_SID_SAC, NULL }; static int hf_062_V1_18_340_SID_SIC; static const FieldPart I062_V1_18_340_SID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_340_SID_SIC, NULL }; static const FieldPart *I062_V1_18_340_SID_PARTS[] = { &I062_V1_18_340_SID_SAC, &I062_V1_18_340_SID_SIC, NULL }; static const AsterixField I062_V1_18_340_SID = { FIXED, 2, 0, 0, &hf_062_V1_18_340_SID, I062_V1_18_340_SID_PARTS, { NULL } }; static int hf_062_V1_18_340_POS; static int hf_062_V1_18_340_POS_RHO; static const FieldPart I062_V1_18_340_POS_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_062_V1_18_340_POS_RHO, NULL }; static int hf_062_V1_18_340_POS_THETA; static const FieldPart I062_V1_18_340_POS_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_18_340_POS_THETA, NULL }; static const FieldPart *I062_V1_18_340_POS_PARTS[] = { &I062_V1_18_340_POS_RHO, &I062_V1_18_340_POS_THETA, NULL }; static const AsterixField I062_V1_18_340_POS = { FIXED, 4, 0, 0, &hf_062_V1_18_340_POS, I062_V1_18_340_POS_PARTS, { NULL } }; static int hf_062_V1_18_340_HEIGHT; static int hf_062_V1_18_340_HEIGHT_VALUE; static const FieldPart I062_V1_18_340_HEIGHT_VALUE = { 16, 25.0, FIELD_PART_UFLOAT, &hf_062_V1_18_340_HEIGHT_VALUE, NULL }; static const FieldPart *I062_V1_18_340_HEIGHT_PARTS[] = { &I062_V1_18_340_HEIGHT_VALUE, NULL }; static const AsterixField I062_V1_18_340_HEIGHT = { FIXED, 2, 0, 0, &hf_062_V1_18_340_HEIGHT, I062_V1_18_340_HEIGHT_PARTS, { NULL } }; static int hf_062_V1_18_340_MDC; static int hf_062_V1_18_340_MDC_V; static const value_string valstr_062_V1_18_340_MDC_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_MDC_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_MDC_V, NULL }; static int hf_062_V1_18_340_MDC_G; static const value_string valstr_062_V1_18_340_MDC_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_MDC_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_MDC_G, NULL }; static int hf_062_V1_18_340_MDC_LMC; static const FieldPart I062_V1_18_340_MDC_LMC = { 14, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_340_MDC_LMC, NULL }; static const FieldPart *I062_V1_18_340_MDC_PARTS[] = { &I062_V1_18_340_MDC_V, &I062_V1_18_340_MDC_G, &I062_V1_18_340_MDC_LMC, NULL }; static const AsterixField I062_V1_18_340_MDC = { FIXED, 2, 0, 0, &hf_062_V1_18_340_MDC, I062_V1_18_340_MDC_PARTS, { NULL } }; static int hf_062_V1_18_340_MDA; static int hf_062_V1_18_340_MDA_V; static const value_string valstr_062_V1_18_340_MDA_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_MDA_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_MDA_V, NULL }; static int hf_062_V1_18_340_MDA_G; static const value_string valstr_062_V1_18_340_MDA_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_MDA_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_MDA_G, NULL }; static int hf_062_V1_18_340_MDA_L; static const value_string valstr_062_V1_18_340_MDA_L[] = { { 0, "Mode 3/A code as derived from the reply of the transponder" }, { 1, "Mode 3/A code as provided by a sensor local tracker" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_MDA_L = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_MDA_L, NULL }; static int hf_062_V1_18_340_MDA_MODE3A; static const FieldPart I062_V1_18_340_MDA_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_18_340_MDA_MODE3A, NULL }; static const FieldPart *I062_V1_18_340_MDA_PARTS[] = { &I062_V1_18_340_MDA_V, &I062_V1_18_340_MDA_G, &I062_V1_18_340_MDA_L, &IXXX_1bit_spare, &I062_V1_18_340_MDA_MODE3A, NULL }; static const AsterixField I062_V1_18_340_MDA = { FIXED, 2, 0, 0, &hf_062_V1_18_340_MDA, I062_V1_18_340_MDA_PARTS, { NULL } }; static int hf_062_V1_18_340_TYP; static int hf_062_V1_18_340_TYP_TYP; static const value_string valstr_062_V1_18_340_TYP_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call + PSR" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_TYP_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_TYP_TYP, NULL }; static int hf_062_V1_18_340_TYP_SIM; static const value_string valstr_062_V1_18_340_TYP_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_TYP_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_TYP_SIM, NULL }; static int hf_062_V1_18_340_TYP_RAB; static const value_string valstr_062_V1_18_340_TYP_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (item transponder)" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_TYP_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_TYP_RAB, NULL }; static int hf_062_V1_18_340_TYP_TST; static const value_string valstr_062_V1_18_340_TYP_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I062_V1_18_340_TYP_TST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_340_TYP_TST, NULL }; static const FieldPart *I062_V1_18_340_TYP_PARTS[] = { &I062_V1_18_340_TYP_TYP, &I062_V1_18_340_TYP_SIM, &I062_V1_18_340_TYP_RAB, &I062_V1_18_340_TYP_TST, &IXXX_2bit_spare, NULL }; static const AsterixField I062_V1_18_340_TYP = { FIXED, 1, 0, 0, &hf_062_V1_18_340_TYP, I062_V1_18_340_TYP_PARTS, { NULL } }; static const AsterixField I062_V1_18_340 = { COMPOUND, 0, 0, 0, &hf_062_V1_18_340, NULL, { &I062_V1_18_340_SID, &I062_V1_18_340_POS, &I062_V1_18_340_HEIGHT, &I062_V1_18_340_MDC, &I062_V1_18_340_MDA, &I062_V1_18_340_TYP, NULL } }; static int hf_062_V1_18_380; static int hf_062_V1_18_380_ADR; static int hf_062_V1_18_380_ADR_VALUE; static const FieldPart I062_V1_18_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_ADR_VALUE, NULL }; static const FieldPart *I062_V1_18_380_ADR_PARTS[] = { &I062_V1_18_380_ADR_VALUE, NULL }; static const AsterixField I062_V1_18_380_ADR = { FIXED, 3, 0, 0, &hf_062_V1_18_380_ADR, I062_V1_18_380_ADR_PARTS, { NULL } }; static int hf_062_V1_18_380_ID; static int hf_062_V1_18_380_ID_VALUE; static const FieldPart I062_V1_18_380_ID_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_18_380_ID_VALUE, NULL }; static const FieldPart *I062_V1_18_380_ID_PARTS[] = { &I062_V1_18_380_ID_VALUE, NULL }; static const AsterixField I062_V1_18_380_ID = { FIXED, 6, 0, 0, &hf_062_V1_18_380_ID, I062_V1_18_380_ID_PARTS, { NULL } }; static int hf_062_V1_18_380_MHG; static int hf_062_V1_18_380_MHG_VALUE; static const FieldPart I062_V1_18_380_MHG_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_18_380_MHG_VALUE, NULL }; static const FieldPart *I062_V1_18_380_MHG_PARTS[] = { &I062_V1_18_380_MHG_VALUE, NULL }; static const AsterixField I062_V1_18_380_MHG = { FIXED, 2, 0, 0, &hf_062_V1_18_380_MHG, I062_V1_18_380_MHG_PARTS, { NULL } }; static int hf_062_V1_18_380_IAS; static int hf_062_V1_18_380_IAS_IM; static const value_string valstr_062_V1_18_380_IAS_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2^-14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_IAS_IM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_IAS_IM, NULL }; static int hf_062_V1_18_380_IAS_IAS; static const FieldPart I062_V1_18_380_IAS_IAS = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_IAS_IAS, NULL }; static const FieldPart *I062_V1_18_380_IAS_PARTS[] = { &I062_V1_18_380_IAS_IM, &I062_V1_18_380_IAS_IAS, NULL }; static const AsterixField I062_V1_18_380_IAS = { FIXED, 2, 0, 0, &hf_062_V1_18_380_IAS, I062_V1_18_380_IAS_PARTS, { NULL } }; static int hf_062_V1_18_380_TAS; static int hf_062_V1_18_380_TAS_VALUE; static const FieldPart I062_V1_18_380_TAS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_18_380_TAS_VALUE, NULL }; static const FieldPart *I062_V1_18_380_TAS_PARTS[] = { &I062_V1_18_380_TAS_VALUE, NULL }; static const AsterixField I062_V1_18_380_TAS = { FIXED, 2, 0, 0, &hf_062_V1_18_380_TAS, I062_V1_18_380_TAS_PARTS, { NULL } }; static int hf_062_V1_18_380_SAL; static int hf_062_V1_18_380_SAL_SAS; static const value_string valstr_062_V1_18_380_SAL_SAS[] = { { 0, "No source information provided" }, { 1, "Source information provided" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_SAL_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_SAL_SAS, NULL }; static int hf_062_V1_18_380_SAL_SRC; static const value_string valstr_062_V1_18_380_SAL_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft altitude" }, { 2, "FCU/MCP selected altitude" }, { 3, "FMS selected altitude" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_SAL_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_SAL_SRC, NULL }; static int hf_062_V1_18_380_SAL_ALT; static const FieldPart I062_V1_18_380_SAL_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_18_380_SAL_ALT, NULL }; static const FieldPart *I062_V1_18_380_SAL_PARTS[] = { &I062_V1_18_380_SAL_SAS, &I062_V1_18_380_SAL_SRC, &I062_V1_18_380_SAL_ALT, NULL }; static const AsterixField I062_V1_18_380_SAL = { FIXED, 2, 0, 0, &hf_062_V1_18_380_SAL, I062_V1_18_380_SAL_PARTS, { NULL } }; static int hf_062_V1_18_380_FSS; static int hf_062_V1_18_380_FSS_MV; static const value_string valstr_062_V1_18_380_FSS_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_FSS_MV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_FSS_MV, NULL }; static int hf_062_V1_18_380_FSS_AH; static const value_string valstr_062_V1_18_380_FSS_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_FSS_AH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_FSS_AH, NULL }; static int hf_062_V1_18_380_FSS_AM; static const value_string valstr_062_V1_18_380_FSS_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_FSS_AM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_FSS_AM, NULL }; static int hf_062_V1_18_380_FSS_ALT; static const FieldPart I062_V1_18_380_FSS_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_18_380_FSS_ALT, NULL }; static const FieldPart *I062_V1_18_380_FSS_PARTS[] = { &I062_V1_18_380_FSS_MV, &I062_V1_18_380_FSS_AH, &I062_V1_18_380_FSS_AM, &I062_V1_18_380_FSS_ALT, NULL }; static const AsterixField I062_V1_18_380_FSS = { FIXED, 2, 0, 0, &hf_062_V1_18_380_FSS, I062_V1_18_380_FSS_PARTS, { NULL } }; static int hf_062_V1_18_380_TIS; static int hf_062_V1_18_380_TIS_NAV; static const value_string valstr_062_V1_18_380_TIS_NAV[] = { { 0, "Trajectory intent data is available for this aircraft" }, { 1, "Trajectory intent data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TIS_NAV, NULL }; static int hf_062_V1_18_380_TIS_NVB; static const value_string valstr_062_V1_18_380_TIS_NVB[] = { { 0, "Trajectory intent data is valid" }, { 1, "Trajectory intent data is not valid" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TIS_NVB, NULL }; static const FieldPart *I062_V1_18_380_TIS_PARTS[] = { &I062_V1_18_380_TIS_NAV, &I062_V1_18_380_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_V1_18_380_TIS = { FX, 1, 0, 0, &hf_062_V1_18_380_TIS, I062_V1_18_380_TIS_PARTS, { NULL } }; static int hf_062_V1_18_380_TID; static int hf_062_V1_18_380_TID_TCA; static const value_string valstr_062_V1_18_380_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TID_TCA, NULL }; static int hf_062_V1_18_380_TID_NC; static const value_string valstr_062_V1_18_380_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TID_NC, NULL }; static int hf_062_V1_18_380_TID_TCPN; static const FieldPart I062_V1_18_380_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_TID_TCPN, NULL }; static int hf_062_V1_18_380_TID_ALT; static const FieldPart I062_V1_18_380_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_062_V1_18_380_TID_ALT, NULL }; static int hf_062_V1_18_380_TID_LAT; static const FieldPart I062_V1_18_380_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_18_380_TID_LAT, NULL }; static int hf_062_V1_18_380_TID_LON; static const FieldPart I062_V1_18_380_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_18_380_TID_LON, NULL }; static int hf_062_V1_18_380_TID_PT; static const value_string valstr_062_V1_18_380_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TID_PT, NULL }; static int hf_062_V1_18_380_TID_TD; static const value_string valstr_062_V1_18_380_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TID_TD, NULL }; static int hf_062_V1_18_380_TID_TRA; static const value_string valstr_062_V1_18_380_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TID_TRA, NULL }; static int hf_062_V1_18_380_TID_TOA; static const value_string valstr_062_V1_18_380_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TID_TOA, NULL }; static int hf_062_V1_18_380_TID_TOV; static const FieldPart I062_V1_18_380_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_18_380_TID_TOV, NULL }; static int hf_062_V1_18_380_TID_TTR; static const FieldPart I062_V1_18_380_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_062_V1_18_380_TID_TTR, NULL }; static const FieldPart *I062_V1_18_380_TID_PARTS[] = { &I062_V1_18_380_TID_TCA, &I062_V1_18_380_TID_NC, &I062_V1_18_380_TID_TCPN, &I062_V1_18_380_TID_ALT, &I062_V1_18_380_TID_LAT, &I062_V1_18_380_TID_LON, &I062_V1_18_380_TID_PT, &I062_V1_18_380_TID_TD, &I062_V1_18_380_TID_TRA, &I062_V1_18_380_TID_TOA, &I062_V1_18_380_TID_TOV, &I062_V1_18_380_TID_TTR, NULL }; static const AsterixField I062_V1_18_380_TID = { REPETITIVE, 15, 1, 0, &hf_062_V1_18_380_TID, I062_V1_18_380_TID_PARTS, { NULL } }; static int hf_062_V1_18_380_COM; static int hf_062_V1_18_380_COM_COM; static const value_string valstr_062_V1_18_380_COM_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_COM_COM = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_COM_COM, NULL }; static int hf_062_V1_18_380_COM_STAT; static const value_string valstr_062_V1_18_380_COM_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "Not defined" }, { 7, "Unknown or not yet extracted" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_COM_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_COM_STAT, NULL }; static int hf_062_V1_18_380_COM_SSC; static const value_string valstr_062_V1_18_380_COM_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_COM_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_COM_SSC, NULL }; static int hf_062_V1_18_380_COM_ARC; static const value_string valstr_062_V1_18_380_COM_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_COM_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_COM_ARC, NULL }; static int hf_062_V1_18_380_COM_AIC; static const value_string valstr_062_V1_18_380_COM_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_COM_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_COM_AIC, NULL }; static int hf_062_V1_18_380_COM_B1A; static const FieldPart I062_V1_18_380_COM_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_COM_B1A, NULL }; static int hf_062_V1_18_380_COM_B1B; static const FieldPart I062_V1_18_380_COM_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_COM_B1B, NULL }; static const FieldPart *I062_V1_18_380_COM_PARTS[] = { &I062_V1_18_380_COM_COM, &I062_V1_18_380_COM_STAT, &IXXX_2bit_spare, &I062_V1_18_380_COM_SSC, &I062_V1_18_380_COM_ARC, &I062_V1_18_380_COM_AIC, &I062_V1_18_380_COM_B1A, &I062_V1_18_380_COM_B1B, NULL }; static const AsterixField I062_V1_18_380_COM = { FIXED, 2, 0, 0, &hf_062_V1_18_380_COM, I062_V1_18_380_COM_PARTS, { NULL } }; static int hf_062_V1_18_380_SAB; static int hf_062_V1_18_380_SAB_AC; static const value_string valstr_062_V1_18_380_SAB_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operational" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_SAB_AC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_SAB_AC, NULL }; static int hf_062_V1_18_380_SAB_MN; static const value_string valstr_062_V1_18_380_SAB_MN[] = { { 0, "Unknown" }, { 1, "Multiple navigational aids not operating" }, { 2, "Multiple navigational aids operating" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_SAB_MN = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_SAB_MN, NULL }; static int hf_062_V1_18_380_SAB_DC; static const value_string valstr_062_V1_18_380_SAB_DC[] = { { 0, "Unknown" }, { 1, "Differential correction" }, { 2, "No differential correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_SAB_DC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_SAB_DC, NULL }; static int hf_062_V1_18_380_SAB_GBS; static const value_string valstr_062_V1_18_380_SAB_GBS[] = { { 0, "Transponder ground bit not set or unknown" }, { 1, "Transponder Ground Bit set" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_SAB_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_SAB_GBS, NULL }; static int hf_062_V1_18_380_SAB_STAT; static const value_string valstr_062_V1_18_380_SAB_STAT[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_SAB_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_SAB_STAT, NULL }; static const FieldPart *I062_V1_18_380_SAB_PARTS[] = { &I062_V1_18_380_SAB_AC, &I062_V1_18_380_SAB_MN, &I062_V1_18_380_SAB_DC, &I062_V1_18_380_SAB_GBS, &IXXX_6bit_spare, &I062_V1_18_380_SAB_STAT, NULL }; static const AsterixField I062_V1_18_380_SAB = { FIXED, 2, 0, 0, &hf_062_V1_18_380_SAB, I062_V1_18_380_SAB_PARTS, { NULL } }; static int hf_062_V1_18_380_ACS; static int hf_062_V1_18_380_ACS_VALUE; static const FieldPart I062_V1_18_380_ACS_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_ACS_VALUE, NULL }; static const FieldPart *I062_V1_18_380_ACS_PARTS[] = { &I062_V1_18_380_ACS_VALUE, NULL }; static const AsterixField I062_V1_18_380_ACS = { FIXED, 7, 0, 0, &hf_062_V1_18_380_ACS, I062_V1_18_380_ACS_PARTS, { NULL } }; static int hf_062_V1_18_380_BVR; static int hf_062_V1_18_380_BVR_VALUE; static const FieldPart I062_V1_18_380_BVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_18_380_BVR_VALUE, NULL }; static const FieldPart *I062_V1_18_380_BVR_PARTS[] = { &I062_V1_18_380_BVR_VALUE, NULL }; static const AsterixField I062_V1_18_380_BVR = { FIXED, 2, 0, 0, &hf_062_V1_18_380_BVR, I062_V1_18_380_BVR_PARTS, { NULL } }; static int hf_062_V1_18_380_GVR; static int hf_062_V1_18_380_GVR_VALUE; static const FieldPart I062_V1_18_380_GVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_18_380_GVR_VALUE, NULL }; static const FieldPart *I062_V1_18_380_GVR_PARTS[] = { &I062_V1_18_380_GVR_VALUE, NULL }; static const AsterixField I062_V1_18_380_GVR = { FIXED, 2, 0, 0, &hf_062_V1_18_380_GVR, I062_V1_18_380_GVR_PARTS, { NULL } }; static int hf_062_V1_18_380_RAN; static int hf_062_V1_18_380_RAN_VALUE; static const FieldPart I062_V1_18_380_RAN_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_062_V1_18_380_RAN_VALUE, NULL }; static const FieldPart *I062_V1_18_380_RAN_PARTS[] = { &I062_V1_18_380_RAN_VALUE, NULL }; static const AsterixField I062_V1_18_380_RAN = { FIXED, 2, 0, 0, &hf_062_V1_18_380_RAN, I062_V1_18_380_RAN_PARTS, { NULL } }; static int hf_062_V1_18_380_TAR; static int hf_062_V1_18_380_TAR_TI; static const value_string valstr_062_V1_18_380_TAR_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_TAR_TI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_TAR_TI, NULL }; static int hf_062_V1_18_380_TAR_ROT; static const FieldPart I062_V1_18_380_TAR_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_380_TAR_ROT, NULL }; static const FieldPart *I062_V1_18_380_TAR_PARTS[] = { &I062_V1_18_380_TAR_TI, &IXXX_6bit_spare, &I062_V1_18_380_TAR_ROT, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_18_380_TAR = { FIXED, 2, 0, 0, &hf_062_V1_18_380_TAR, I062_V1_18_380_TAR_PARTS, { NULL } }; static int hf_062_V1_18_380_TAN; static int hf_062_V1_18_380_TAN_VALUE; static const FieldPart I062_V1_18_380_TAN_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_18_380_TAN_VALUE, NULL }; static const FieldPart *I062_V1_18_380_TAN_PARTS[] = { &I062_V1_18_380_TAN_VALUE, NULL }; static const AsterixField I062_V1_18_380_TAN = { FIXED, 2, 0, 0, &hf_062_V1_18_380_TAN, I062_V1_18_380_TAN_PARTS, { NULL } }; static int hf_062_V1_18_380_GS; static int hf_062_V1_18_380_GS_VALUE; static const FieldPart I062_V1_18_380_GS_VALUE = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_062_V1_18_380_GS_VALUE, NULL }; static const FieldPart *I062_V1_18_380_GS_PARTS[] = { &I062_V1_18_380_GS_VALUE, NULL }; static const AsterixField I062_V1_18_380_GS = { FIXED, 2, 0, 0, &hf_062_V1_18_380_GS, I062_V1_18_380_GS_PARTS, { NULL } }; static int hf_062_V1_18_380_VUN; static int hf_062_V1_18_380_VUN_VALUE; static const FieldPart I062_V1_18_380_VUN_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_VUN_VALUE, NULL }; static const FieldPart *I062_V1_18_380_VUN_PARTS[] = { &I062_V1_18_380_VUN_VALUE, NULL }; static const AsterixField I062_V1_18_380_VUN = { FIXED, 1, 0, 0, &hf_062_V1_18_380_VUN, I062_V1_18_380_VUN_PARTS, { NULL } }; static int hf_062_V1_18_380_MET; static int hf_062_V1_18_380_MET_WS; static const value_string valstr_062_V1_18_380_MET_WS[] = { { 0, "Not valid Wind Speed" }, { 1, "Valid Wind Speed" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_MET_WS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_MET_WS, NULL }; static int hf_062_V1_18_380_MET_WD; static const value_string valstr_062_V1_18_380_MET_WD[] = { { 0, "Not valid Wind Direction" }, { 1, "Valid Wind Direction" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_MET_WD = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_MET_WD, NULL }; static int hf_062_V1_18_380_MET_TMP; static const value_string valstr_062_V1_18_380_MET_TMP[] = { { 0, "Not valid Temperature" }, { 1, "Valid Temperature" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_MET_TMP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_MET_TMP, NULL }; static int hf_062_V1_18_380_MET_TRB; static const value_string valstr_062_V1_18_380_MET_TRB[] = { { 0, "Not valid Turbulence" }, { 1, "Valid Turbulence" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_MET_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_MET_TRB, NULL }; static int hf_062_V1_18_380_MET_WSD; static const FieldPart I062_V1_18_380_MET_WSD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_18_380_MET_WSD, NULL }; static int hf_062_V1_18_380_MET_WDD; static const FieldPart I062_V1_18_380_MET_WDD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_18_380_MET_WDD, NULL }; static int hf_062_V1_18_380_MET_TMPD; static const FieldPart I062_V1_18_380_MET_TMPD = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_18_380_MET_TMPD, NULL }; static int hf_062_V1_18_380_MET_TRBD; static const FieldPart I062_V1_18_380_MET_TRBD = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_MET_TRBD, NULL }; static const FieldPart *I062_V1_18_380_MET_PARTS[] = { &I062_V1_18_380_MET_WS, &I062_V1_18_380_MET_WD, &I062_V1_18_380_MET_TMP, &I062_V1_18_380_MET_TRB, &IXXX_4bit_spare, &I062_V1_18_380_MET_WSD, &I062_V1_18_380_MET_WDD, &I062_V1_18_380_MET_TMPD, &I062_V1_18_380_MET_TRBD, NULL }; static const AsterixField I062_V1_18_380_MET = { FIXED, 8, 0, 0, &hf_062_V1_18_380_MET, I062_V1_18_380_MET_PARTS, { NULL } }; static int hf_062_V1_18_380_EMC; static int hf_062_V1_18_380_EMC_VALUE; static const value_string valstr_062_V1_18_380_EMC_VALUE[] = { { 1, "Light aircraft =< 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I062_V1_18_380_EMC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_18_380_EMC_VALUE, NULL }; static const FieldPart *I062_V1_18_380_EMC_PARTS[] = { &I062_V1_18_380_EMC_VALUE, NULL }; static const AsterixField I062_V1_18_380_EMC = { FIXED, 1, 0, 0, &hf_062_V1_18_380_EMC, I062_V1_18_380_EMC_PARTS, { NULL } }; static int hf_062_V1_18_380_POS; static int hf_062_V1_18_380_POS_LAT; static const FieldPart I062_V1_18_380_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_18_380_POS_LAT, NULL }; static int hf_062_V1_18_380_POS_LON; static const FieldPart I062_V1_18_380_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_18_380_POS_LON, NULL }; static const FieldPart *I062_V1_18_380_POS_PARTS[] = { &I062_V1_18_380_POS_LAT, &I062_V1_18_380_POS_LON, NULL }; static const AsterixField I062_V1_18_380_POS = { FIXED, 6, 0, 0, &hf_062_V1_18_380_POS, I062_V1_18_380_POS_PARTS, { NULL } }; static int hf_062_V1_18_380_GAL; static int hf_062_V1_18_380_GAL_VALUE; static const FieldPart I062_V1_18_380_GAL_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_18_380_GAL_VALUE, NULL }; static const FieldPart *I062_V1_18_380_GAL_PARTS[] = { &I062_V1_18_380_GAL_VALUE, NULL }; static const AsterixField I062_V1_18_380_GAL = { FIXED, 2, 0, 0, &hf_062_V1_18_380_GAL, I062_V1_18_380_GAL_PARTS, { NULL } }; static int hf_062_V1_18_380_PUN; static int hf_062_V1_18_380_PUN_PUN; static const FieldPart I062_V1_18_380_PUN_PUN = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_PUN_PUN, NULL }; static const FieldPart *I062_V1_18_380_PUN_PARTS[] = { &IXXX_4bit_spare, &I062_V1_18_380_PUN_PUN, NULL }; static const AsterixField I062_V1_18_380_PUN = { FIXED, 1, 0, 0, &hf_062_V1_18_380_PUN, I062_V1_18_380_PUN_PARTS, { NULL } }; static int hf_062_V1_18_380_MB; static int hf_062_V1_18_380_MB_VALUE; static const FieldPart I062_V1_18_380_MB_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_062_V1_18_380_MB_VALUE, NULL }; static const FieldPart *I062_V1_18_380_MB_PARTS[] = { &I062_V1_18_380_MB_VALUE, NULL }; static const AsterixField I062_V1_18_380_MB = { REPETITIVE, 8, 1, 0, &hf_062_V1_18_380_MB, I062_V1_18_380_MB_PARTS, { NULL } }; static int hf_062_V1_18_380_IAR; static int hf_062_V1_18_380_IAR_VALUE; static const FieldPart I062_V1_18_380_IAR_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_18_380_IAR_VALUE, NULL }; static const FieldPart *I062_V1_18_380_IAR_PARTS[] = { &I062_V1_18_380_IAR_VALUE, NULL }; static const AsterixField I062_V1_18_380_IAR = { FIXED, 2, 0, 0, &hf_062_V1_18_380_IAR, I062_V1_18_380_IAR_PARTS, { NULL } }; static int hf_062_V1_18_380_MAC; static int hf_062_V1_18_380_MAC_VALUE; static const FieldPart I062_V1_18_380_MAC_VALUE = { 16, 0.008, FIELD_PART_UFLOAT, &hf_062_V1_18_380_MAC_VALUE, NULL }; static const FieldPart *I062_V1_18_380_MAC_PARTS[] = { &I062_V1_18_380_MAC_VALUE, NULL }; static const AsterixField I062_V1_18_380_MAC = { FIXED, 2, 0, 0, &hf_062_V1_18_380_MAC, I062_V1_18_380_MAC_PARTS, { NULL } }; static int hf_062_V1_18_380_BPS; static int hf_062_V1_18_380_BPS_BPS; static const FieldPart I062_V1_18_380_BPS_BPS = { 12, 0.1, FIELD_PART_UFLOAT, &hf_062_V1_18_380_BPS_BPS, NULL }; static const FieldPart *I062_V1_18_380_BPS_PARTS[] = { &IXXX_4bit_spare, &I062_V1_18_380_BPS_BPS, NULL }; static const AsterixField I062_V1_18_380_BPS = { FIXED, 2, 0, 0, &hf_062_V1_18_380_BPS, I062_V1_18_380_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_18_380 = { COMPOUND, 0, 0, 0, &hf_062_V1_18_380, NULL, { &I062_V1_18_380_ADR, &I062_V1_18_380_ID, &I062_V1_18_380_MHG, &I062_V1_18_380_IAS, &I062_V1_18_380_TAS, &I062_V1_18_380_SAL, &I062_V1_18_380_FSS, &I062_V1_18_380_TIS, &I062_V1_18_380_TID, &I062_V1_18_380_COM, &I062_V1_18_380_SAB, &I062_V1_18_380_ACS, &I062_V1_18_380_BVR, &I062_V1_18_380_GVR, &I062_V1_18_380_RAN, &I062_V1_18_380_TAR, &I062_V1_18_380_TAN, &I062_V1_18_380_GS, &I062_V1_18_380_VUN, &I062_V1_18_380_MET, &I062_V1_18_380_EMC, &I062_V1_18_380_POS, &I062_V1_18_380_GAL, &I062_V1_18_380_PUN, &I062_V1_18_380_MB, &I062_V1_18_380_IAR, &I062_V1_18_380_MAC, &I062_V1_18_380_BPS, NULL } }; static int hf_062_V1_18_390; static int hf_062_V1_18_390_TAG; static int hf_062_V1_18_390_TAG_SAC; static const FieldPart I062_V1_18_390_TAG_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_390_TAG_SAC, NULL }; static int hf_062_V1_18_390_TAG_SIC; static const FieldPart I062_V1_18_390_TAG_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_390_TAG_SIC, NULL }; static const FieldPart *I062_V1_18_390_TAG_PARTS[] = { &I062_V1_18_390_TAG_SAC, &I062_V1_18_390_TAG_SIC, NULL }; static const AsterixField I062_V1_18_390_TAG = { FIXED, 2, 0, 0, &hf_062_V1_18_390_TAG, I062_V1_18_390_TAG_PARTS, { NULL } }; static int hf_062_V1_18_390_CS; static int hf_062_V1_18_390_CS_VALUE; static const FieldPart I062_V1_18_390_CS_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_CS_VALUE, NULL }; static const FieldPart *I062_V1_18_390_CS_PARTS[] = { &I062_V1_18_390_CS_VALUE, NULL }; static const AsterixField I062_V1_18_390_CS = { FIXED, 7, 0, 0, &hf_062_V1_18_390_CS, I062_V1_18_390_CS_PARTS, { NULL } }; static int hf_062_V1_18_390_IFI; static int hf_062_V1_18_390_IFI_TYP; static const value_string valstr_062_V1_18_390_IFI_TYP[] = { { 0, "Plan Number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_IFI_TYP, NULL }; static int hf_062_V1_18_390_IFI_NBR; static const FieldPart I062_V1_18_390_IFI_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_IFI_NBR, NULL }; static const FieldPart *I062_V1_18_390_IFI_PARTS[] = { &I062_V1_18_390_IFI_TYP, &IXXX_3bit_spare, &I062_V1_18_390_IFI_NBR, NULL }; static const AsterixField I062_V1_18_390_IFI = { FIXED, 4, 0, 0, &hf_062_V1_18_390_IFI, I062_V1_18_390_IFI_PARTS, { NULL } }; static int hf_062_V1_18_390_FCT; static int hf_062_V1_18_390_FCT_GATOAT; static const value_string valstr_062_V1_18_390_FCT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_FCT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_FCT_GATOAT, NULL }; static int hf_062_V1_18_390_FCT_FR1FR2; static const value_string valstr_062_V1_18_390_FCT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight Rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_FCT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_FCT_FR1FR2, NULL }; static int hf_062_V1_18_390_FCT_RVSM; static const value_string valstr_062_V1_18_390_FCT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_FCT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_FCT_RVSM, NULL }; static int hf_062_V1_18_390_FCT_HPR; static const value_string valstr_062_V1_18_390_FCT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_FCT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_FCT_HPR, NULL }; static const FieldPart *I062_V1_18_390_FCT_PARTS[] = { &I062_V1_18_390_FCT_GATOAT, &I062_V1_18_390_FCT_FR1FR2, &I062_V1_18_390_FCT_RVSM, &I062_V1_18_390_FCT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_18_390_FCT = { FIXED, 1, 0, 0, &hf_062_V1_18_390_FCT, I062_V1_18_390_FCT_PARTS, { NULL } }; static int hf_062_V1_18_390_TAC; static int hf_062_V1_18_390_TAC_VALUE; static const FieldPart I062_V1_18_390_TAC_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_TAC_VALUE, NULL }; static const FieldPart *I062_V1_18_390_TAC_PARTS[] = { &I062_V1_18_390_TAC_VALUE, NULL }; static const AsterixField I062_V1_18_390_TAC = { FIXED, 4, 0, 0, &hf_062_V1_18_390_TAC, I062_V1_18_390_TAC_PARTS, { NULL } }; static int hf_062_V1_18_390_WTC; static int hf_062_V1_18_390_WTC_VALUE; static const FieldPart I062_V1_18_390_WTC_VALUE = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_WTC_VALUE, NULL }; static const FieldPart *I062_V1_18_390_WTC_PARTS[] = { &I062_V1_18_390_WTC_VALUE, NULL }; static const AsterixField I062_V1_18_390_WTC = { FIXED, 1, 0, 0, &hf_062_V1_18_390_WTC, I062_V1_18_390_WTC_PARTS, { NULL } }; static int hf_062_V1_18_390_DEP; static int hf_062_V1_18_390_DEP_VALUE; static const FieldPart I062_V1_18_390_DEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_DEP_VALUE, NULL }; static const FieldPart *I062_V1_18_390_DEP_PARTS[] = { &I062_V1_18_390_DEP_VALUE, NULL }; static const AsterixField I062_V1_18_390_DEP = { FIXED, 4, 0, 0, &hf_062_V1_18_390_DEP, I062_V1_18_390_DEP_PARTS, { NULL } }; static int hf_062_V1_18_390_DST; static int hf_062_V1_18_390_DST_VALUE; static const FieldPart I062_V1_18_390_DST_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_DST_VALUE, NULL }; static const FieldPart *I062_V1_18_390_DST_PARTS[] = { &I062_V1_18_390_DST_VALUE, NULL }; static const AsterixField I062_V1_18_390_DST = { FIXED, 4, 0, 0, &hf_062_V1_18_390_DST, I062_V1_18_390_DST_PARTS, { NULL } }; static int hf_062_V1_18_390_RDS; static int hf_062_V1_18_390_RDS_NU1; static const FieldPart I062_V1_18_390_RDS_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_RDS_NU1, NULL }; static int hf_062_V1_18_390_RDS_NU2; static const FieldPart I062_V1_18_390_RDS_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_RDS_NU2, NULL }; static int hf_062_V1_18_390_RDS_LTR; static const FieldPart I062_V1_18_390_RDS_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_RDS_LTR, NULL }; static const FieldPart *I062_V1_18_390_RDS_PARTS[] = { &I062_V1_18_390_RDS_NU1, &I062_V1_18_390_RDS_NU2, &I062_V1_18_390_RDS_LTR, NULL }; static const AsterixField I062_V1_18_390_RDS = { FIXED, 3, 0, 0, &hf_062_V1_18_390_RDS, I062_V1_18_390_RDS_PARTS, { NULL } }; static int hf_062_V1_18_390_CFL; static int hf_062_V1_18_390_CFL_VALUE; static const FieldPart I062_V1_18_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_390_CFL_VALUE, NULL }; static const FieldPart *I062_V1_18_390_CFL_PARTS[] = { &I062_V1_18_390_CFL_VALUE, NULL }; static const AsterixField I062_V1_18_390_CFL = { FIXED, 2, 0, 0, &hf_062_V1_18_390_CFL, I062_V1_18_390_CFL_PARTS, { NULL } }; static int hf_062_V1_18_390_CTL; static int hf_062_V1_18_390_CTL_CENTRE; static const FieldPart I062_V1_18_390_CTL_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_390_CTL_CENTRE, NULL }; static int hf_062_V1_18_390_CTL_POSITION; static const FieldPart I062_V1_18_390_CTL_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_390_CTL_POSITION, NULL }; static const FieldPart *I062_V1_18_390_CTL_PARTS[] = { &I062_V1_18_390_CTL_CENTRE, &I062_V1_18_390_CTL_POSITION, NULL }; static const AsterixField I062_V1_18_390_CTL = { FIXED, 2, 0, 0, &hf_062_V1_18_390_CTL, I062_V1_18_390_CTL_PARTS, { NULL } }; static int hf_062_V1_18_390_TOD; static int hf_062_V1_18_390_TOD_TYP; static const value_string valstr_062_V1_18_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_TOD_TYP, NULL }; static int hf_062_V1_18_390_TOD_DAY; static const value_string valstr_062_V1_18_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_TOD_DAY, NULL }; static int hf_062_V1_18_390_TOD_HOR; static const FieldPart I062_V1_18_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_TOD_HOR, NULL }; static int hf_062_V1_18_390_TOD_MIN; static const FieldPart I062_V1_18_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_TOD_MIN, NULL }; static int hf_062_V1_18_390_TOD_AVS; static const value_string valstr_062_V1_18_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_TOD_AVS, NULL }; static int hf_062_V1_18_390_TOD_SEC; static const FieldPart I062_V1_18_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_TOD_SEC, NULL }; static const FieldPart *I062_V1_18_390_TOD_PARTS[] = { &I062_V1_18_390_TOD_TYP, &I062_V1_18_390_TOD_DAY, &IXXX_4bit_spare, &I062_V1_18_390_TOD_HOR, &IXXX_2bit_spare, &I062_V1_18_390_TOD_MIN, &I062_V1_18_390_TOD_AVS, &IXXX_1bit_spare, &I062_V1_18_390_TOD_SEC, NULL }; static const AsterixField I062_V1_18_390_TOD = { REPETITIVE, 4, 1, 0, &hf_062_V1_18_390_TOD, I062_V1_18_390_TOD_PARTS, { NULL } }; static int hf_062_V1_18_390_AST; static int hf_062_V1_18_390_AST_VALUE; static const FieldPart I062_V1_18_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_AST_VALUE, NULL }; static const FieldPart *I062_V1_18_390_AST_PARTS[] = { &I062_V1_18_390_AST_VALUE, NULL }; static const AsterixField I062_V1_18_390_AST = { FIXED, 6, 0, 0, &hf_062_V1_18_390_AST, I062_V1_18_390_AST_PARTS, { NULL } }; static int hf_062_V1_18_390_STS; static int hf_062_V1_18_390_STS_EMP; static const value_string valstr_062_V1_18_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_STS_EMP, NULL }; static int hf_062_V1_18_390_STS_AVL; static const value_string valstr_062_V1_18_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_STS_AVL, NULL }; static const FieldPart *I062_V1_18_390_STS_PARTS[] = { &I062_V1_18_390_STS_EMP, &I062_V1_18_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I062_V1_18_390_STS = { FIXED, 1, 0, 0, &hf_062_V1_18_390_STS, I062_V1_18_390_STS_PARTS, { NULL } }; static int hf_062_V1_18_390_STD; static int hf_062_V1_18_390_STD_VALUE; static const FieldPart I062_V1_18_390_STD_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_STD_VALUE, NULL }; static const FieldPart *I062_V1_18_390_STD_PARTS[] = { &I062_V1_18_390_STD_VALUE, NULL }; static const AsterixField I062_V1_18_390_STD = { FIXED, 7, 0, 0, &hf_062_V1_18_390_STD, I062_V1_18_390_STD_PARTS, { NULL } }; static int hf_062_V1_18_390_STA; static int hf_062_V1_18_390_STA_VALUE; static const FieldPart I062_V1_18_390_STA_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_STA_VALUE, NULL }; static const FieldPart *I062_V1_18_390_STA_PARTS[] = { &I062_V1_18_390_STA_VALUE, NULL }; static const AsterixField I062_V1_18_390_STA = { FIXED, 7, 0, 0, &hf_062_V1_18_390_STA, I062_V1_18_390_STA_PARTS, { NULL } }; static int hf_062_V1_18_390_PEM; static int hf_062_V1_18_390_PEM_VA; static const value_string valstr_062_V1_18_390_PEM_VA[] = { { 0, "No valid Mode 3/A available" }, { 1, "Valid Mode 3/A available" }, { 0, NULL } }; static const FieldPart I062_V1_18_390_PEM_VA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_18_390_PEM_VA, NULL }; static int hf_062_V1_18_390_PEM_MODE3A; static const FieldPart I062_V1_18_390_PEM_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_18_390_PEM_MODE3A, NULL }; static const FieldPart *I062_V1_18_390_PEM_PARTS[] = { &IXXX_3bit_spare, &I062_V1_18_390_PEM_VA, &I062_V1_18_390_PEM_MODE3A, NULL }; static const AsterixField I062_V1_18_390_PEM = { FIXED, 2, 0, 0, &hf_062_V1_18_390_PEM, I062_V1_18_390_PEM_PARTS, { NULL } }; static int hf_062_V1_18_390_PEC; static int hf_062_V1_18_390_PEC_VALUE; static const FieldPart I062_V1_18_390_PEC_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_18_390_PEC_VALUE, NULL }; static const FieldPart *I062_V1_18_390_PEC_PARTS[] = { &I062_V1_18_390_PEC_VALUE, NULL }; static const AsterixField I062_V1_18_390_PEC = { FIXED, 7, 0, 0, &hf_062_V1_18_390_PEC, I062_V1_18_390_PEC_PARTS, { NULL } }; static const AsterixField I062_V1_18_390 = { COMPOUND, 0, 0, 0, &hf_062_V1_18_390, NULL, { &I062_V1_18_390_TAG, &I062_V1_18_390_CS, &I062_V1_18_390_IFI, &I062_V1_18_390_FCT, &I062_V1_18_390_TAC, &I062_V1_18_390_WTC, &I062_V1_18_390_DEP, &I062_V1_18_390_DST, &I062_V1_18_390_RDS, &I062_V1_18_390_CFL, &I062_V1_18_390_CTL, &I062_V1_18_390_TOD, &I062_V1_18_390_AST, &I062_V1_18_390_STS, &I062_V1_18_390_STD, &I062_V1_18_390_STA, &I062_V1_18_390_PEM, &I062_V1_18_390_PEC, NULL } }; static int hf_062_V1_18_500; static int hf_062_V1_18_500_APC; static int hf_062_V1_18_500_APC_X; static const FieldPart I062_V1_18_500_APC_X = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_18_500_APC_X, NULL }; static int hf_062_V1_18_500_APC_Y; static const FieldPart I062_V1_18_500_APC_Y = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_18_500_APC_Y, NULL }; static const FieldPart *I062_V1_18_500_APC_PARTS[] = { &I062_V1_18_500_APC_X, &I062_V1_18_500_APC_Y, NULL }; static const AsterixField I062_V1_18_500_APC = { FIXED, 4, 0, 0, &hf_062_V1_18_500_APC, I062_V1_18_500_APC_PARTS, { NULL } }; static int hf_062_V1_18_500_COV; static int hf_062_V1_18_500_COV_VALUE; static const FieldPart I062_V1_18_500_COV_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_062_V1_18_500_COV_VALUE, NULL }; static const FieldPart *I062_V1_18_500_COV_PARTS[] = { &I062_V1_18_500_COV_VALUE, NULL }; static const AsterixField I062_V1_18_500_COV = { FIXED, 2, 0, 0, &hf_062_V1_18_500_COV, I062_V1_18_500_COV_PARTS, { NULL } }; static int hf_062_V1_18_500_APW; static int hf_062_V1_18_500_APW_LAT; static const FieldPart I062_V1_18_500_APW_LAT = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_18_500_APW_LAT, NULL }; static int hf_062_V1_18_500_APW_LON; static const FieldPart I062_V1_18_500_APW_LON = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_18_500_APW_LON, NULL }; static const FieldPart *I062_V1_18_500_APW_PARTS[] = { &I062_V1_18_500_APW_LAT, &I062_V1_18_500_APW_LON, NULL }; static const AsterixField I062_V1_18_500_APW = { FIXED, 4, 0, 0, &hf_062_V1_18_500_APW, I062_V1_18_500_APW_PARTS, { NULL } }; static int hf_062_V1_18_500_AGA; static int hf_062_V1_18_500_AGA_VALUE; static const FieldPart I062_V1_18_500_AGA_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_18_500_AGA_VALUE, NULL }; static const FieldPart *I062_V1_18_500_AGA_PARTS[] = { &I062_V1_18_500_AGA_VALUE, NULL }; static const AsterixField I062_V1_18_500_AGA = { FIXED, 1, 0, 0, &hf_062_V1_18_500_AGA, I062_V1_18_500_AGA_PARTS, { NULL } }; static int hf_062_V1_18_500_ABA; static int hf_062_V1_18_500_ABA_VALUE; static const FieldPart I062_V1_18_500_ABA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_500_ABA_VALUE, NULL }; static const FieldPart *I062_V1_18_500_ABA_PARTS[] = { &I062_V1_18_500_ABA_VALUE, NULL }; static const AsterixField I062_V1_18_500_ABA = { FIXED, 1, 0, 0, &hf_062_V1_18_500_ABA, I062_V1_18_500_ABA_PARTS, { NULL } }; static int hf_062_V1_18_500_ATV; static int hf_062_V1_18_500_ATV_X; static const FieldPart I062_V1_18_500_ATV_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_500_ATV_X, NULL }; static int hf_062_V1_18_500_ATV_Y; static const FieldPart I062_V1_18_500_ATV_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_500_ATV_Y, NULL }; static const FieldPart *I062_V1_18_500_ATV_PARTS[] = { &I062_V1_18_500_ATV_X, &I062_V1_18_500_ATV_Y, NULL }; static const AsterixField I062_V1_18_500_ATV = { FIXED, 2, 0, 0, &hf_062_V1_18_500_ATV, I062_V1_18_500_ATV_PARTS, { NULL } }; static int hf_062_V1_18_500_AA; static int hf_062_V1_18_500_AA_X; static const FieldPart I062_V1_18_500_AA_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_500_AA_X, NULL }; static int hf_062_V1_18_500_AA_Y; static const FieldPart I062_V1_18_500_AA_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_18_500_AA_Y, NULL }; static const FieldPart *I062_V1_18_500_AA_PARTS[] = { &I062_V1_18_500_AA_X, &I062_V1_18_500_AA_Y, NULL }; static const AsterixField I062_V1_18_500_AA = { FIXED, 2, 0, 0, &hf_062_V1_18_500_AA, I062_V1_18_500_AA_PARTS, { NULL } }; static int hf_062_V1_18_500_ARC; static int hf_062_V1_18_500_ARC_VALUE; static const FieldPart I062_V1_18_500_ARC_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_18_500_ARC_VALUE, NULL }; static const FieldPart *I062_V1_18_500_ARC_PARTS[] = { &I062_V1_18_500_ARC_VALUE, NULL }; static const AsterixField I062_V1_18_500_ARC = { FIXED, 1, 0, 0, &hf_062_V1_18_500_ARC, I062_V1_18_500_ARC_PARTS, { NULL } }; static const AsterixField I062_V1_18_500 = { COMPOUND, 0, 0, 0, &hf_062_V1_18_500, NULL, { &I062_V1_18_500_APC, &I062_V1_18_500_COV, &I062_V1_18_500_APW, &I062_V1_18_500_AGA, &I062_V1_18_500_ABA, &I062_V1_18_500_ATV, &I062_V1_18_500_AA, &I062_V1_18_500_ARC, NULL } }; static int hf_062_V1_18_510; static int hf_062_V1_18_510_MIDENT; static const FieldPart I062_V1_18_510_MIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_510_MIDENT, NULL }; static int hf_062_V1_18_510_MTRACK; static const FieldPart I062_V1_18_510_MTRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_18_510_MTRACK, NULL }; static int hf_062_V1_18_510_SIDENT; static const FieldPart I062_V1_18_510_SIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_18_510_SIDENT, NULL }; static int hf_062_V1_18_510_STRACK; static const FieldPart I062_V1_18_510_STRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_18_510_STRACK, NULL }; static const FieldPart *I062_V1_18_510_PARTS[] = { &I062_V1_18_510_MIDENT, &I062_V1_18_510_MTRACK, &IXXX_FX, &I062_V1_18_510_SIDENT, &I062_V1_18_510_STRACK, &IXXX_FX, NULL }; static const AsterixField I062_V1_18_510 = { FX, 3, 0, 0, &hf_062_V1_18_510, I062_V1_18_510_PARTS, { NULL } }; static int hf_062_V1_18_RE; static const AsterixField I062_V1_18_RE = { EXP, 0, 0, 1, &hf_062_V1_18_RE, NULL, { NULL } }; static int hf_062_V1_18_SP; static const AsterixField I062_V1_18_SP = { EXP, 0, 0, 1, &hf_062_V1_18_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I062_V1_18_uap[] = { &I062_V1_18_010, &IX_SPARE, &I062_V1_18_015, &I062_V1_18_070, &I062_V1_18_105, &I062_V1_18_100, &I062_V1_18_185, &I062_V1_18_210, &I062_V1_18_060, &I062_V1_18_245, &I062_V1_18_380, &I062_V1_18_040, &I062_V1_18_080, &I062_V1_18_290, &I062_V1_18_200, &I062_V1_18_295, &I062_V1_18_136, &I062_V1_18_130, &I062_V1_18_135, &I062_V1_18_220, &I062_V1_18_390, &I062_V1_18_270, &I062_V1_18_300, &I062_V1_18_110, &I062_V1_18_120, &I062_V1_18_510, &I062_V1_18_500, &I062_V1_18_340, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I062_V1_18_RE, &I062_V1_18_SP, NULL }; static const AsterixField **I062_V1_18[] = { I062_V1_18_uap, NULL }; DIAG_ON_PEDANTIC /* Category 062, edition 1.19 */ static int hf_062_V1_19_010; static int hf_062_V1_19_010_SAC; static const FieldPart I062_V1_19_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_010_SAC, NULL }; static int hf_062_V1_19_010_SIC; static const FieldPart I062_V1_19_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_010_SIC, NULL }; static const FieldPart *I062_V1_19_010_PARTS[] = { &I062_V1_19_010_SAC, &I062_V1_19_010_SIC, NULL }; static const AsterixField I062_V1_19_010 = { FIXED, 2, 0, 0, &hf_062_V1_19_010, I062_V1_19_010_PARTS, { NULL } }; static int hf_062_V1_19_015; static int hf_062_V1_19_015_VALUE; static const FieldPart I062_V1_19_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_015_VALUE, NULL }; static const FieldPart *I062_V1_19_015_PARTS[] = { &I062_V1_19_015_VALUE, NULL }; static const AsterixField I062_V1_19_015 = { FIXED, 1, 0, 0, &hf_062_V1_19_015, I062_V1_19_015_PARTS, { NULL } }; static int hf_062_V1_19_040; static int hf_062_V1_19_040_VALUE; static const FieldPart I062_V1_19_040_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_062_V1_19_040_VALUE, NULL }; static const FieldPart *I062_V1_19_040_PARTS[] = { &I062_V1_19_040_VALUE, NULL }; static const AsterixField I062_V1_19_040 = { FIXED, 2, 0, 0, &hf_062_V1_19_040, I062_V1_19_040_PARTS, { NULL } }; static int hf_062_V1_19_060; static int hf_062_V1_19_060_V; static const value_string valstr_062_V1_19_060_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_19_060_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_060_V, NULL }; static int hf_062_V1_19_060_G; static const value_string valstr_062_V1_19_060_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_19_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_060_G, NULL }; static int hf_062_V1_19_060_CH; static const value_string valstr_062_V1_19_060_CH[] = { { 0, "No change" }, { 1, "Mode 3/A has changed" }, { 0, NULL } }; static const FieldPart I062_V1_19_060_CH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_060_CH, NULL }; static int hf_062_V1_19_060_MODE3A; static const FieldPart I062_V1_19_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_19_060_MODE3A, NULL }; static const FieldPart *I062_V1_19_060_PARTS[] = { &I062_V1_19_060_V, &I062_V1_19_060_G, &I062_V1_19_060_CH, &IXXX_1bit_spare, &I062_V1_19_060_MODE3A, NULL }; static const AsterixField I062_V1_19_060 = { FIXED, 2, 0, 0, &hf_062_V1_19_060, I062_V1_19_060_PARTS, { NULL } }; static int hf_062_V1_19_070; static int hf_062_V1_19_070_VALUE; static const FieldPart I062_V1_19_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_062_V1_19_070_VALUE, NULL }; static const FieldPart *I062_V1_19_070_PARTS[] = { &I062_V1_19_070_VALUE, NULL }; static const AsterixField I062_V1_19_070 = { FIXED, 3, 0, 0, &hf_062_V1_19_070, I062_V1_19_070_PARTS, { NULL } }; static int hf_062_V1_19_080; static int hf_062_V1_19_080_MON; static const value_string valstr_062_V1_19_080_MON[] = { { 0, "Multisensor track" }, { 1, "Monosensor track" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_MON = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_MON, NULL }; static int hf_062_V1_19_080_SPI; static const value_string valstr_062_V1_19_080_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_SPI, NULL }; static int hf_062_V1_19_080_MRH; static const value_string valstr_062_V1_19_080_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_MRH, NULL }; static int hf_062_V1_19_080_SRC; static const value_string valstr_062_V1_19_080_SRC[] = { { 0, "No source" }, { 1, "GNSS" }, { 2, "3D radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_SRC, NULL }; static int hf_062_V1_19_080_CNF; static const value_string valstr_062_V1_19_080_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_CNF, NULL }; static int hf_062_V1_19_080_SIM; static const value_string valstr_062_V1_19_080_SIM[] = { { 0, "Actual track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_SIM, NULL }; static int hf_062_V1_19_080_TSE; static const value_string valstr_062_V1_19_080_TSE[] = { { 0, "Default value" }, { 1, "Last message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_TSE, NULL }; static int hf_062_V1_19_080_TSB; static const value_string valstr_062_V1_19_080_TSB[] = { { 0, "Default value" }, { 1, "First message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_TSB, NULL }; static int hf_062_V1_19_080_FPC; static const value_string valstr_062_V1_19_080_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_FPC, NULL }; static int hf_062_V1_19_080_AFF; static const value_string valstr_062_V1_19_080_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_AFF, NULL }; static int hf_062_V1_19_080_STP; static const value_string valstr_062_V1_19_080_STP[] = { { 0, "Default value" }, { 1, "Slave Track Promotion" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_STP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_STP, NULL }; static int hf_062_V1_19_080_KOS; static const value_string valstr_062_V1_19_080_KOS[] = { { 0, "Complementary service used" }, { 1, "Background service used" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_KOS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_KOS, NULL }; static int hf_062_V1_19_080_AMA; static const value_string valstr_062_V1_19_080_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_AMA, NULL }; static int hf_062_V1_19_080_MD4; static const value_string valstr_062_V1_19_080_MD4[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_MD4 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_MD4, NULL }; static int hf_062_V1_19_080_ME; static const value_string valstr_062_V1_19_080_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_ME = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_ME, NULL }; static int hf_062_V1_19_080_MI; static const value_string valstr_062_V1_19_080_MI[] = { { 0, "Default value" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_MI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_MI, NULL }; static int hf_062_V1_19_080_MD5; static const value_string valstr_062_V1_19_080_MD5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_MD5 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_MD5, NULL }; static int hf_062_V1_19_080_CST; static const value_string valstr_062_V1_19_080_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_CST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_CST, NULL }; static int hf_062_V1_19_080_PSR; static const value_string valstr_062_V1_19_080_PSR[] = { { 0, "Default value" }, { 1, "Age of the last received PSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_PSR, NULL }; static int hf_062_V1_19_080_SSR; static const value_string valstr_062_V1_19_080_SSR[] = { { 0, "Default value" }, { 1, "Age of the last received SSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_SSR, NULL }; static int hf_062_V1_19_080_MDS; static const value_string valstr_062_V1_19_080_MDS[] = { { 0, "Default value" }, { 1, "Age of the last received Mode S track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_MDS, NULL }; static int hf_062_V1_19_080_ADS; static const value_string valstr_062_V1_19_080_ADS[] = { { 0, "Default value" }, { 1, "Age of the last received ADS-B track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_ADS, NULL }; static int hf_062_V1_19_080_SUC; static const value_string valstr_062_V1_19_080_SUC[] = { { 0, "Default value" }, { 1, "Special Used Code (Mode A codes to be defined in the system to mark a track with special interest)" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_SUC, NULL }; static int hf_062_V1_19_080_AAC; static const value_string valstr_062_V1_19_080_AAC[] = { { 0, "Default value" }, { 1, "Assigned Mode A Code Conflict (same discrete Mode A Code assigned to another track)" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_AAC, NULL }; static int hf_062_V1_19_080_SDS; static const value_string valstr_062_V1_19_080_SDS[] = { { 0, "Combined" }, { 1, "Co-operative only" }, { 2, "Non-Cooperative only" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_SDS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_SDS, NULL }; static int hf_062_V1_19_080_EMS; static const value_string valstr_062_V1_19_080_EMS[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Undefined" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_EMS = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_EMS, NULL }; static int hf_062_V1_19_080_PFT; static const value_string valstr_062_V1_19_080_PFT[] = { { 0, "No indication" }, { 1, "Potential False Track Indication" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_PFT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_PFT, NULL }; static int hf_062_V1_19_080_FPLT; static const value_string valstr_062_V1_19_080_FPLT[] = { { 0, "Default value" }, { 1, "Track created / updated with FPL data" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_FPLT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_FPLT, NULL }; static int hf_062_V1_19_080_DUPT; static const value_string valstr_062_V1_19_080_DUPT[] = { { 0, "Default value" }, { 1, "Duplicate Mode 3/A Code" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_DUPT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_DUPT, NULL }; static int hf_062_V1_19_080_DUPF; static const value_string valstr_062_V1_19_080_DUPF[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_DUPF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_DUPF, NULL }; static int hf_062_V1_19_080_DUPM; static const value_string valstr_062_V1_19_080_DUPM[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan due to manual correlation" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_DUPM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_DUPM, NULL }; static int hf_062_V1_19_080_SFC; static const value_string valstr_062_V1_19_080_SFC[] = { { 0, "Default value" }, { 1, "Surface target" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_SFC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_SFC, NULL }; static int hf_062_V1_19_080_IDD; static const value_string valstr_062_V1_19_080_IDD[] = { { 0, "No indication" }, { 1, "Duplicate Flight-ID" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_IDD = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_IDD, NULL }; static int hf_062_V1_19_080_IEC; static const value_string valstr_062_V1_19_080_IEC[] = { { 0, "Default value" }, { 1, "Inconsistent Emergency Code" }, { 0, NULL } }; static const FieldPart I062_V1_19_080_IEC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_080_IEC, NULL }; static const FieldPart *I062_V1_19_080_PARTS[] = { &I062_V1_19_080_MON, &I062_V1_19_080_SPI, &I062_V1_19_080_MRH, &I062_V1_19_080_SRC, &I062_V1_19_080_CNF, &IXXX_FX, &I062_V1_19_080_SIM, &I062_V1_19_080_TSE, &I062_V1_19_080_TSB, &I062_V1_19_080_FPC, &I062_V1_19_080_AFF, &I062_V1_19_080_STP, &I062_V1_19_080_KOS, &IXXX_FX, &I062_V1_19_080_AMA, &I062_V1_19_080_MD4, &I062_V1_19_080_ME, &I062_V1_19_080_MI, &I062_V1_19_080_MD5, &IXXX_FX, &I062_V1_19_080_CST, &I062_V1_19_080_PSR, &I062_V1_19_080_SSR, &I062_V1_19_080_MDS, &I062_V1_19_080_ADS, &I062_V1_19_080_SUC, &I062_V1_19_080_AAC, &IXXX_FX, &I062_V1_19_080_SDS, &I062_V1_19_080_EMS, &I062_V1_19_080_PFT, &I062_V1_19_080_FPLT, &IXXX_FX, &I062_V1_19_080_DUPT, &I062_V1_19_080_DUPF, &I062_V1_19_080_DUPM, &I062_V1_19_080_SFC, &I062_V1_19_080_IDD, &I062_V1_19_080_IEC, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_V1_19_080 = { FX, 1, 0, 0, &hf_062_V1_19_080, I062_V1_19_080_PARTS, { NULL } }; static int hf_062_V1_19_100; static int hf_062_V1_19_100_X; static const FieldPart I062_V1_19_100_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_19_100_X, NULL }; static int hf_062_V1_19_100_Y; static const FieldPart I062_V1_19_100_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_19_100_Y, NULL }; static const FieldPart *I062_V1_19_100_PARTS[] = { &I062_V1_19_100_X, &I062_V1_19_100_Y, NULL }; static const AsterixField I062_V1_19_100 = { FIXED, 6, 0, 0, &hf_062_V1_19_100, I062_V1_19_100_PARTS, { NULL } }; static int hf_062_V1_19_105; static int hf_062_V1_19_105_LAT; static const FieldPart I062_V1_19_105_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_19_105_LAT, NULL }; static int hf_062_V1_19_105_LON; static const FieldPart I062_V1_19_105_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_19_105_LON, NULL }; static const FieldPart *I062_V1_19_105_PARTS[] = { &I062_V1_19_105_LAT, &I062_V1_19_105_LON, NULL }; static const AsterixField I062_V1_19_105 = { FIXED, 8, 0, 0, &hf_062_V1_19_105, I062_V1_19_105_PARTS, { NULL } }; static int hf_062_V1_19_110; static int hf_062_V1_19_110_SUM; static int hf_062_V1_19_110_SUM_M5; static const value_string valstr_062_V1_19_110_SUM_M5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Mode 5 interrogation" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_M5, NULL }; static int hf_062_V1_19_110_SUM_ID; static const value_string valstr_062_V1_19_110_SUM_ID[] = { { 0, "No authenticated Mode 5 ID reply" }, { 1, "Authenticated Mode 5 ID reply" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_ID = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_ID, NULL }; static int hf_062_V1_19_110_SUM_DA; static const value_string valstr_062_V1_19_110_SUM_DA[] = { { 0, "No authenticated Mode 5 Data reply or Report" }, { 1, "Authenticated Mode 5 Data reply or Report (i.e any valid Mode 5 reply type other than ID)" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_DA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_DA, NULL }; static int hf_062_V1_19_110_SUM_M1; static const value_string valstr_062_V1_19_110_SUM_M1[] = { { 0, "Mode 1 code not present or not from Mode 5 reply" }, { 1, "Mode 1 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_M1, NULL }; static int hf_062_V1_19_110_SUM_M2; static const value_string valstr_062_V1_19_110_SUM_M2[] = { { 0, "Mode 2 code not present or not from Mode 5 reply" }, { 1, "Mode 2 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_M2, NULL }; static int hf_062_V1_19_110_SUM_M3; static const value_string valstr_062_V1_19_110_SUM_M3[] = { { 0, "Mode 3 code not present or not from Mode 5 reply" }, { 1, "Mode 3 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_M3, NULL }; static int hf_062_V1_19_110_SUM_MC; static const value_string valstr_062_V1_19_110_SUM_MC[] = { { 0, "Mode C altitude code not present or not from Mode 5 reply" }, { 1, "Mode C altitude from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_MC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_MC, NULL }; static int hf_062_V1_19_110_SUM_X; static const value_string valstr_062_V1_19_110_SUM_X[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_SUM_X = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_SUM_X, NULL }; static const FieldPart *I062_V1_19_110_SUM_PARTS[] = { &I062_V1_19_110_SUM_M5, &I062_V1_19_110_SUM_ID, &I062_V1_19_110_SUM_DA, &I062_V1_19_110_SUM_M1, &I062_V1_19_110_SUM_M2, &I062_V1_19_110_SUM_M3, &I062_V1_19_110_SUM_MC, &I062_V1_19_110_SUM_X, NULL }; static const AsterixField I062_V1_19_110_SUM = { FIXED, 1, 0, 0, &hf_062_V1_19_110_SUM, I062_V1_19_110_SUM_PARTS, { NULL } }; static int hf_062_V1_19_110_PMN; static int hf_062_V1_19_110_PMN_PIN; static const FieldPart I062_V1_19_110_PMN_PIN = { 14, 1.0, FIELD_PART_HEX, &hf_062_V1_19_110_PMN_PIN, NULL }; static int hf_062_V1_19_110_PMN_NAT; static const FieldPart I062_V1_19_110_PMN_NAT = { 5, 1.0, FIELD_PART_HEX, &hf_062_V1_19_110_PMN_NAT, NULL }; static int hf_062_V1_19_110_PMN_MIS; static const FieldPart I062_V1_19_110_PMN_MIS = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_19_110_PMN_MIS, NULL }; static const FieldPart *I062_V1_19_110_PMN_PARTS[] = { &IXXX_2bit_spare, &I062_V1_19_110_PMN_PIN, &IXXX_3bit_spare, &I062_V1_19_110_PMN_NAT, &IXXX_2bit_spare, &I062_V1_19_110_PMN_MIS, NULL }; static const AsterixField I062_V1_19_110_PMN = { FIXED, 4, 0, 0, &hf_062_V1_19_110_PMN, I062_V1_19_110_PMN_PARTS, { NULL } }; static int hf_062_V1_19_110_POS; static int hf_062_V1_19_110_POS_LAT; static const FieldPart I062_V1_19_110_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_19_110_POS_LAT, NULL }; static int hf_062_V1_19_110_POS_LON; static const FieldPart I062_V1_19_110_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_19_110_POS_LON, NULL }; static const FieldPart *I062_V1_19_110_POS_PARTS[] = { &I062_V1_19_110_POS_LAT, &I062_V1_19_110_POS_LON, NULL }; static const AsterixField I062_V1_19_110_POS = { FIXED, 6, 0, 0, &hf_062_V1_19_110_POS, I062_V1_19_110_POS_PARTS, { NULL } }; static int hf_062_V1_19_110_GA; static int hf_062_V1_19_110_GA_RES; static const value_string valstr_062_V1_19_110_GA_RES[] = { { 0, "GA reported in 100 ft increments" }, { 1, "GA reported in 25 ft increments" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_GA_RES = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_GA_RES, NULL }; static int hf_062_V1_19_110_GA_GA; static const FieldPart I062_V1_19_110_GA_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_062_V1_19_110_GA_GA, NULL }; static const FieldPart *I062_V1_19_110_GA_PARTS[] = { &IXXX_1bit_spare, &I062_V1_19_110_GA_RES, &I062_V1_19_110_GA_GA, NULL }; static const AsterixField I062_V1_19_110_GA = { FIXED, 2, 0, 0, &hf_062_V1_19_110_GA, I062_V1_19_110_GA_PARTS, { NULL } }; static int hf_062_V1_19_110_EM1; static int hf_062_V1_19_110_EM1_EM1; static const FieldPart I062_V1_19_110_EM1_EM1 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_19_110_EM1_EM1, NULL }; static const FieldPart *I062_V1_19_110_EM1_PARTS[] = { &IXXX_4bit_spare, &I062_V1_19_110_EM1_EM1, NULL }; static const AsterixField I062_V1_19_110_EM1 = { FIXED, 2, 0, 0, &hf_062_V1_19_110_EM1, I062_V1_19_110_EM1_PARTS, { NULL } }; static int hf_062_V1_19_110_TOS; static int hf_062_V1_19_110_TOS_VALUE; static const FieldPart I062_V1_19_110_TOS_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_062_V1_19_110_TOS_VALUE, NULL }; static const FieldPart *I062_V1_19_110_TOS_PARTS[] = { &I062_V1_19_110_TOS_VALUE, NULL }; static const AsterixField I062_V1_19_110_TOS = { FIXED, 1, 0, 0, &hf_062_V1_19_110_TOS, I062_V1_19_110_TOS_PARTS, { NULL } }; static int hf_062_V1_19_110_XP; static int hf_062_V1_19_110_XP_X5; static const value_string valstr_062_V1_19_110_XP_X5[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_XP_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_XP_X5, NULL }; static int hf_062_V1_19_110_XP_XC; static const value_string valstr_062_V1_19_110_XP_XC[] = { { 0, "X-pulse set to zero or no Mode C reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_XP_XC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_XP_XC, NULL }; static int hf_062_V1_19_110_XP_X3; static const value_string valstr_062_V1_19_110_XP_X3[] = { { 0, "X-pulse set to zero or no Mode 3/A reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_XP_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_XP_X3, NULL }; static int hf_062_V1_19_110_XP_X2; static const value_string valstr_062_V1_19_110_XP_X2[] = { { 0, "X-pulse set to zero or no Mode 2 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_XP_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_XP_X2, NULL }; static int hf_062_V1_19_110_XP_X1; static const value_string valstr_062_V1_19_110_XP_X1[] = { { 0, "X-pulse set to zero or no Mode 1 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_19_110_XP_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_110_XP_X1, NULL }; static const FieldPart *I062_V1_19_110_XP_PARTS[] = { &IXXX_3bit_spare, &I062_V1_19_110_XP_X5, &I062_V1_19_110_XP_XC, &I062_V1_19_110_XP_X3, &I062_V1_19_110_XP_X2, &I062_V1_19_110_XP_X1, NULL }; static const AsterixField I062_V1_19_110_XP = { FIXED, 1, 0, 0, &hf_062_V1_19_110_XP, I062_V1_19_110_XP_PARTS, { NULL } }; static const AsterixField I062_V1_19_110 = { COMPOUND, 0, 0, 0, &hf_062_V1_19_110, NULL, { &I062_V1_19_110_SUM, &I062_V1_19_110_PMN, &I062_V1_19_110_POS, &I062_V1_19_110_GA, &I062_V1_19_110_EM1, &I062_V1_19_110_TOS, &I062_V1_19_110_XP, NULL } }; static int hf_062_V1_19_120; static int hf_062_V1_19_120_MODE2; static const FieldPart I062_V1_19_120_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_19_120_MODE2, NULL }; static const FieldPart *I062_V1_19_120_PARTS[] = { &IXXX_4bit_spare, &I062_V1_19_120_MODE2, NULL }; static const AsterixField I062_V1_19_120 = { FIXED, 2, 0, 0, &hf_062_V1_19_120, I062_V1_19_120_PARTS, { NULL } }; static int hf_062_V1_19_130; static int hf_062_V1_19_130_VALUE; static const FieldPart I062_V1_19_130_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_19_130_VALUE, NULL }; static const FieldPart *I062_V1_19_130_PARTS[] = { &I062_V1_19_130_VALUE, NULL }; static const AsterixField I062_V1_19_130 = { FIXED, 2, 0, 0, &hf_062_V1_19_130, I062_V1_19_130_PARTS, { NULL } }; static int hf_062_V1_19_135; static int hf_062_V1_19_135_QNH; static const value_string valstr_062_V1_19_135_QNH[] = { { 0, "No QNH correction applied" }, { 1, "QNH correction applied" }, { 0, NULL } }; static const FieldPart I062_V1_19_135_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_135_QNH, NULL }; static int hf_062_V1_19_135_CTB; static const FieldPart I062_V1_19_135_CTB = { 15, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_135_CTB, NULL }; static const FieldPart *I062_V1_19_135_PARTS[] = { &I062_V1_19_135_QNH, &I062_V1_19_135_CTB, NULL }; static const AsterixField I062_V1_19_135 = { FIXED, 2, 0, 0, &hf_062_V1_19_135, I062_V1_19_135_PARTS, { NULL } }; static int hf_062_V1_19_136; static int hf_062_V1_19_136_VALUE; static const FieldPart I062_V1_19_136_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_136_VALUE, NULL }; static const FieldPart *I062_V1_19_136_PARTS[] = { &I062_V1_19_136_VALUE, NULL }; static const AsterixField I062_V1_19_136 = { FIXED, 2, 0, 0, &hf_062_V1_19_136, I062_V1_19_136_PARTS, { NULL } }; static int hf_062_V1_19_185; static int hf_062_V1_19_185_VX; static const FieldPart I062_V1_19_185_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_185_VX, NULL }; static int hf_062_V1_19_185_VY; static const FieldPart I062_V1_19_185_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_185_VY, NULL }; static const FieldPart *I062_V1_19_185_PARTS[] = { &I062_V1_19_185_VX, &I062_V1_19_185_VY, NULL }; static const AsterixField I062_V1_19_185 = { FIXED, 4, 0, 0, &hf_062_V1_19_185, I062_V1_19_185_PARTS, { NULL } }; static int hf_062_V1_19_200; static int hf_062_V1_19_200_TRANS; static const value_string valstr_062_V1_19_200_TRANS[] = { { 0, "Constant course" }, { 1, "Right turn" }, { 2, "Left turn" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_19_200_TRANS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_200_TRANS, NULL }; static int hf_062_V1_19_200_LONG; static const value_string valstr_062_V1_19_200_LONG[] = { { 0, "Constant groundspeed" }, { 1, "Increasing groundspeed" }, { 2, "Decreasing groundspeed" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_19_200_LONG = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_200_LONG, NULL }; static int hf_062_V1_19_200_VERT; static const value_string valstr_062_V1_19_200_VERT[] = { { 0, "Level" }, { 1, "Climb" }, { 2, "Descent" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_19_200_VERT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_200_VERT, NULL }; static int hf_062_V1_19_200_ADF; static const value_string valstr_062_V1_19_200_ADF[] = { { 0, "No altitude discrepancy" }, { 1, "Altitude discrepancy" }, { 0, NULL } }; static const FieldPart I062_V1_19_200_ADF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_200_ADF, NULL }; static const FieldPart *I062_V1_19_200_PARTS[] = { &I062_V1_19_200_TRANS, &I062_V1_19_200_LONG, &I062_V1_19_200_VERT, &I062_V1_19_200_ADF, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_19_200 = { FIXED, 1, 0, 0, &hf_062_V1_19_200, I062_V1_19_200_PARTS, { NULL } }; static int hf_062_V1_19_210; static int hf_062_V1_19_210_AX; static const FieldPart I062_V1_19_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_210_AX, NULL }; static int hf_062_V1_19_210_AY; static const FieldPart I062_V1_19_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_210_AY, NULL }; static const FieldPart *I062_V1_19_210_PARTS[] = { &I062_V1_19_210_AX, &I062_V1_19_210_AY, NULL }; static const AsterixField I062_V1_19_210 = { FIXED, 2, 0, 0, &hf_062_V1_19_210, I062_V1_19_210_PARTS, { NULL } }; static int hf_062_V1_19_220; static int hf_062_V1_19_220_VALUE; static const FieldPart I062_V1_19_220_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_19_220_VALUE, NULL }; static const FieldPart *I062_V1_19_220_PARTS[] = { &I062_V1_19_220_VALUE, NULL }; static const AsterixField I062_V1_19_220 = { FIXED, 2, 0, 0, &hf_062_V1_19_220, I062_V1_19_220_PARTS, { NULL } }; static int hf_062_V1_19_245; static int hf_062_V1_19_245_STI; static const value_string valstr_062_V1_19_245_STI[] = { { 0, "Callsign or registration downlinked from target" }, { 1, "Callsign not downlinked from target" }, { 2, "Registration not downlinked from target" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_19_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_245_STI, NULL }; static int hf_062_V1_19_245_CHR; static const FieldPart I062_V1_19_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_19_245_CHR, NULL }; static const FieldPart *I062_V1_19_245_PARTS[] = { &I062_V1_19_245_STI, &IXXX_6bit_spare, &I062_V1_19_245_CHR, NULL }; static const AsterixField I062_V1_19_245 = { FIXED, 7, 0, 0, &hf_062_V1_19_245, I062_V1_19_245_PARTS, { NULL } }; static int hf_062_V1_19_270; static int hf_062_V1_19_270_LENGTH; static const FieldPart I062_V1_19_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_19_270_LENGTH, NULL }; static int hf_062_V1_19_270_ORIENTATION; static const FieldPart I062_V1_19_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_062_V1_19_270_ORIENTATION, NULL }; static int hf_062_V1_19_270_WIDTH; static const FieldPart I062_V1_19_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_19_270_WIDTH, NULL }; static const FieldPart *I062_V1_19_270_PARTS[] = { &I062_V1_19_270_LENGTH, &IXXX_FX, &I062_V1_19_270_ORIENTATION, &IXXX_FX, &I062_V1_19_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I062_V1_19_270 = { FX, 1, 0, 0, &hf_062_V1_19_270, I062_V1_19_270_PARTS, { NULL } }; static int hf_062_V1_19_290; static int hf_062_V1_19_290_TRK; static int hf_062_V1_19_290_TRK_VALUE; static const FieldPart I062_V1_19_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_TRK_VALUE, NULL }; static const FieldPart *I062_V1_19_290_TRK_PARTS[] = { &I062_V1_19_290_TRK_VALUE, NULL }; static const AsterixField I062_V1_19_290_TRK = { FIXED, 1, 0, 0, &hf_062_V1_19_290_TRK, I062_V1_19_290_TRK_PARTS, { NULL } }; static int hf_062_V1_19_290_PSR; static int hf_062_V1_19_290_PSR_VALUE; static const FieldPart I062_V1_19_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_PSR_VALUE, NULL }; static const FieldPart *I062_V1_19_290_PSR_PARTS[] = { &I062_V1_19_290_PSR_VALUE, NULL }; static const AsterixField I062_V1_19_290_PSR = { FIXED, 1, 0, 0, &hf_062_V1_19_290_PSR, I062_V1_19_290_PSR_PARTS, { NULL } }; static int hf_062_V1_19_290_SSR; static int hf_062_V1_19_290_SSR_VALUE; static const FieldPart I062_V1_19_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_SSR_VALUE, NULL }; static const FieldPart *I062_V1_19_290_SSR_PARTS[] = { &I062_V1_19_290_SSR_VALUE, NULL }; static const AsterixField I062_V1_19_290_SSR = { FIXED, 1, 0, 0, &hf_062_V1_19_290_SSR, I062_V1_19_290_SSR_PARTS, { NULL } }; static int hf_062_V1_19_290_MDS; static int hf_062_V1_19_290_MDS_VALUE; static const FieldPart I062_V1_19_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_MDS_VALUE, NULL }; static const FieldPart *I062_V1_19_290_MDS_PARTS[] = { &I062_V1_19_290_MDS_VALUE, NULL }; static const AsterixField I062_V1_19_290_MDS = { FIXED, 1, 0, 0, &hf_062_V1_19_290_MDS, I062_V1_19_290_MDS_PARTS, { NULL } }; static int hf_062_V1_19_290_ADS; static int hf_062_V1_19_290_ADS_VALUE; static const FieldPart I062_V1_19_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_ADS_VALUE, NULL }; static const FieldPart *I062_V1_19_290_ADS_PARTS[] = { &I062_V1_19_290_ADS_VALUE, NULL }; static const AsterixField I062_V1_19_290_ADS = { FIXED, 2, 0, 0, &hf_062_V1_19_290_ADS, I062_V1_19_290_ADS_PARTS, { NULL } }; static int hf_062_V1_19_290_ES; static int hf_062_V1_19_290_ES_VALUE; static const FieldPart I062_V1_19_290_ES_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_ES_VALUE, NULL }; static const FieldPart *I062_V1_19_290_ES_PARTS[] = { &I062_V1_19_290_ES_VALUE, NULL }; static const AsterixField I062_V1_19_290_ES = { FIXED, 1, 0, 0, &hf_062_V1_19_290_ES, I062_V1_19_290_ES_PARTS, { NULL } }; static int hf_062_V1_19_290_VDL; static int hf_062_V1_19_290_VDL_VALUE; static const FieldPart I062_V1_19_290_VDL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_VDL_VALUE, NULL }; static const FieldPart *I062_V1_19_290_VDL_PARTS[] = { &I062_V1_19_290_VDL_VALUE, NULL }; static const AsterixField I062_V1_19_290_VDL = { FIXED, 1, 0, 0, &hf_062_V1_19_290_VDL, I062_V1_19_290_VDL_PARTS, { NULL } }; static int hf_062_V1_19_290_UAT; static int hf_062_V1_19_290_UAT_VALUE; static const FieldPart I062_V1_19_290_UAT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_UAT_VALUE, NULL }; static const FieldPart *I062_V1_19_290_UAT_PARTS[] = { &I062_V1_19_290_UAT_VALUE, NULL }; static const AsterixField I062_V1_19_290_UAT = { FIXED, 1, 0, 0, &hf_062_V1_19_290_UAT, I062_V1_19_290_UAT_PARTS, { NULL } }; static int hf_062_V1_19_290_LOP; static int hf_062_V1_19_290_LOP_VALUE; static const FieldPart I062_V1_19_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_LOP_VALUE, NULL }; static const FieldPart *I062_V1_19_290_LOP_PARTS[] = { &I062_V1_19_290_LOP_VALUE, NULL }; static const AsterixField I062_V1_19_290_LOP = { FIXED, 1, 0, 0, &hf_062_V1_19_290_LOP, I062_V1_19_290_LOP_PARTS, { NULL } }; static int hf_062_V1_19_290_MLT; static int hf_062_V1_19_290_MLT_VALUE; static const FieldPart I062_V1_19_290_MLT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_290_MLT_VALUE, NULL }; static const FieldPart *I062_V1_19_290_MLT_PARTS[] = { &I062_V1_19_290_MLT_VALUE, NULL }; static const AsterixField I062_V1_19_290_MLT = { FIXED, 1, 0, 0, &hf_062_V1_19_290_MLT, I062_V1_19_290_MLT_PARTS, { NULL } }; static const AsterixField I062_V1_19_290 = { COMPOUND, 0, 0, 0, &hf_062_V1_19_290, NULL, { &I062_V1_19_290_TRK, &I062_V1_19_290_PSR, &I062_V1_19_290_SSR, &I062_V1_19_290_MDS, &I062_V1_19_290_ADS, &I062_V1_19_290_ES, &I062_V1_19_290_VDL, &I062_V1_19_290_UAT, &I062_V1_19_290_LOP, &I062_V1_19_290_MLT, NULL } }; static int hf_062_V1_19_295; static int hf_062_V1_19_295_MFL; static int hf_062_V1_19_295_MFL_VALUE; static const FieldPart I062_V1_19_295_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MFL_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MFL_PARTS[] = { &I062_V1_19_295_MFL_VALUE, NULL }; static const AsterixField I062_V1_19_295_MFL = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MFL, I062_V1_19_295_MFL_PARTS, { NULL } }; static int hf_062_V1_19_295_MD1; static int hf_062_V1_19_295_MD1_VALUE; static const FieldPart I062_V1_19_295_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MD1_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MD1_PARTS[] = { &I062_V1_19_295_MD1_VALUE, NULL }; static const AsterixField I062_V1_19_295_MD1 = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MD1, I062_V1_19_295_MD1_PARTS, { NULL } }; static int hf_062_V1_19_295_MD2; static int hf_062_V1_19_295_MD2_VALUE; static const FieldPart I062_V1_19_295_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MD2_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MD2_PARTS[] = { &I062_V1_19_295_MD2_VALUE, NULL }; static const AsterixField I062_V1_19_295_MD2 = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MD2, I062_V1_19_295_MD2_PARTS, { NULL } }; static int hf_062_V1_19_295_MDA; static int hf_062_V1_19_295_MDA_VALUE; static const FieldPart I062_V1_19_295_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MDA_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MDA_PARTS[] = { &I062_V1_19_295_MDA_VALUE, NULL }; static const AsterixField I062_V1_19_295_MDA = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MDA, I062_V1_19_295_MDA_PARTS, { NULL } }; static int hf_062_V1_19_295_MD4; static int hf_062_V1_19_295_MD4_VALUE; static const FieldPart I062_V1_19_295_MD4_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MD4_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MD4_PARTS[] = { &I062_V1_19_295_MD4_VALUE, NULL }; static const AsterixField I062_V1_19_295_MD4 = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MD4, I062_V1_19_295_MD4_PARTS, { NULL } }; static int hf_062_V1_19_295_MD5; static int hf_062_V1_19_295_MD5_VALUE; static const FieldPart I062_V1_19_295_MD5_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MD5_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MD5_PARTS[] = { &I062_V1_19_295_MD5_VALUE, NULL }; static const AsterixField I062_V1_19_295_MD5 = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MD5, I062_V1_19_295_MD5_PARTS, { NULL } }; static int hf_062_V1_19_295_MHG; static int hf_062_V1_19_295_MHG_VALUE; static const FieldPart I062_V1_19_295_MHG_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MHG_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MHG_PARTS[] = { &I062_V1_19_295_MHG_VALUE, NULL }; static const AsterixField I062_V1_19_295_MHG = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MHG, I062_V1_19_295_MHG_PARTS, { NULL } }; static int hf_062_V1_19_295_IAS; static int hf_062_V1_19_295_IAS_VALUE; static const FieldPart I062_V1_19_295_IAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_IAS_VALUE, NULL }; static const FieldPart *I062_V1_19_295_IAS_PARTS[] = { &I062_V1_19_295_IAS_VALUE, NULL }; static const AsterixField I062_V1_19_295_IAS = { FIXED, 1, 0, 0, &hf_062_V1_19_295_IAS, I062_V1_19_295_IAS_PARTS, { NULL } }; static int hf_062_V1_19_295_TAS; static int hf_062_V1_19_295_TAS_VALUE; static const FieldPart I062_V1_19_295_TAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_TAS_VALUE, NULL }; static const FieldPart *I062_V1_19_295_TAS_PARTS[] = { &I062_V1_19_295_TAS_VALUE, NULL }; static const AsterixField I062_V1_19_295_TAS = { FIXED, 1, 0, 0, &hf_062_V1_19_295_TAS, I062_V1_19_295_TAS_PARTS, { NULL } }; static int hf_062_V1_19_295_SAL; static int hf_062_V1_19_295_SAL_VALUE; static const FieldPart I062_V1_19_295_SAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_SAL_VALUE, NULL }; static const FieldPart *I062_V1_19_295_SAL_PARTS[] = { &I062_V1_19_295_SAL_VALUE, NULL }; static const AsterixField I062_V1_19_295_SAL = { FIXED, 1, 0, 0, &hf_062_V1_19_295_SAL, I062_V1_19_295_SAL_PARTS, { NULL } }; static int hf_062_V1_19_295_FSS; static int hf_062_V1_19_295_FSS_VALUE; static const FieldPart I062_V1_19_295_FSS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_FSS_VALUE, NULL }; static const FieldPart *I062_V1_19_295_FSS_PARTS[] = { &I062_V1_19_295_FSS_VALUE, NULL }; static const AsterixField I062_V1_19_295_FSS = { FIXED, 1, 0, 0, &hf_062_V1_19_295_FSS, I062_V1_19_295_FSS_PARTS, { NULL } }; static int hf_062_V1_19_295_TID; static int hf_062_V1_19_295_TID_VALUE; static const FieldPart I062_V1_19_295_TID_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_TID_VALUE, NULL }; static const FieldPart *I062_V1_19_295_TID_PARTS[] = { &I062_V1_19_295_TID_VALUE, NULL }; static const AsterixField I062_V1_19_295_TID = { FIXED, 1, 0, 0, &hf_062_V1_19_295_TID, I062_V1_19_295_TID_PARTS, { NULL } }; static int hf_062_V1_19_295_COM; static int hf_062_V1_19_295_COM_VALUE; static const FieldPart I062_V1_19_295_COM_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_COM_VALUE, NULL }; static const FieldPart *I062_V1_19_295_COM_PARTS[] = { &I062_V1_19_295_COM_VALUE, NULL }; static const AsterixField I062_V1_19_295_COM = { FIXED, 1, 0, 0, &hf_062_V1_19_295_COM, I062_V1_19_295_COM_PARTS, { NULL } }; static int hf_062_V1_19_295_SAB; static int hf_062_V1_19_295_SAB_VALUE; static const FieldPart I062_V1_19_295_SAB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_SAB_VALUE, NULL }; static const FieldPart *I062_V1_19_295_SAB_PARTS[] = { &I062_V1_19_295_SAB_VALUE, NULL }; static const AsterixField I062_V1_19_295_SAB = { FIXED, 1, 0, 0, &hf_062_V1_19_295_SAB, I062_V1_19_295_SAB_PARTS, { NULL } }; static int hf_062_V1_19_295_ACS; static int hf_062_V1_19_295_ACS_VALUE; static const FieldPart I062_V1_19_295_ACS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_ACS_VALUE, NULL }; static const FieldPart *I062_V1_19_295_ACS_PARTS[] = { &I062_V1_19_295_ACS_VALUE, NULL }; static const AsterixField I062_V1_19_295_ACS = { FIXED, 1, 0, 0, &hf_062_V1_19_295_ACS, I062_V1_19_295_ACS_PARTS, { NULL } }; static int hf_062_V1_19_295_BVR; static int hf_062_V1_19_295_BVR_VALUE; static const FieldPart I062_V1_19_295_BVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_BVR_VALUE, NULL }; static const FieldPart *I062_V1_19_295_BVR_PARTS[] = { &I062_V1_19_295_BVR_VALUE, NULL }; static const AsterixField I062_V1_19_295_BVR = { FIXED, 1, 0, 0, &hf_062_V1_19_295_BVR, I062_V1_19_295_BVR_PARTS, { NULL } }; static int hf_062_V1_19_295_GVR; static int hf_062_V1_19_295_GVR_VALUE; static const FieldPart I062_V1_19_295_GVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_GVR_VALUE, NULL }; static const FieldPart *I062_V1_19_295_GVR_PARTS[] = { &I062_V1_19_295_GVR_VALUE, NULL }; static const AsterixField I062_V1_19_295_GVR = { FIXED, 1, 0, 0, &hf_062_V1_19_295_GVR, I062_V1_19_295_GVR_PARTS, { NULL } }; static int hf_062_V1_19_295_RAN; static int hf_062_V1_19_295_RAN_VALUE; static const FieldPart I062_V1_19_295_RAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_RAN_VALUE, NULL }; static const FieldPart *I062_V1_19_295_RAN_PARTS[] = { &I062_V1_19_295_RAN_VALUE, NULL }; static const AsterixField I062_V1_19_295_RAN = { FIXED, 1, 0, 0, &hf_062_V1_19_295_RAN, I062_V1_19_295_RAN_PARTS, { NULL } }; static int hf_062_V1_19_295_TAR; static int hf_062_V1_19_295_TAR_VALUE; static const FieldPart I062_V1_19_295_TAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_TAR_VALUE, NULL }; static const FieldPart *I062_V1_19_295_TAR_PARTS[] = { &I062_V1_19_295_TAR_VALUE, NULL }; static const AsterixField I062_V1_19_295_TAR = { FIXED, 1, 0, 0, &hf_062_V1_19_295_TAR, I062_V1_19_295_TAR_PARTS, { NULL } }; static int hf_062_V1_19_295_TAN; static int hf_062_V1_19_295_TAN_VALUE; static const FieldPart I062_V1_19_295_TAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_TAN_VALUE, NULL }; static const FieldPart *I062_V1_19_295_TAN_PARTS[] = { &I062_V1_19_295_TAN_VALUE, NULL }; static const AsterixField I062_V1_19_295_TAN = { FIXED, 1, 0, 0, &hf_062_V1_19_295_TAN, I062_V1_19_295_TAN_PARTS, { NULL } }; static int hf_062_V1_19_295_GSP; static int hf_062_V1_19_295_GSP_VALUE; static const FieldPart I062_V1_19_295_GSP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_GSP_VALUE, NULL }; static const FieldPart *I062_V1_19_295_GSP_PARTS[] = { &I062_V1_19_295_GSP_VALUE, NULL }; static const AsterixField I062_V1_19_295_GSP = { FIXED, 1, 0, 0, &hf_062_V1_19_295_GSP, I062_V1_19_295_GSP_PARTS, { NULL } }; static int hf_062_V1_19_295_VUN; static int hf_062_V1_19_295_VUN_VALUE; static const FieldPart I062_V1_19_295_VUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_VUN_VALUE, NULL }; static const FieldPart *I062_V1_19_295_VUN_PARTS[] = { &I062_V1_19_295_VUN_VALUE, NULL }; static const AsterixField I062_V1_19_295_VUN = { FIXED, 1, 0, 0, &hf_062_V1_19_295_VUN, I062_V1_19_295_VUN_PARTS, { NULL } }; static int hf_062_V1_19_295_MET; static int hf_062_V1_19_295_MET_VALUE; static const FieldPart I062_V1_19_295_MET_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MET_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MET_PARTS[] = { &I062_V1_19_295_MET_VALUE, NULL }; static const AsterixField I062_V1_19_295_MET = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MET, I062_V1_19_295_MET_PARTS, { NULL } }; static int hf_062_V1_19_295_EMC; static int hf_062_V1_19_295_EMC_VALUE; static const FieldPart I062_V1_19_295_EMC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_EMC_VALUE, NULL }; static const FieldPart *I062_V1_19_295_EMC_PARTS[] = { &I062_V1_19_295_EMC_VALUE, NULL }; static const AsterixField I062_V1_19_295_EMC = { FIXED, 1, 0, 0, &hf_062_V1_19_295_EMC, I062_V1_19_295_EMC_PARTS, { NULL } }; static int hf_062_V1_19_295_POS; static int hf_062_V1_19_295_POS_VALUE; static const FieldPart I062_V1_19_295_POS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_POS_VALUE, NULL }; static const FieldPart *I062_V1_19_295_POS_PARTS[] = { &I062_V1_19_295_POS_VALUE, NULL }; static const AsterixField I062_V1_19_295_POS = { FIXED, 1, 0, 0, &hf_062_V1_19_295_POS, I062_V1_19_295_POS_PARTS, { NULL } }; static int hf_062_V1_19_295_GAL; static int hf_062_V1_19_295_GAL_VALUE; static const FieldPart I062_V1_19_295_GAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_GAL_VALUE, NULL }; static const FieldPart *I062_V1_19_295_GAL_PARTS[] = { &I062_V1_19_295_GAL_VALUE, NULL }; static const AsterixField I062_V1_19_295_GAL = { FIXED, 1, 0, 0, &hf_062_V1_19_295_GAL, I062_V1_19_295_GAL_PARTS, { NULL } }; static int hf_062_V1_19_295_PUN; static int hf_062_V1_19_295_PUN_VALUE; static const FieldPart I062_V1_19_295_PUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_PUN_VALUE, NULL }; static const FieldPart *I062_V1_19_295_PUN_PARTS[] = { &I062_V1_19_295_PUN_VALUE, NULL }; static const AsterixField I062_V1_19_295_PUN = { FIXED, 1, 0, 0, &hf_062_V1_19_295_PUN, I062_V1_19_295_PUN_PARTS, { NULL } }; static int hf_062_V1_19_295_MB; static int hf_062_V1_19_295_MB_VALUE; static const FieldPart I062_V1_19_295_MB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MB_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MB_PARTS[] = { &I062_V1_19_295_MB_VALUE, NULL }; static const AsterixField I062_V1_19_295_MB = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MB, I062_V1_19_295_MB_PARTS, { NULL } }; static int hf_062_V1_19_295_IAR; static int hf_062_V1_19_295_IAR_VALUE; static const FieldPart I062_V1_19_295_IAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_IAR_VALUE, NULL }; static const FieldPart *I062_V1_19_295_IAR_PARTS[] = { &I062_V1_19_295_IAR_VALUE, NULL }; static const AsterixField I062_V1_19_295_IAR = { FIXED, 1, 0, 0, &hf_062_V1_19_295_IAR, I062_V1_19_295_IAR_PARTS, { NULL } }; static int hf_062_V1_19_295_MAC; static int hf_062_V1_19_295_MAC_VALUE; static const FieldPart I062_V1_19_295_MAC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_MAC_VALUE, NULL }; static const FieldPart *I062_V1_19_295_MAC_PARTS[] = { &I062_V1_19_295_MAC_VALUE, NULL }; static const AsterixField I062_V1_19_295_MAC = { FIXED, 1, 0, 0, &hf_062_V1_19_295_MAC, I062_V1_19_295_MAC_PARTS, { NULL } }; static int hf_062_V1_19_295_BPS; static int hf_062_V1_19_295_BPS_VALUE; static const FieldPart I062_V1_19_295_BPS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_295_BPS_VALUE, NULL }; static const FieldPart *I062_V1_19_295_BPS_PARTS[] = { &I062_V1_19_295_BPS_VALUE, NULL }; static const AsterixField I062_V1_19_295_BPS = { FIXED, 1, 0, 0, &hf_062_V1_19_295_BPS, I062_V1_19_295_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_19_295 = { COMPOUND, 0, 0, 0, &hf_062_V1_19_295, NULL, { &I062_V1_19_295_MFL, &I062_V1_19_295_MD1, &I062_V1_19_295_MD2, &I062_V1_19_295_MDA, &I062_V1_19_295_MD4, &I062_V1_19_295_MD5, &I062_V1_19_295_MHG, &I062_V1_19_295_IAS, &I062_V1_19_295_TAS, &I062_V1_19_295_SAL, &I062_V1_19_295_FSS, &I062_V1_19_295_TID, &I062_V1_19_295_COM, &I062_V1_19_295_SAB, &I062_V1_19_295_ACS, &I062_V1_19_295_BVR, &I062_V1_19_295_GVR, &I062_V1_19_295_RAN, &I062_V1_19_295_TAR, &I062_V1_19_295_TAN, &I062_V1_19_295_GSP, &I062_V1_19_295_VUN, &I062_V1_19_295_MET, &I062_V1_19_295_EMC, &I062_V1_19_295_POS, &I062_V1_19_295_GAL, &I062_V1_19_295_PUN, &I062_V1_19_295_MB, &I062_V1_19_295_IAR, &I062_V1_19_295_MAC, &I062_V1_19_295_BPS, NULL } }; static int hf_062_V1_19_300; static int hf_062_V1_19_300_VALUE; static const value_string valstr_062_V1_19_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I062_V1_19_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_19_300_VALUE, NULL }; static const FieldPart *I062_V1_19_300_PARTS[] = { &I062_V1_19_300_VALUE, NULL }; static const AsterixField I062_V1_19_300 = { FIXED, 1, 0, 0, &hf_062_V1_19_300, I062_V1_19_300_PARTS, { NULL } }; static int hf_062_V1_19_340; static int hf_062_V1_19_340_SID; static int hf_062_V1_19_340_SID_SAC; static const FieldPart I062_V1_19_340_SID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_340_SID_SAC, NULL }; static int hf_062_V1_19_340_SID_SIC; static const FieldPart I062_V1_19_340_SID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_340_SID_SIC, NULL }; static const FieldPart *I062_V1_19_340_SID_PARTS[] = { &I062_V1_19_340_SID_SAC, &I062_V1_19_340_SID_SIC, NULL }; static const AsterixField I062_V1_19_340_SID = { FIXED, 2, 0, 0, &hf_062_V1_19_340_SID, I062_V1_19_340_SID_PARTS, { NULL } }; static int hf_062_V1_19_340_POS; static int hf_062_V1_19_340_POS_RHO; static const FieldPart I062_V1_19_340_POS_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_062_V1_19_340_POS_RHO, NULL }; static int hf_062_V1_19_340_POS_THETA; static const FieldPart I062_V1_19_340_POS_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_19_340_POS_THETA, NULL }; static const FieldPart *I062_V1_19_340_POS_PARTS[] = { &I062_V1_19_340_POS_RHO, &I062_V1_19_340_POS_THETA, NULL }; static const AsterixField I062_V1_19_340_POS = { FIXED, 4, 0, 0, &hf_062_V1_19_340_POS, I062_V1_19_340_POS_PARTS, { NULL } }; static int hf_062_V1_19_340_HEIGHT; static int hf_062_V1_19_340_HEIGHT_VALUE; static const FieldPart I062_V1_19_340_HEIGHT_VALUE = { 16, 25.0, FIELD_PART_FLOAT, &hf_062_V1_19_340_HEIGHT_VALUE, NULL }; static const FieldPart *I062_V1_19_340_HEIGHT_PARTS[] = { &I062_V1_19_340_HEIGHT_VALUE, NULL }; static const AsterixField I062_V1_19_340_HEIGHT = { FIXED, 2, 0, 0, &hf_062_V1_19_340_HEIGHT, I062_V1_19_340_HEIGHT_PARTS, { NULL } }; static int hf_062_V1_19_340_MDC; static int hf_062_V1_19_340_MDC_V; static const value_string valstr_062_V1_19_340_MDC_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_MDC_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_MDC_V, NULL }; static int hf_062_V1_19_340_MDC_G; static const value_string valstr_062_V1_19_340_MDC_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_MDC_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_MDC_G, NULL }; static int hf_062_V1_19_340_MDC_LMC; static const FieldPart I062_V1_19_340_MDC_LMC = { 14, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_340_MDC_LMC, NULL }; static const FieldPart *I062_V1_19_340_MDC_PARTS[] = { &I062_V1_19_340_MDC_V, &I062_V1_19_340_MDC_G, &I062_V1_19_340_MDC_LMC, NULL }; static const AsterixField I062_V1_19_340_MDC = { FIXED, 2, 0, 0, &hf_062_V1_19_340_MDC, I062_V1_19_340_MDC_PARTS, { NULL } }; static int hf_062_V1_19_340_MDA; static int hf_062_V1_19_340_MDA_V; static const value_string valstr_062_V1_19_340_MDA_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_MDA_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_MDA_V, NULL }; static int hf_062_V1_19_340_MDA_G; static const value_string valstr_062_V1_19_340_MDA_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_MDA_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_MDA_G, NULL }; static int hf_062_V1_19_340_MDA_L; static const value_string valstr_062_V1_19_340_MDA_L[] = { { 0, "Mode 3/A code as derived from the reply of the transponder" }, { 1, "Mode 3/A code as provided by a sensor local tracker" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_MDA_L = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_MDA_L, NULL }; static int hf_062_V1_19_340_MDA_MODE3A; static const FieldPart I062_V1_19_340_MDA_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_19_340_MDA_MODE3A, NULL }; static const FieldPart *I062_V1_19_340_MDA_PARTS[] = { &I062_V1_19_340_MDA_V, &I062_V1_19_340_MDA_G, &I062_V1_19_340_MDA_L, &IXXX_1bit_spare, &I062_V1_19_340_MDA_MODE3A, NULL }; static const AsterixField I062_V1_19_340_MDA = { FIXED, 2, 0, 0, &hf_062_V1_19_340_MDA, I062_V1_19_340_MDA_PARTS, { NULL } }; static int hf_062_V1_19_340_TYP; static int hf_062_V1_19_340_TYP_TYP; static const value_string valstr_062_V1_19_340_TYP_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call + PSR" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_TYP_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_TYP_TYP, NULL }; static int hf_062_V1_19_340_TYP_SIM; static const value_string valstr_062_V1_19_340_TYP_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_TYP_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_TYP_SIM, NULL }; static int hf_062_V1_19_340_TYP_RAB; static const value_string valstr_062_V1_19_340_TYP_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (item transponder)" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_TYP_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_TYP_RAB, NULL }; static int hf_062_V1_19_340_TYP_TST; static const value_string valstr_062_V1_19_340_TYP_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I062_V1_19_340_TYP_TST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_340_TYP_TST, NULL }; static const FieldPart *I062_V1_19_340_TYP_PARTS[] = { &I062_V1_19_340_TYP_TYP, &I062_V1_19_340_TYP_SIM, &I062_V1_19_340_TYP_RAB, &I062_V1_19_340_TYP_TST, &IXXX_2bit_spare, NULL }; static const AsterixField I062_V1_19_340_TYP = { FIXED, 1, 0, 0, &hf_062_V1_19_340_TYP, I062_V1_19_340_TYP_PARTS, { NULL } }; static const AsterixField I062_V1_19_340 = { COMPOUND, 0, 0, 0, &hf_062_V1_19_340, NULL, { &I062_V1_19_340_SID, &I062_V1_19_340_POS, &I062_V1_19_340_HEIGHT, &I062_V1_19_340_MDC, &I062_V1_19_340_MDA, &I062_V1_19_340_TYP, NULL } }; static int hf_062_V1_19_380; static int hf_062_V1_19_380_ADR; static int hf_062_V1_19_380_ADR_VALUE; static const FieldPart I062_V1_19_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_ADR_VALUE, NULL }; static const FieldPart *I062_V1_19_380_ADR_PARTS[] = { &I062_V1_19_380_ADR_VALUE, NULL }; static const AsterixField I062_V1_19_380_ADR = { FIXED, 3, 0, 0, &hf_062_V1_19_380_ADR, I062_V1_19_380_ADR_PARTS, { NULL } }; static int hf_062_V1_19_380_ID; static int hf_062_V1_19_380_ID_VALUE; static const FieldPart I062_V1_19_380_ID_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_19_380_ID_VALUE, NULL }; static const FieldPart *I062_V1_19_380_ID_PARTS[] = { &I062_V1_19_380_ID_VALUE, NULL }; static const AsterixField I062_V1_19_380_ID = { FIXED, 6, 0, 0, &hf_062_V1_19_380_ID, I062_V1_19_380_ID_PARTS, { NULL } }; static int hf_062_V1_19_380_MHG; static int hf_062_V1_19_380_MHG_VALUE; static const FieldPart I062_V1_19_380_MHG_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_19_380_MHG_VALUE, NULL }; static const FieldPart *I062_V1_19_380_MHG_PARTS[] = { &I062_V1_19_380_MHG_VALUE, NULL }; static const AsterixField I062_V1_19_380_MHG = { FIXED, 2, 0, 0, &hf_062_V1_19_380_MHG, I062_V1_19_380_MHG_PARTS, { NULL } }; static int hf_062_V1_19_380_IAS; static int hf_062_V1_19_380_IAS_IM; static const value_string valstr_062_V1_19_380_IAS_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2^-14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_IAS_IM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_IAS_IM, NULL }; static int hf_062_V1_19_380_IAS_IAS; static const FieldPart I062_V1_19_380_IAS_IAS = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_IAS_IAS, NULL }; static const FieldPart *I062_V1_19_380_IAS_PARTS[] = { &I062_V1_19_380_IAS_IM, &I062_V1_19_380_IAS_IAS, NULL }; static const AsterixField I062_V1_19_380_IAS = { FIXED, 2, 0, 0, &hf_062_V1_19_380_IAS, I062_V1_19_380_IAS_PARTS, { NULL } }; static int hf_062_V1_19_380_TAS; static int hf_062_V1_19_380_TAS_VALUE; static const FieldPart I062_V1_19_380_TAS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_19_380_TAS_VALUE, NULL }; static const FieldPart *I062_V1_19_380_TAS_PARTS[] = { &I062_V1_19_380_TAS_VALUE, NULL }; static const AsterixField I062_V1_19_380_TAS = { FIXED, 2, 0, 0, &hf_062_V1_19_380_TAS, I062_V1_19_380_TAS_PARTS, { NULL } }; static int hf_062_V1_19_380_SAL; static int hf_062_V1_19_380_SAL_SAS; static const value_string valstr_062_V1_19_380_SAL_SAS[] = { { 0, "No source information provided" }, { 1, "Source information provided" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_SAL_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_SAL_SAS, NULL }; static int hf_062_V1_19_380_SAL_SRC; static const value_string valstr_062_V1_19_380_SAL_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft altitude" }, { 2, "FCU/MCP selected altitude" }, { 3, "FMS selected altitude" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_SAL_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_SAL_SRC, NULL }; static int hf_062_V1_19_380_SAL_ALT; static const FieldPart I062_V1_19_380_SAL_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_19_380_SAL_ALT, NULL }; static const FieldPart *I062_V1_19_380_SAL_PARTS[] = { &I062_V1_19_380_SAL_SAS, &I062_V1_19_380_SAL_SRC, &I062_V1_19_380_SAL_ALT, NULL }; static const AsterixField I062_V1_19_380_SAL = { FIXED, 2, 0, 0, &hf_062_V1_19_380_SAL, I062_V1_19_380_SAL_PARTS, { NULL } }; static int hf_062_V1_19_380_FSS; static int hf_062_V1_19_380_FSS_MV; static const value_string valstr_062_V1_19_380_FSS_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_FSS_MV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_FSS_MV, NULL }; static int hf_062_V1_19_380_FSS_AH; static const value_string valstr_062_V1_19_380_FSS_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_FSS_AH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_FSS_AH, NULL }; static int hf_062_V1_19_380_FSS_AM; static const value_string valstr_062_V1_19_380_FSS_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_FSS_AM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_FSS_AM, NULL }; static int hf_062_V1_19_380_FSS_ALT; static const FieldPart I062_V1_19_380_FSS_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_19_380_FSS_ALT, NULL }; static const FieldPart *I062_V1_19_380_FSS_PARTS[] = { &I062_V1_19_380_FSS_MV, &I062_V1_19_380_FSS_AH, &I062_V1_19_380_FSS_AM, &I062_V1_19_380_FSS_ALT, NULL }; static const AsterixField I062_V1_19_380_FSS = { FIXED, 2, 0, 0, &hf_062_V1_19_380_FSS, I062_V1_19_380_FSS_PARTS, { NULL } }; static int hf_062_V1_19_380_TIS; static int hf_062_V1_19_380_TIS_NAV; static const value_string valstr_062_V1_19_380_TIS_NAV[] = { { 0, "Trajectory intent data is available for this aircraft" }, { 1, "Trajectory intent data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TIS_NAV, NULL }; static int hf_062_V1_19_380_TIS_NVB; static const value_string valstr_062_V1_19_380_TIS_NVB[] = { { 0, "Trajectory intent data is valid" }, { 1, "Trajectory intent data is not valid" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TIS_NVB, NULL }; static const FieldPart *I062_V1_19_380_TIS_PARTS[] = { &I062_V1_19_380_TIS_NAV, &I062_V1_19_380_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_V1_19_380_TIS = { FX, 1, 0, 0, &hf_062_V1_19_380_TIS, I062_V1_19_380_TIS_PARTS, { NULL } }; static int hf_062_V1_19_380_TID; static int hf_062_V1_19_380_TID_TCA; static const value_string valstr_062_V1_19_380_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TID_TCA, NULL }; static int hf_062_V1_19_380_TID_NC; static const value_string valstr_062_V1_19_380_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TID_NC, NULL }; static int hf_062_V1_19_380_TID_TCPN; static const FieldPart I062_V1_19_380_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_TID_TCPN, NULL }; static int hf_062_V1_19_380_TID_ALT; static const FieldPart I062_V1_19_380_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_062_V1_19_380_TID_ALT, NULL }; static int hf_062_V1_19_380_TID_LAT; static const FieldPart I062_V1_19_380_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_19_380_TID_LAT, NULL }; static int hf_062_V1_19_380_TID_LON; static const FieldPart I062_V1_19_380_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_19_380_TID_LON, NULL }; static int hf_062_V1_19_380_TID_PT; static const value_string valstr_062_V1_19_380_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TID_PT, NULL }; static int hf_062_V1_19_380_TID_TD; static const value_string valstr_062_V1_19_380_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TID_TD, NULL }; static int hf_062_V1_19_380_TID_TRA; static const value_string valstr_062_V1_19_380_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TID_TRA, NULL }; static int hf_062_V1_19_380_TID_TOA; static const value_string valstr_062_V1_19_380_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TID_TOA, NULL }; static int hf_062_V1_19_380_TID_TOV; static const FieldPart I062_V1_19_380_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_19_380_TID_TOV, NULL }; static int hf_062_V1_19_380_TID_TTR; static const FieldPart I062_V1_19_380_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_062_V1_19_380_TID_TTR, NULL }; static const FieldPart *I062_V1_19_380_TID_PARTS[] = { &I062_V1_19_380_TID_TCA, &I062_V1_19_380_TID_NC, &I062_V1_19_380_TID_TCPN, &I062_V1_19_380_TID_ALT, &I062_V1_19_380_TID_LAT, &I062_V1_19_380_TID_LON, &I062_V1_19_380_TID_PT, &I062_V1_19_380_TID_TD, &I062_V1_19_380_TID_TRA, &I062_V1_19_380_TID_TOA, &I062_V1_19_380_TID_TOV, &I062_V1_19_380_TID_TTR, NULL }; static const AsterixField I062_V1_19_380_TID = { REPETITIVE, 15, 1, 0, &hf_062_V1_19_380_TID, I062_V1_19_380_TID_PARTS, { NULL } }; static int hf_062_V1_19_380_COM; static int hf_062_V1_19_380_COM_COM; static const value_string valstr_062_V1_19_380_COM_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_COM_COM = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_COM_COM, NULL }; static int hf_062_V1_19_380_COM_STAT; static const value_string valstr_062_V1_19_380_COM_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "Not defined" }, { 7, "Unknown or not yet extracted" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_COM_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_COM_STAT, NULL }; static int hf_062_V1_19_380_COM_SSC; static const value_string valstr_062_V1_19_380_COM_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_COM_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_COM_SSC, NULL }; static int hf_062_V1_19_380_COM_ARC; static const value_string valstr_062_V1_19_380_COM_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_COM_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_COM_ARC, NULL }; static int hf_062_V1_19_380_COM_AIC; static const value_string valstr_062_V1_19_380_COM_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_COM_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_COM_AIC, NULL }; static int hf_062_V1_19_380_COM_B1A; static const FieldPart I062_V1_19_380_COM_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_COM_B1A, NULL }; static int hf_062_V1_19_380_COM_B1B; static const FieldPart I062_V1_19_380_COM_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_COM_B1B, NULL }; static const FieldPart *I062_V1_19_380_COM_PARTS[] = { &I062_V1_19_380_COM_COM, &I062_V1_19_380_COM_STAT, &IXXX_2bit_spare, &I062_V1_19_380_COM_SSC, &I062_V1_19_380_COM_ARC, &I062_V1_19_380_COM_AIC, &I062_V1_19_380_COM_B1A, &I062_V1_19_380_COM_B1B, NULL }; static const AsterixField I062_V1_19_380_COM = { FIXED, 2, 0, 0, &hf_062_V1_19_380_COM, I062_V1_19_380_COM_PARTS, { NULL } }; static int hf_062_V1_19_380_SAB; static int hf_062_V1_19_380_SAB_AC; static const value_string valstr_062_V1_19_380_SAB_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operational" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_SAB_AC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_SAB_AC, NULL }; static int hf_062_V1_19_380_SAB_MN; static const value_string valstr_062_V1_19_380_SAB_MN[] = { { 0, "Unknown" }, { 1, "Multiple navigational aids not operating" }, { 2, "Multiple navigational aids operating" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_SAB_MN = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_SAB_MN, NULL }; static int hf_062_V1_19_380_SAB_DC; static const value_string valstr_062_V1_19_380_SAB_DC[] = { { 0, "Unknown" }, { 1, "Differential correction" }, { 2, "No differential correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_SAB_DC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_SAB_DC, NULL }; static int hf_062_V1_19_380_SAB_GBS; static const value_string valstr_062_V1_19_380_SAB_GBS[] = { { 0, "Transponder ground bit not set or unknown" }, { 1, "Transponder Ground Bit set" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_SAB_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_SAB_GBS, NULL }; static int hf_062_V1_19_380_SAB_STAT; static const value_string valstr_062_V1_19_380_SAB_STAT[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_SAB_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_SAB_STAT, NULL }; static const FieldPart *I062_V1_19_380_SAB_PARTS[] = { &I062_V1_19_380_SAB_AC, &I062_V1_19_380_SAB_MN, &I062_V1_19_380_SAB_DC, &I062_V1_19_380_SAB_GBS, &IXXX_6bit_spare, &I062_V1_19_380_SAB_STAT, NULL }; static const AsterixField I062_V1_19_380_SAB = { FIXED, 2, 0, 0, &hf_062_V1_19_380_SAB, I062_V1_19_380_SAB_PARTS, { NULL } }; static int hf_062_V1_19_380_ACS; static int hf_062_V1_19_380_ACS_VALUE; static const FieldPart I062_V1_19_380_ACS_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_ACS_VALUE, NULL }; static const FieldPart *I062_V1_19_380_ACS_PARTS[] = { &I062_V1_19_380_ACS_VALUE, NULL }; static const AsterixField I062_V1_19_380_ACS = { FIXED, 7, 0, 0, &hf_062_V1_19_380_ACS, I062_V1_19_380_ACS_PARTS, { NULL } }; static int hf_062_V1_19_380_BVR; static int hf_062_V1_19_380_BVR_VALUE; static const FieldPart I062_V1_19_380_BVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_19_380_BVR_VALUE, NULL }; static const FieldPart *I062_V1_19_380_BVR_PARTS[] = { &I062_V1_19_380_BVR_VALUE, NULL }; static const AsterixField I062_V1_19_380_BVR = { FIXED, 2, 0, 0, &hf_062_V1_19_380_BVR, I062_V1_19_380_BVR_PARTS, { NULL } }; static int hf_062_V1_19_380_GVR; static int hf_062_V1_19_380_GVR_VALUE; static const FieldPart I062_V1_19_380_GVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_19_380_GVR_VALUE, NULL }; static const FieldPart *I062_V1_19_380_GVR_PARTS[] = { &I062_V1_19_380_GVR_VALUE, NULL }; static const AsterixField I062_V1_19_380_GVR = { FIXED, 2, 0, 0, &hf_062_V1_19_380_GVR, I062_V1_19_380_GVR_PARTS, { NULL } }; static int hf_062_V1_19_380_RAN; static int hf_062_V1_19_380_RAN_VALUE; static const FieldPart I062_V1_19_380_RAN_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_062_V1_19_380_RAN_VALUE, NULL }; static const FieldPart *I062_V1_19_380_RAN_PARTS[] = { &I062_V1_19_380_RAN_VALUE, NULL }; static const AsterixField I062_V1_19_380_RAN = { FIXED, 2, 0, 0, &hf_062_V1_19_380_RAN, I062_V1_19_380_RAN_PARTS, { NULL } }; static int hf_062_V1_19_380_TAR; static int hf_062_V1_19_380_TAR_TI; static const value_string valstr_062_V1_19_380_TAR_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_TAR_TI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_TAR_TI, NULL }; static int hf_062_V1_19_380_TAR_ROT; static const FieldPart I062_V1_19_380_TAR_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_380_TAR_ROT, NULL }; static const FieldPart *I062_V1_19_380_TAR_PARTS[] = { &I062_V1_19_380_TAR_TI, &IXXX_6bit_spare, &I062_V1_19_380_TAR_ROT, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_19_380_TAR = { FIXED, 2, 0, 0, &hf_062_V1_19_380_TAR, I062_V1_19_380_TAR_PARTS, { NULL } }; static int hf_062_V1_19_380_TAN; static int hf_062_V1_19_380_TAN_VALUE; static const FieldPart I062_V1_19_380_TAN_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_19_380_TAN_VALUE, NULL }; static const FieldPart *I062_V1_19_380_TAN_PARTS[] = { &I062_V1_19_380_TAN_VALUE, NULL }; static const AsterixField I062_V1_19_380_TAN = { FIXED, 2, 0, 0, &hf_062_V1_19_380_TAN, I062_V1_19_380_TAN_PARTS, { NULL } }; static int hf_062_V1_19_380_GS; static int hf_062_V1_19_380_GS_VALUE; static const FieldPart I062_V1_19_380_GS_VALUE = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_062_V1_19_380_GS_VALUE, NULL }; static const FieldPart *I062_V1_19_380_GS_PARTS[] = { &I062_V1_19_380_GS_VALUE, NULL }; static const AsterixField I062_V1_19_380_GS = { FIXED, 2, 0, 0, &hf_062_V1_19_380_GS, I062_V1_19_380_GS_PARTS, { NULL } }; static int hf_062_V1_19_380_VUN; static int hf_062_V1_19_380_VUN_VALUE; static const FieldPart I062_V1_19_380_VUN_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_VUN_VALUE, NULL }; static const FieldPart *I062_V1_19_380_VUN_PARTS[] = { &I062_V1_19_380_VUN_VALUE, NULL }; static const AsterixField I062_V1_19_380_VUN = { FIXED, 1, 0, 0, &hf_062_V1_19_380_VUN, I062_V1_19_380_VUN_PARTS, { NULL } }; static int hf_062_V1_19_380_MET; static int hf_062_V1_19_380_MET_WS; static const value_string valstr_062_V1_19_380_MET_WS[] = { { 0, "Not valid Wind Speed" }, { 1, "Valid Wind Speed" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_MET_WS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_MET_WS, NULL }; static int hf_062_V1_19_380_MET_WD; static const value_string valstr_062_V1_19_380_MET_WD[] = { { 0, "Not valid Wind Direction" }, { 1, "Valid Wind Direction" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_MET_WD = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_MET_WD, NULL }; static int hf_062_V1_19_380_MET_TMP; static const value_string valstr_062_V1_19_380_MET_TMP[] = { { 0, "Not valid Temperature" }, { 1, "Valid Temperature" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_MET_TMP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_MET_TMP, NULL }; static int hf_062_V1_19_380_MET_TRB; static const value_string valstr_062_V1_19_380_MET_TRB[] = { { 0, "Not valid Turbulence" }, { 1, "Valid Turbulence" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_MET_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_MET_TRB, NULL }; static int hf_062_V1_19_380_MET_WSD; static const FieldPart I062_V1_19_380_MET_WSD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_19_380_MET_WSD, NULL }; static int hf_062_V1_19_380_MET_WDD; static const FieldPart I062_V1_19_380_MET_WDD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_19_380_MET_WDD, NULL }; static int hf_062_V1_19_380_MET_TMPD; static const FieldPart I062_V1_19_380_MET_TMPD = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_19_380_MET_TMPD, NULL }; static int hf_062_V1_19_380_MET_TRBD; static const FieldPart I062_V1_19_380_MET_TRBD = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_MET_TRBD, NULL }; static const FieldPart *I062_V1_19_380_MET_PARTS[] = { &I062_V1_19_380_MET_WS, &I062_V1_19_380_MET_WD, &I062_V1_19_380_MET_TMP, &I062_V1_19_380_MET_TRB, &IXXX_4bit_spare, &I062_V1_19_380_MET_WSD, &I062_V1_19_380_MET_WDD, &I062_V1_19_380_MET_TMPD, &I062_V1_19_380_MET_TRBD, NULL }; static const AsterixField I062_V1_19_380_MET = { FIXED, 8, 0, 0, &hf_062_V1_19_380_MET, I062_V1_19_380_MET_PARTS, { NULL } }; static int hf_062_V1_19_380_EMC; static int hf_062_V1_19_380_EMC_VALUE; static const value_string valstr_062_V1_19_380_EMC_VALUE[] = { { 1, "Light aircraft =< 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I062_V1_19_380_EMC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_19_380_EMC_VALUE, NULL }; static const FieldPart *I062_V1_19_380_EMC_PARTS[] = { &I062_V1_19_380_EMC_VALUE, NULL }; static const AsterixField I062_V1_19_380_EMC = { FIXED, 1, 0, 0, &hf_062_V1_19_380_EMC, I062_V1_19_380_EMC_PARTS, { NULL } }; static int hf_062_V1_19_380_POS; static int hf_062_V1_19_380_POS_LAT; static const FieldPart I062_V1_19_380_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_19_380_POS_LAT, NULL }; static int hf_062_V1_19_380_POS_LON; static const FieldPart I062_V1_19_380_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_19_380_POS_LON, NULL }; static const FieldPart *I062_V1_19_380_POS_PARTS[] = { &I062_V1_19_380_POS_LAT, &I062_V1_19_380_POS_LON, NULL }; static const AsterixField I062_V1_19_380_POS = { FIXED, 6, 0, 0, &hf_062_V1_19_380_POS, I062_V1_19_380_POS_PARTS, { NULL } }; static int hf_062_V1_19_380_GAL; static int hf_062_V1_19_380_GAL_VALUE; static const FieldPart I062_V1_19_380_GAL_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_19_380_GAL_VALUE, NULL }; static const FieldPart *I062_V1_19_380_GAL_PARTS[] = { &I062_V1_19_380_GAL_VALUE, NULL }; static const AsterixField I062_V1_19_380_GAL = { FIXED, 2, 0, 0, &hf_062_V1_19_380_GAL, I062_V1_19_380_GAL_PARTS, { NULL } }; static int hf_062_V1_19_380_PUN; static int hf_062_V1_19_380_PUN_PUN; static const FieldPart I062_V1_19_380_PUN_PUN = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_PUN_PUN, NULL }; static const FieldPart *I062_V1_19_380_PUN_PARTS[] = { &IXXX_4bit_spare, &I062_V1_19_380_PUN_PUN, NULL }; static const AsterixField I062_V1_19_380_PUN = { FIXED, 1, 0, 0, &hf_062_V1_19_380_PUN, I062_V1_19_380_PUN_PARTS, { NULL } }; static int hf_062_V1_19_380_MB; static int hf_062_V1_19_380_MB_VALUE; static const FieldPart I062_V1_19_380_MB_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_062_V1_19_380_MB_VALUE, NULL }; static const FieldPart *I062_V1_19_380_MB_PARTS[] = { &I062_V1_19_380_MB_VALUE, NULL }; static const AsterixField I062_V1_19_380_MB = { REPETITIVE, 8, 1, 0, &hf_062_V1_19_380_MB, I062_V1_19_380_MB_PARTS, { NULL } }; static int hf_062_V1_19_380_IAR; static int hf_062_V1_19_380_IAR_VALUE; static const FieldPart I062_V1_19_380_IAR_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_19_380_IAR_VALUE, NULL }; static const FieldPart *I062_V1_19_380_IAR_PARTS[] = { &I062_V1_19_380_IAR_VALUE, NULL }; static const AsterixField I062_V1_19_380_IAR = { FIXED, 2, 0, 0, &hf_062_V1_19_380_IAR, I062_V1_19_380_IAR_PARTS, { NULL } }; static int hf_062_V1_19_380_MAC; static int hf_062_V1_19_380_MAC_VALUE; static const FieldPart I062_V1_19_380_MAC_VALUE = { 16, 0.008, FIELD_PART_UFLOAT, &hf_062_V1_19_380_MAC_VALUE, NULL }; static const FieldPart *I062_V1_19_380_MAC_PARTS[] = { &I062_V1_19_380_MAC_VALUE, NULL }; static const AsterixField I062_V1_19_380_MAC = { FIXED, 2, 0, 0, &hf_062_V1_19_380_MAC, I062_V1_19_380_MAC_PARTS, { NULL } }; static int hf_062_V1_19_380_BPS; static int hf_062_V1_19_380_BPS_BPS; static const FieldPart I062_V1_19_380_BPS_BPS = { 12, 0.1, FIELD_PART_UFLOAT, &hf_062_V1_19_380_BPS_BPS, NULL }; static const FieldPart *I062_V1_19_380_BPS_PARTS[] = { &IXXX_4bit_spare, &I062_V1_19_380_BPS_BPS, NULL }; static const AsterixField I062_V1_19_380_BPS = { FIXED, 2, 0, 0, &hf_062_V1_19_380_BPS, I062_V1_19_380_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_19_380 = { COMPOUND, 0, 0, 0, &hf_062_V1_19_380, NULL, { &I062_V1_19_380_ADR, &I062_V1_19_380_ID, &I062_V1_19_380_MHG, &I062_V1_19_380_IAS, &I062_V1_19_380_TAS, &I062_V1_19_380_SAL, &I062_V1_19_380_FSS, &I062_V1_19_380_TIS, &I062_V1_19_380_TID, &I062_V1_19_380_COM, &I062_V1_19_380_SAB, &I062_V1_19_380_ACS, &I062_V1_19_380_BVR, &I062_V1_19_380_GVR, &I062_V1_19_380_RAN, &I062_V1_19_380_TAR, &I062_V1_19_380_TAN, &I062_V1_19_380_GS, &I062_V1_19_380_VUN, &I062_V1_19_380_MET, &I062_V1_19_380_EMC, &I062_V1_19_380_POS, &I062_V1_19_380_GAL, &I062_V1_19_380_PUN, &I062_V1_19_380_MB, &I062_V1_19_380_IAR, &I062_V1_19_380_MAC, &I062_V1_19_380_BPS, NULL } }; static int hf_062_V1_19_390; static int hf_062_V1_19_390_TAG; static int hf_062_V1_19_390_TAG_SAC; static const FieldPart I062_V1_19_390_TAG_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_390_TAG_SAC, NULL }; static int hf_062_V1_19_390_TAG_SIC; static const FieldPart I062_V1_19_390_TAG_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_390_TAG_SIC, NULL }; static const FieldPart *I062_V1_19_390_TAG_PARTS[] = { &I062_V1_19_390_TAG_SAC, &I062_V1_19_390_TAG_SIC, NULL }; static const AsterixField I062_V1_19_390_TAG = { FIXED, 2, 0, 0, &hf_062_V1_19_390_TAG, I062_V1_19_390_TAG_PARTS, { NULL } }; static int hf_062_V1_19_390_CS; static int hf_062_V1_19_390_CS_VALUE; static const FieldPart I062_V1_19_390_CS_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_CS_VALUE, NULL }; static const FieldPart *I062_V1_19_390_CS_PARTS[] = { &I062_V1_19_390_CS_VALUE, NULL }; static const AsterixField I062_V1_19_390_CS = { FIXED, 7, 0, 0, &hf_062_V1_19_390_CS, I062_V1_19_390_CS_PARTS, { NULL } }; static int hf_062_V1_19_390_IFI; static int hf_062_V1_19_390_IFI_TYP; static const value_string valstr_062_V1_19_390_IFI_TYP[] = { { 0, "Plan Number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_IFI_TYP, NULL }; static int hf_062_V1_19_390_IFI_NBR; static const FieldPart I062_V1_19_390_IFI_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_IFI_NBR, NULL }; static const FieldPart *I062_V1_19_390_IFI_PARTS[] = { &I062_V1_19_390_IFI_TYP, &IXXX_3bit_spare, &I062_V1_19_390_IFI_NBR, NULL }; static const AsterixField I062_V1_19_390_IFI = { FIXED, 4, 0, 0, &hf_062_V1_19_390_IFI, I062_V1_19_390_IFI_PARTS, { NULL } }; static int hf_062_V1_19_390_FCT; static int hf_062_V1_19_390_FCT_GATOAT; static const value_string valstr_062_V1_19_390_FCT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_FCT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_FCT_GATOAT, NULL }; static int hf_062_V1_19_390_FCT_FR1FR2; static const value_string valstr_062_V1_19_390_FCT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight Rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_FCT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_FCT_FR1FR2, NULL }; static int hf_062_V1_19_390_FCT_RVSM; static const value_string valstr_062_V1_19_390_FCT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_FCT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_FCT_RVSM, NULL }; static int hf_062_V1_19_390_FCT_HPR; static const value_string valstr_062_V1_19_390_FCT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_FCT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_FCT_HPR, NULL }; static const FieldPart *I062_V1_19_390_FCT_PARTS[] = { &I062_V1_19_390_FCT_GATOAT, &I062_V1_19_390_FCT_FR1FR2, &I062_V1_19_390_FCT_RVSM, &I062_V1_19_390_FCT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_19_390_FCT = { FIXED, 1, 0, 0, &hf_062_V1_19_390_FCT, I062_V1_19_390_FCT_PARTS, { NULL } }; static int hf_062_V1_19_390_TAC; static int hf_062_V1_19_390_TAC_VALUE; static const FieldPart I062_V1_19_390_TAC_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_TAC_VALUE, NULL }; static const FieldPart *I062_V1_19_390_TAC_PARTS[] = { &I062_V1_19_390_TAC_VALUE, NULL }; static const AsterixField I062_V1_19_390_TAC = { FIXED, 4, 0, 0, &hf_062_V1_19_390_TAC, I062_V1_19_390_TAC_PARTS, { NULL } }; static int hf_062_V1_19_390_WTC; static int hf_062_V1_19_390_WTC_VALUE; static const FieldPart I062_V1_19_390_WTC_VALUE = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_WTC_VALUE, NULL }; static const FieldPart *I062_V1_19_390_WTC_PARTS[] = { &I062_V1_19_390_WTC_VALUE, NULL }; static const AsterixField I062_V1_19_390_WTC = { FIXED, 1, 0, 0, &hf_062_V1_19_390_WTC, I062_V1_19_390_WTC_PARTS, { NULL } }; static int hf_062_V1_19_390_DEP; static int hf_062_V1_19_390_DEP_VALUE; static const FieldPart I062_V1_19_390_DEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_DEP_VALUE, NULL }; static const FieldPart *I062_V1_19_390_DEP_PARTS[] = { &I062_V1_19_390_DEP_VALUE, NULL }; static const AsterixField I062_V1_19_390_DEP = { FIXED, 4, 0, 0, &hf_062_V1_19_390_DEP, I062_V1_19_390_DEP_PARTS, { NULL } }; static int hf_062_V1_19_390_DST; static int hf_062_V1_19_390_DST_VALUE; static const FieldPart I062_V1_19_390_DST_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_DST_VALUE, NULL }; static const FieldPart *I062_V1_19_390_DST_PARTS[] = { &I062_V1_19_390_DST_VALUE, NULL }; static const AsterixField I062_V1_19_390_DST = { FIXED, 4, 0, 0, &hf_062_V1_19_390_DST, I062_V1_19_390_DST_PARTS, { NULL } }; static int hf_062_V1_19_390_RDS; static int hf_062_V1_19_390_RDS_NU1; static const FieldPart I062_V1_19_390_RDS_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_RDS_NU1, NULL }; static int hf_062_V1_19_390_RDS_NU2; static const FieldPart I062_V1_19_390_RDS_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_RDS_NU2, NULL }; static int hf_062_V1_19_390_RDS_LTR; static const FieldPart I062_V1_19_390_RDS_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_RDS_LTR, NULL }; static const FieldPart *I062_V1_19_390_RDS_PARTS[] = { &I062_V1_19_390_RDS_NU1, &I062_V1_19_390_RDS_NU2, &I062_V1_19_390_RDS_LTR, NULL }; static const AsterixField I062_V1_19_390_RDS = { FIXED, 3, 0, 0, &hf_062_V1_19_390_RDS, I062_V1_19_390_RDS_PARTS, { NULL } }; static int hf_062_V1_19_390_CFL; static int hf_062_V1_19_390_CFL_VALUE; static const FieldPart I062_V1_19_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_390_CFL_VALUE, NULL }; static const FieldPart *I062_V1_19_390_CFL_PARTS[] = { &I062_V1_19_390_CFL_VALUE, NULL }; static const AsterixField I062_V1_19_390_CFL = { FIXED, 2, 0, 0, &hf_062_V1_19_390_CFL, I062_V1_19_390_CFL_PARTS, { NULL } }; static int hf_062_V1_19_390_CTL; static int hf_062_V1_19_390_CTL_CENTRE; static const FieldPart I062_V1_19_390_CTL_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_390_CTL_CENTRE, NULL }; static int hf_062_V1_19_390_CTL_POSITION; static const FieldPart I062_V1_19_390_CTL_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_390_CTL_POSITION, NULL }; static const FieldPart *I062_V1_19_390_CTL_PARTS[] = { &I062_V1_19_390_CTL_CENTRE, &I062_V1_19_390_CTL_POSITION, NULL }; static const AsterixField I062_V1_19_390_CTL = { FIXED, 2, 0, 0, &hf_062_V1_19_390_CTL, I062_V1_19_390_CTL_PARTS, { NULL } }; static int hf_062_V1_19_390_TOD; static int hf_062_V1_19_390_TOD_TYP; static const value_string valstr_062_V1_19_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_TOD_TYP, NULL }; static int hf_062_V1_19_390_TOD_DAY; static const value_string valstr_062_V1_19_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_TOD_DAY, NULL }; static int hf_062_V1_19_390_TOD_HOR; static const FieldPart I062_V1_19_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_TOD_HOR, NULL }; static int hf_062_V1_19_390_TOD_MIN; static const FieldPart I062_V1_19_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_TOD_MIN, NULL }; static int hf_062_V1_19_390_TOD_AVS; static const value_string valstr_062_V1_19_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_TOD_AVS, NULL }; static int hf_062_V1_19_390_TOD_SEC; static const FieldPart I062_V1_19_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_TOD_SEC, NULL }; static const FieldPart *I062_V1_19_390_TOD_PARTS[] = { &I062_V1_19_390_TOD_TYP, &I062_V1_19_390_TOD_DAY, &IXXX_4bit_spare, &I062_V1_19_390_TOD_HOR, &IXXX_2bit_spare, &I062_V1_19_390_TOD_MIN, &I062_V1_19_390_TOD_AVS, &IXXX_1bit_spare, &I062_V1_19_390_TOD_SEC, NULL }; static const AsterixField I062_V1_19_390_TOD = { REPETITIVE, 4, 1, 0, &hf_062_V1_19_390_TOD, I062_V1_19_390_TOD_PARTS, { NULL } }; static int hf_062_V1_19_390_AST; static int hf_062_V1_19_390_AST_VALUE; static const FieldPart I062_V1_19_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_AST_VALUE, NULL }; static const FieldPart *I062_V1_19_390_AST_PARTS[] = { &I062_V1_19_390_AST_VALUE, NULL }; static const AsterixField I062_V1_19_390_AST = { FIXED, 6, 0, 0, &hf_062_V1_19_390_AST, I062_V1_19_390_AST_PARTS, { NULL } }; static int hf_062_V1_19_390_STS; static int hf_062_V1_19_390_STS_EMP; static const value_string valstr_062_V1_19_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_STS_EMP, NULL }; static int hf_062_V1_19_390_STS_AVL; static const value_string valstr_062_V1_19_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_STS_AVL, NULL }; static const FieldPart *I062_V1_19_390_STS_PARTS[] = { &I062_V1_19_390_STS_EMP, &I062_V1_19_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I062_V1_19_390_STS = { FIXED, 1, 0, 0, &hf_062_V1_19_390_STS, I062_V1_19_390_STS_PARTS, { NULL } }; static int hf_062_V1_19_390_STD; static int hf_062_V1_19_390_STD_VALUE; static const FieldPart I062_V1_19_390_STD_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_STD_VALUE, NULL }; static const FieldPart *I062_V1_19_390_STD_PARTS[] = { &I062_V1_19_390_STD_VALUE, NULL }; static const AsterixField I062_V1_19_390_STD = { FIXED, 7, 0, 0, &hf_062_V1_19_390_STD, I062_V1_19_390_STD_PARTS, { NULL } }; static int hf_062_V1_19_390_STA; static int hf_062_V1_19_390_STA_VALUE; static const FieldPart I062_V1_19_390_STA_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_STA_VALUE, NULL }; static const FieldPart *I062_V1_19_390_STA_PARTS[] = { &I062_V1_19_390_STA_VALUE, NULL }; static const AsterixField I062_V1_19_390_STA = { FIXED, 7, 0, 0, &hf_062_V1_19_390_STA, I062_V1_19_390_STA_PARTS, { NULL } }; static int hf_062_V1_19_390_PEM; static int hf_062_V1_19_390_PEM_VA; static const value_string valstr_062_V1_19_390_PEM_VA[] = { { 0, "No valid Mode 3/A available" }, { 1, "Valid Mode 3/A available" }, { 0, NULL } }; static const FieldPart I062_V1_19_390_PEM_VA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_19_390_PEM_VA, NULL }; static int hf_062_V1_19_390_PEM_MODE3A; static const FieldPart I062_V1_19_390_PEM_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_19_390_PEM_MODE3A, NULL }; static const FieldPart *I062_V1_19_390_PEM_PARTS[] = { &IXXX_3bit_spare, &I062_V1_19_390_PEM_VA, &I062_V1_19_390_PEM_MODE3A, NULL }; static const AsterixField I062_V1_19_390_PEM = { FIXED, 2, 0, 0, &hf_062_V1_19_390_PEM, I062_V1_19_390_PEM_PARTS, { NULL } }; static int hf_062_V1_19_390_PEC; static int hf_062_V1_19_390_PEC_VALUE; static const FieldPart I062_V1_19_390_PEC_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_19_390_PEC_VALUE, NULL }; static const FieldPart *I062_V1_19_390_PEC_PARTS[] = { &I062_V1_19_390_PEC_VALUE, NULL }; static const AsterixField I062_V1_19_390_PEC = { FIXED, 7, 0, 0, &hf_062_V1_19_390_PEC, I062_V1_19_390_PEC_PARTS, { NULL } }; static const AsterixField I062_V1_19_390 = { COMPOUND, 0, 0, 0, &hf_062_V1_19_390, NULL, { &I062_V1_19_390_TAG, &I062_V1_19_390_CS, &I062_V1_19_390_IFI, &I062_V1_19_390_FCT, &I062_V1_19_390_TAC, &I062_V1_19_390_WTC, &I062_V1_19_390_DEP, &I062_V1_19_390_DST, &I062_V1_19_390_RDS, &I062_V1_19_390_CFL, &I062_V1_19_390_CTL, &I062_V1_19_390_TOD, &I062_V1_19_390_AST, &I062_V1_19_390_STS, &I062_V1_19_390_STD, &I062_V1_19_390_STA, &I062_V1_19_390_PEM, &I062_V1_19_390_PEC, NULL } }; static int hf_062_V1_19_500; static int hf_062_V1_19_500_APC; static int hf_062_V1_19_500_APC_X; static const FieldPart I062_V1_19_500_APC_X = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_19_500_APC_X, NULL }; static int hf_062_V1_19_500_APC_Y; static const FieldPart I062_V1_19_500_APC_Y = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_19_500_APC_Y, NULL }; static const FieldPart *I062_V1_19_500_APC_PARTS[] = { &I062_V1_19_500_APC_X, &I062_V1_19_500_APC_Y, NULL }; static const AsterixField I062_V1_19_500_APC = { FIXED, 4, 0, 0, &hf_062_V1_19_500_APC, I062_V1_19_500_APC_PARTS, { NULL } }; static int hf_062_V1_19_500_COV; static int hf_062_V1_19_500_COV_VALUE; static const FieldPart I062_V1_19_500_COV_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_062_V1_19_500_COV_VALUE, NULL }; static const FieldPart *I062_V1_19_500_COV_PARTS[] = { &I062_V1_19_500_COV_VALUE, NULL }; static const AsterixField I062_V1_19_500_COV = { FIXED, 2, 0, 0, &hf_062_V1_19_500_COV, I062_V1_19_500_COV_PARTS, { NULL } }; static int hf_062_V1_19_500_APW; static int hf_062_V1_19_500_APW_LAT; static const FieldPart I062_V1_19_500_APW_LAT = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_19_500_APW_LAT, NULL }; static int hf_062_V1_19_500_APW_LON; static const FieldPart I062_V1_19_500_APW_LON = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_19_500_APW_LON, NULL }; static const FieldPart *I062_V1_19_500_APW_PARTS[] = { &I062_V1_19_500_APW_LAT, &I062_V1_19_500_APW_LON, NULL }; static const AsterixField I062_V1_19_500_APW = { FIXED, 4, 0, 0, &hf_062_V1_19_500_APW, I062_V1_19_500_APW_PARTS, { NULL } }; static int hf_062_V1_19_500_AGA; static int hf_062_V1_19_500_AGA_VALUE; static const FieldPart I062_V1_19_500_AGA_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_19_500_AGA_VALUE, NULL }; static const FieldPart *I062_V1_19_500_AGA_PARTS[] = { &I062_V1_19_500_AGA_VALUE, NULL }; static const AsterixField I062_V1_19_500_AGA = { FIXED, 1, 0, 0, &hf_062_V1_19_500_AGA, I062_V1_19_500_AGA_PARTS, { NULL } }; static int hf_062_V1_19_500_ABA; static int hf_062_V1_19_500_ABA_VALUE; static const FieldPart I062_V1_19_500_ABA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_500_ABA_VALUE, NULL }; static const FieldPart *I062_V1_19_500_ABA_PARTS[] = { &I062_V1_19_500_ABA_VALUE, NULL }; static const AsterixField I062_V1_19_500_ABA = { FIXED, 1, 0, 0, &hf_062_V1_19_500_ABA, I062_V1_19_500_ABA_PARTS, { NULL } }; static int hf_062_V1_19_500_ATV; static int hf_062_V1_19_500_ATV_X; static const FieldPart I062_V1_19_500_ATV_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_500_ATV_X, NULL }; static int hf_062_V1_19_500_ATV_Y; static const FieldPart I062_V1_19_500_ATV_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_500_ATV_Y, NULL }; static const FieldPart *I062_V1_19_500_ATV_PARTS[] = { &I062_V1_19_500_ATV_X, &I062_V1_19_500_ATV_Y, NULL }; static const AsterixField I062_V1_19_500_ATV = { FIXED, 2, 0, 0, &hf_062_V1_19_500_ATV, I062_V1_19_500_ATV_PARTS, { NULL } }; static int hf_062_V1_19_500_AA; static int hf_062_V1_19_500_AA_X; static const FieldPart I062_V1_19_500_AA_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_500_AA_X, NULL }; static int hf_062_V1_19_500_AA_Y; static const FieldPart I062_V1_19_500_AA_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_19_500_AA_Y, NULL }; static const FieldPart *I062_V1_19_500_AA_PARTS[] = { &I062_V1_19_500_AA_X, &I062_V1_19_500_AA_Y, NULL }; static const AsterixField I062_V1_19_500_AA = { FIXED, 2, 0, 0, &hf_062_V1_19_500_AA, I062_V1_19_500_AA_PARTS, { NULL } }; static int hf_062_V1_19_500_ARC; static int hf_062_V1_19_500_ARC_VALUE; static const FieldPart I062_V1_19_500_ARC_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_19_500_ARC_VALUE, NULL }; static const FieldPart *I062_V1_19_500_ARC_PARTS[] = { &I062_V1_19_500_ARC_VALUE, NULL }; static const AsterixField I062_V1_19_500_ARC = { FIXED, 1, 0, 0, &hf_062_V1_19_500_ARC, I062_V1_19_500_ARC_PARTS, { NULL } }; static const AsterixField I062_V1_19_500 = { COMPOUND, 0, 0, 0, &hf_062_V1_19_500, NULL, { &I062_V1_19_500_APC, &I062_V1_19_500_COV, &I062_V1_19_500_APW, &I062_V1_19_500_AGA, &I062_V1_19_500_ABA, &I062_V1_19_500_ATV, &I062_V1_19_500_AA, &I062_V1_19_500_ARC, NULL } }; static int hf_062_V1_19_510; static int hf_062_V1_19_510_MIDENT; static const FieldPart I062_V1_19_510_MIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_510_MIDENT, NULL }; static int hf_062_V1_19_510_MTRACK; static const FieldPart I062_V1_19_510_MTRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_19_510_MTRACK, NULL }; static int hf_062_V1_19_510_SIDENT; static const FieldPart I062_V1_19_510_SIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_19_510_SIDENT, NULL }; static int hf_062_V1_19_510_STRACK; static const FieldPart I062_V1_19_510_STRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_19_510_STRACK, NULL }; static const FieldPart *I062_V1_19_510_PARTS[] = { &I062_V1_19_510_MIDENT, &I062_V1_19_510_MTRACK, &IXXX_FX, &I062_V1_19_510_SIDENT, &I062_V1_19_510_STRACK, &IXXX_FX, NULL }; static const AsterixField I062_V1_19_510 = { FX, 3, 0, 0, &hf_062_V1_19_510, I062_V1_19_510_PARTS, { NULL } }; static int hf_062_V1_19_RE; static const AsterixField I062_V1_19_RE = { EXP, 0, 0, 1, &hf_062_V1_19_RE, NULL, { NULL } }; static int hf_062_V1_19_SP; static const AsterixField I062_V1_19_SP = { EXP, 0, 0, 1, &hf_062_V1_19_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I062_V1_19_uap[] = { &I062_V1_19_010, &IX_SPARE, &I062_V1_19_015, &I062_V1_19_070, &I062_V1_19_105, &I062_V1_19_100, &I062_V1_19_185, &I062_V1_19_210, &I062_V1_19_060, &I062_V1_19_245, &I062_V1_19_380, &I062_V1_19_040, &I062_V1_19_080, &I062_V1_19_290, &I062_V1_19_200, &I062_V1_19_295, &I062_V1_19_136, &I062_V1_19_130, &I062_V1_19_135, &I062_V1_19_220, &I062_V1_19_390, &I062_V1_19_270, &I062_V1_19_300, &I062_V1_19_110, &I062_V1_19_120, &I062_V1_19_510, &I062_V1_19_500, &I062_V1_19_340, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I062_V1_19_RE, &I062_V1_19_SP, NULL }; static const AsterixField **I062_V1_19[] = { I062_V1_19_uap, NULL }; DIAG_ON_PEDANTIC /* Category 062, edition 1.20 */ static int hf_062_V1_20_010; static int hf_062_V1_20_010_SAC; static const FieldPart I062_V1_20_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_010_SAC, NULL }; static int hf_062_V1_20_010_SIC; static const FieldPart I062_V1_20_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_010_SIC, NULL }; static const FieldPart *I062_V1_20_010_PARTS[] = { &I062_V1_20_010_SAC, &I062_V1_20_010_SIC, NULL }; static const AsterixField I062_V1_20_010 = { FIXED, 2, 0, 0, &hf_062_V1_20_010, I062_V1_20_010_PARTS, { NULL } }; static int hf_062_V1_20_015; static int hf_062_V1_20_015_VALUE; static const FieldPart I062_V1_20_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_015_VALUE, NULL }; static const FieldPart *I062_V1_20_015_PARTS[] = { &I062_V1_20_015_VALUE, NULL }; static const AsterixField I062_V1_20_015 = { FIXED, 1, 0, 0, &hf_062_V1_20_015, I062_V1_20_015_PARTS, { NULL } }; static int hf_062_V1_20_040; static int hf_062_V1_20_040_VALUE; static const FieldPart I062_V1_20_040_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_062_V1_20_040_VALUE, NULL }; static const FieldPart *I062_V1_20_040_PARTS[] = { &I062_V1_20_040_VALUE, NULL }; static const AsterixField I062_V1_20_040 = { FIXED, 2, 0, 0, &hf_062_V1_20_040, I062_V1_20_040_PARTS, { NULL } }; static int hf_062_V1_20_060; static int hf_062_V1_20_060_V; static const value_string valstr_062_V1_20_060_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_20_060_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_060_V, NULL }; static int hf_062_V1_20_060_G; static const value_string valstr_062_V1_20_060_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_20_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_060_G, NULL }; static int hf_062_V1_20_060_CH; static const value_string valstr_062_V1_20_060_CH[] = { { 0, "No change" }, { 1, "Mode 3/A has changed" }, { 0, NULL } }; static const FieldPart I062_V1_20_060_CH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_060_CH, NULL }; static int hf_062_V1_20_060_MODE3A; static const FieldPart I062_V1_20_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_20_060_MODE3A, NULL }; static const FieldPart *I062_V1_20_060_PARTS[] = { &I062_V1_20_060_V, &I062_V1_20_060_G, &I062_V1_20_060_CH, &IXXX_1bit_spare, &I062_V1_20_060_MODE3A, NULL }; static const AsterixField I062_V1_20_060 = { FIXED, 2, 0, 0, &hf_062_V1_20_060, I062_V1_20_060_PARTS, { NULL } }; static int hf_062_V1_20_070; static int hf_062_V1_20_070_VALUE; static const FieldPart I062_V1_20_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_062_V1_20_070_VALUE, NULL }; static const FieldPart *I062_V1_20_070_PARTS[] = { &I062_V1_20_070_VALUE, NULL }; static const AsterixField I062_V1_20_070 = { FIXED, 3, 0, 0, &hf_062_V1_20_070, I062_V1_20_070_PARTS, { NULL } }; static int hf_062_V1_20_080; static int hf_062_V1_20_080_MON; static const value_string valstr_062_V1_20_080_MON[] = { { 0, "Multisensor track" }, { 1, "Monosensor track" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_MON = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_MON, NULL }; static int hf_062_V1_20_080_SPI; static const value_string valstr_062_V1_20_080_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_SPI, NULL }; static int hf_062_V1_20_080_MRH; static const value_string valstr_062_V1_20_080_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_MRH, NULL }; static int hf_062_V1_20_080_SRC; static const value_string valstr_062_V1_20_080_SRC[] = { { 0, "No source" }, { 1, "GNSS" }, { 2, "3D radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_SRC, NULL }; static int hf_062_V1_20_080_CNF; static const value_string valstr_062_V1_20_080_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_CNF, NULL }; static int hf_062_V1_20_080_SIM; static const value_string valstr_062_V1_20_080_SIM[] = { { 0, "Actual track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_SIM, NULL }; static int hf_062_V1_20_080_TSE; static const value_string valstr_062_V1_20_080_TSE[] = { { 0, "Default value" }, { 1, "Last message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_TSE, NULL }; static int hf_062_V1_20_080_TSB; static const value_string valstr_062_V1_20_080_TSB[] = { { 0, "Default value" }, { 1, "First message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_TSB, NULL }; static int hf_062_V1_20_080_FPC; static const value_string valstr_062_V1_20_080_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_FPC, NULL }; static int hf_062_V1_20_080_AFF; static const value_string valstr_062_V1_20_080_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_AFF, NULL }; static int hf_062_V1_20_080_STP; static const value_string valstr_062_V1_20_080_STP[] = { { 0, "Default value" }, { 1, "Slave Track Promotion" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_STP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_STP, NULL }; static int hf_062_V1_20_080_KOS; static const value_string valstr_062_V1_20_080_KOS[] = { { 0, "Complementary service used" }, { 1, "Background service used" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_KOS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_KOS, NULL }; static int hf_062_V1_20_080_AMA; static const value_string valstr_062_V1_20_080_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_AMA, NULL }; static int hf_062_V1_20_080_MD4; static const value_string valstr_062_V1_20_080_MD4[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_MD4 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_MD4, NULL }; static int hf_062_V1_20_080_ME; static const value_string valstr_062_V1_20_080_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_ME = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_ME, NULL }; static int hf_062_V1_20_080_MI; static const value_string valstr_062_V1_20_080_MI[] = { { 0, "Default value" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_MI = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_MI, NULL }; static int hf_062_V1_20_080_MD5; static const value_string valstr_062_V1_20_080_MD5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_MD5 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_MD5, NULL }; static int hf_062_V1_20_080_CST; static const value_string valstr_062_V1_20_080_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_CST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_CST, NULL }; static int hf_062_V1_20_080_PSR; static const value_string valstr_062_V1_20_080_PSR[] = { { 0, "Default value" }, { 1, "Age of the last received PSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_PSR, NULL }; static int hf_062_V1_20_080_SSR; static const value_string valstr_062_V1_20_080_SSR[] = { { 0, "Default value" }, { 1, "Age of the last received SSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_SSR, NULL }; static int hf_062_V1_20_080_MDS; static const value_string valstr_062_V1_20_080_MDS[] = { { 0, "Default value" }, { 1, "Age of the last received Mode S track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_MDS, NULL }; static int hf_062_V1_20_080_ADS; static const value_string valstr_062_V1_20_080_ADS[] = { { 0, "Default value" }, { 1, "Age of the last received ADS-B track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_ADS, NULL }; static int hf_062_V1_20_080_SUC; static const value_string valstr_062_V1_20_080_SUC[] = { { 0, "Default value" }, { 1, "Special Used Code (Mode A codes to be defined in the system to mark a track with special interest)" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_SUC, NULL }; static int hf_062_V1_20_080_AAC; static const value_string valstr_062_V1_20_080_AAC[] = { { 0, "Default value" }, { 1, "Assigned Mode A Code Conflict (same discrete Mode A Code assigned to another track)" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_AAC, NULL }; static int hf_062_V1_20_080_SDS; static const value_string valstr_062_V1_20_080_SDS[] = { { 0, "Combined" }, { 1, "Co-operative only" }, { 2, "Non-Cooperative only" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_SDS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_SDS, NULL }; static int hf_062_V1_20_080_EMS; static const value_string valstr_062_V1_20_080_EMS[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Undefined" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_EMS = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_EMS, NULL }; static int hf_062_V1_20_080_PFT; static const value_string valstr_062_V1_20_080_PFT[] = { { 0, "No indication" }, { 1, "Potential False Track Indication" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_PFT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_PFT, NULL }; static int hf_062_V1_20_080_FPLT; static const value_string valstr_062_V1_20_080_FPLT[] = { { 0, "Default value" }, { 1, "Track created / updated with FPL data" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_FPLT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_FPLT, NULL }; static int hf_062_V1_20_080_DUPT; static const value_string valstr_062_V1_20_080_DUPT[] = { { 0, "Default value" }, { 1, "Duplicate Mode 3/A Code" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_DUPT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_DUPT, NULL }; static int hf_062_V1_20_080_DUPF; static const value_string valstr_062_V1_20_080_DUPF[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_DUPF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_DUPF, NULL }; static int hf_062_V1_20_080_DUPM; static const value_string valstr_062_V1_20_080_DUPM[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan due to manual correlation" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_DUPM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_DUPM, NULL }; static int hf_062_V1_20_080_SFC; static const value_string valstr_062_V1_20_080_SFC[] = { { 0, "Default value" }, { 1, "Surface target" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_SFC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_SFC, NULL }; static int hf_062_V1_20_080_IDD; static const value_string valstr_062_V1_20_080_IDD[] = { { 0, "No indication" }, { 1, "Duplicate Flight-ID" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_IDD = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_IDD, NULL }; static int hf_062_V1_20_080_IEC; static const value_string valstr_062_V1_20_080_IEC[] = { { 0, "Default value" }, { 1, "Inconsistent Emergency Code" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_IEC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_IEC, NULL }; static int hf_062_V1_20_080_MLAT; static const value_string valstr_062_V1_20_080_MLAT[] = { { 0, "Default value" }, { 1, "Age of the last received MLAT track updateis higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_V1_20_080_MLAT = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_080_MLAT, NULL }; static const FieldPart *I062_V1_20_080_PARTS[] = { &I062_V1_20_080_MON, &I062_V1_20_080_SPI, &I062_V1_20_080_MRH, &I062_V1_20_080_SRC, &I062_V1_20_080_CNF, &IXXX_FX, &I062_V1_20_080_SIM, &I062_V1_20_080_TSE, &I062_V1_20_080_TSB, &I062_V1_20_080_FPC, &I062_V1_20_080_AFF, &I062_V1_20_080_STP, &I062_V1_20_080_KOS, &IXXX_FX, &I062_V1_20_080_AMA, &I062_V1_20_080_MD4, &I062_V1_20_080_ME, &I062_V1_20_080_MI, &I062_V1_20_080_MD5, &IXXX_FX, &I062_V1_20_080_CST, &I062_V1_20_080_PSR, &I062_V1_20_080_SSR, &I062_V1_20_080_MDS, &I062_V1_20_080_ADS, &I062_V1_20_080_SUC, &I062_V1_20_080_AAC, &IXXX_FX, &I062_V1_20_080_SDS, &I062_V1_20_080_EMS, &I062_V1_20_080_PFT, &I062_V1_20_080_FPLT, &IXXX_FX, &I062_V1_20_080_DUPT, &I062_V1_20_080_DUPF, &I062_V1_20_080_DUPM, &I062_V1_20_080_SFC, &I062_V1_20_080_IDD, &I062_V1_20_080_IEC, &I062_V1_20_080_MLAT, &IXXX_FX, NULL }; static const AsterixField I062_V1_20_080 = { FX, 1, 0, 0, &hf_062_V1_20_080, I062_V1_20_080_PARTS, { NULL } }; static int hf_062_V1_20_100; static int hf_062_V1_20_100_X; static const FieldPart I062_V1_20_100_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_20_100_X, NULL }; static int hf_062_V1_20_100_Y; static const FieldPart I062_V1_20_100_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_V1_20_100_Y, NULL }; static const FieldPart *I062_V1_20_100_PARTS[] = { &I062_V1_20_100_X, &I062_V1_20_100_Y, NULL }; static const AsterixField I062_V1_20_100 = { FIXED, 6, 0, 0, &hf_062_V1_20_100, I062_V1_20_100_PARTS, { NULL } }; static int hf_062_V1_20_105; static int hf_062_V1_20_105_LAT; static const FieldPart I062_V1_20_105_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_20_105_LAT, NULL }; static int hf_062_V1_20_105_LON; static const FieldPart I062_V1_20_105_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_V1_20_105_LON, NULL }; static const FieldPart *I062_V1_20_105_PARTS[] = { &I062_V1_20_105_LAT, &I062_V1_20_105_LON, NULL }; static const AsterixField I062_V1_20_105 = { FIXED, 8, 0, 0, &hf_062_V1_20_105, I062_V1_20_105_PARTS, { NULL } }; static int hf_062_V1_20_110; static int hf_062_V1_20_110_SUM; static int hf_062_V1_20_110_SUM_M5; static const value_string valstr_062_V1_20_110_SUM_M5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Mode 5 interrogation" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_M5, NULL }; static int hf_062_V1_20_110_SUM_ID; static const value_string valstr_062_V1_20_110_SUM_ID[] = { { 0, "No authenticated Mode 5 ID reply" }, { 1, "Authenticated Mode 5 ID reply" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_ID = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_ID, NULL }; static int hf_062_V1_20_110_SUM_DA; static const value_string valstr_062_V1_20_110_SUM_DA[] = { { 0, "No authenticated Mode 5 Data reply or Report" }, { 1, "Authenticated Mode 5 Data reply or Report (i.e any valid Mode 5 reply type other than ID)" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_DA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_DA, NULL }; static int hf_062_V1_20_110_SUM_M1; static const value_string valstr_062_V1_20_110_SUM_M1[] = { { 0, "Mode 1 code not present or not from Mode 5 reply" }, { 1, "Mode 1 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_M1, NULL }; static int hf_062_V1_20_110_SUM_M2; static const value_string valstr_062_V1_20_110_SUM_M2[] = { { 0, "Mode 2 code not present or not from Mode 5 reply" }, { 1, "Mode 2 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_M2, NULL }; static int hf_062_V1_20_110_SUM_M3; static const value_string valstr_062_V1_20_110_SUM_M3[] = { { 0, "Mode 3 code not present or not from Mode 5 reply" }, { 1, "Mode 3 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_M3, NULL }; static int hf_062_V1_20_110_SUM_MC; static const value_string valstr_062_V1_20_110_SUM_MC[] = { { 0, "Mode C altitude code not present or not from Mode 5 reply" }, { 1, "Mode C altitude from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_MC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_MC, NULL }; static int hf_062_V1_20_110_SUM_X; static const value_string valstr_062_V1_20_110_SUM_X[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_SUM_X = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_SUM_X, NULL }; static const FieldPart *I062_V1_20_110_SUM_PARTS[] = { &I062_V1_20_110_SUM_M5, &I062_V1_20_110_SUM_ID, &I062_V1_20_110_SUM_DA, &I062_V1_20_110_SUM_M1, &I062_V1_20_110_SUM_M2, &I062_V1_20_110_SUM_M3, &I062_V1_20_110_SUM_MC, &I062_V1_20_110_SUM_X, NULL }; static const AsterixField I062_V1_20_110_SUM = { FIXED, 1, 0, 0, &hf_062_V1_20_110_SUM, I062_V1_20_110_SUM_PARTS, { NULL } }; static int hf_062_V1_20_110_PMN; static int hf_062_V1_20_110_PMN_PIN; static const FieldPart I062_V1_20_110_PMN_PIN = { 14, 1.0, FIELD_PART_HEX, &hf_062_V1_20_110_PMN_PIN, NULL }; static int hf_062_V1_20_110_PMN_NAT; static const FieldPart I062_V1_20_110_PMN_NAT = { 5, 1.0, FIELD_PART_HEX, &hf_062_V1_20_110_PMN_NAT, NULL }; static int hf_062_V1_20_110_PMN_MIS; static const FieldPart I062_V1_20_110_PMN_MIS = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_20_110_PMN_MIS, NULL }; static const FieldPart *I062_V1_20_110_PMN_PARTS[] = { &IXXX_2bit_spare, &I062_V1_20_110_PMN_PIN, &IXXX_3bit_spare, &I062_V1_20_110_PMN_NAT, &IXXX_2bit_spare, &I062_V1_20_110_PMN_MIS, NULL }; static const AsterixField I062_V1_20_110_PMN = { FIXED, 4, 0, 0, &hf_062_V1_20_110_PMN, I062_V1_20_110_PMN_PARTS, { NULL } }; static int hf_062_V1_20_110_POS; static int hf_062_V1_20_110_POS_LAT; static const FieldPart I062_V1_20_110_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_20_110_POS_LAT, NULL }; static int hf_062_V1_20_110_POS_LON; static const FieldPart I062_V1_20_110_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_20_110_POS_LON, NULL }; static const FieldPart *I062_V1_20_110_POS_PARTS[] = { &I062_V1_20_110_POS_LAT, &I062_V1_20_110_POS_LON, NULL }; static const AsterixField I062_V1_20_110_POS = { FIXED, 6, 0, 0, &hf_062_V1_20_110_POS, I062_V1_20_110_POS_PARTS, { NULL } }; static int hf_062_V1_20_110_GA; static int hf_062_V1_20_110_GA_RES; static const value_string valstr_062_V1_20_110_GA_RES[] = { { 0, "GA reported in 100 ft increments" }, { 1, "GA reported in 25 ft increments" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_GA_RES = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_GA_RES, NULL }; static int hf_062_V1_20_110_GA_GA; static const FieldPart I062_V1_20_110_GA_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_062_V1_20_110_GA_GA, NULL }; static const FieldPart *I062_V1_20_110_GA_PARTS[] = { &IXXX_1bit_spare, &I062_V1_20_110_GA_RES, &I062_V1_20_110_GA_GA, NULL }; static const AsterixField I062_V1_20_110_GA = { FIXED, 2, 0, 0, &hf_062_V1_20_110_GA, I062_V1_20_110_GA_PARTS, { NULL } }; static int hf_062_V1_20_110_EM1; static int hf_062_V1_20_110_EM1_EM1; static const FieldPart I062_V1_20_110_EM1_EM1 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_20_110_EM1_EM1, NULL }; static const FieldPart *I062_V1_20_110_EM1_PARTS[] = { &IXXX_4bit_spare, &I062_V1_20_110_EM1_EM1, NULL }; static const AsterixField I062_V1_20_110_EM1 = { FIXED, 2, 0, 0, &hf_062_V1_20_110_EM1, I062_V1_20_110_EM1_PARTS, { NULL } }; static int hf_062_V1_20_110_TOS; static int hf_062_V1_20_110_TOS_VALUE; static const FieldPart I062_V1_20_110_TOS_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_062_V1_20_110_TOS_VALUE, NULL }; static const FieldPart *I062_V1_20_110_TOS_PARTS[] = { &I062_V1_20_110_TOS_VALUE, NULL }; static const AsterixField I062_V1_20_110_TOS = { FIXED, 1, 0, 0, &hf_062_V1_20_110_TOS, I062_V1_20_110_TOS_PARTS, { NULL } }; static int hf_062_V1_20_110_XP; static int hf_062_V1_20_110_XP_X5; static const value_string valstr_062_V1_20_110_XP_X5[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_XP_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_XP_X5, NULL }; static int hf_062_V1_20_110_XP_XC; static const value_string valstr_062_V1_20_110_XP_XC[] = { { 0, "X-pulse set to zero or no Mode C reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_XP_XC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_XP_XC, NULL }; static int hf_062_V1_20_110_XP_X3; static const value_string valstr_062_V1_20_110_XP_X3[] = { { 0, "X-pulse set to zero or no Mode 3/A reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_XP_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_XP_X3, NULL }; static int hf_062_V1_20_110_XP_X2; static const value_string valstr_062_V1_20_110_XP_X2[] = { { 0, "X-pulse set to zero or no Mode 2 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_XP_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_XP_X2, NULL }; static int hf_062_V1_20_110_XP_X1; static const value_string valstr_062_V1_20_110_XP_X1[] = { { 0, "X-pulse set to zero or no Mode 1 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_V1_20_110_XP_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_110_XP_X1, NULL }; static const FieldPart *I062_V1_20_110_XP_PARTS[] = { &IXXX_3bit_spare, &I062_V1_20_110_XP_X5, &I062_V1_20_110_XP_XC, &I062_V1_20_110_XP_X3, &I062_V1_20_110_XP_X2, &I062_V1_20_110_XP_X1, NULL }; static const AsterixField I062_V1_20_110_XP = { FIXED, 1, 0, 0, &hf_062_V1_20_110_XP, I062_V1_20_110_XP_PARTS, { NULL } }; static const AsterixField I062_V1_20_110 = { COMPOUND, 0, 0, 0, &hf_062_V1_20_110, NULL, { &I062_V1_20_110_SUM, &I062_V1_20_110_PMN, &I062_V1_20_110_POS, &I062_V1_20_110_GA, &I062_V1_20_110_EM1, &I062_V1_20_110_TOS, &I062_V1_20_110_XP, NULL } }; static int hf_062_V1_20_120; static int hf_062_V1_20_120_MODE2; static const FieldPart I062_V1_20_120_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_20_120_MODE2, NULL }; static const FieldPart *I062_V1_20_120_PARTS[] = { &IXXX_4bit_spare, &I062_V1_20_120_MODE2, NULL }; static const AsterixField I062_V1_20_120 = { FIXED, 2, 0, 0, &hf_062_V1_20_120, I062_V1_20_120_PARTS, { NULL } }; static int hf_062_V1_20_130; static int hf_062_V1_20_130_VALUE; static const FieldPart I062_V1_20_130_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_20_130_VALUE, NULL }; static const FieldPart *I062_V1_20_130_PARTS[] = { &I062_V1_20_130_VALUE, NULL }; static const AsterixField I062_V1_20_130 = { FIXED, 2, 0, 0, &hf_062_V1_20_130, I062_V1_20_130_PARTS, { NULL } }; static int hf_062_V1_20_135; static int hf_062_V1_20_135_QNH; static const value_string valstr_062_V1_20_135_QNH[] = { { 0, "No QNH correction applied" }, { 1, "QNH correction applied" }, { 0, NULL } }; static const FieldPart I062_V1_20_135_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_135_QNH, NULL }; static int hf_062_V1_20_135_CTB; static const FieldPart I062_V1_20_135_CTB = { 15, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_135_CTB, NULL }; static const FieldPart *I062_V1_20_135_PARTS[] = { &I062_V1_20_135_QNH, &I062_V1_20_135_CTB, NULL }; static const AsterixField I062_V1_20_135 = { FIXED, 2, 0, 0, &hf_062_V1_20_135, I062_V1_20_135_PARTS, { NULL } }; static int hf_062_V1_20_136; static int hf_062_V1_20_136_VALUE; static const FieldPart I062_V1_20_136_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_136_VALUE, NULL }; static const FieldPart *I062_V1_20_136_PARTS[] = { &I062_V1_20_136_VALUE, NULL }; static const AsterixField I062_V1_20_136 = { FIXED, 2, 0, 0, &hf_062_V1_20_136, I062_V1_20_136_PARTS, { NULL } }; static int hf_062_V1_20_185; static int hf_062_V1_20_185_VX; static const FieldPart I062_V1_20_185_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_185_VX, NULL }; static int hf_062_V1_20_185_VY; static const FieldPart I062_V1_20_185_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_185_VY, NULL }; static const FieldPart *I062_V1_20_185_PARTS[] = { &I062_V1_20_185_VX, &I062_V1_20_185_VY, NULL }; static const AsterixField I062_V1_20_185 = { FIXED, 4, 0, 0, &hf_062_V1_20_185, I062_V1_20_185_PARTS, { NULL } }; static int hf_062_V1_20_200; static int hf_062_V1_20_200_TRANS; static const value_string valstr_062_V1_20_200_TRANS[] = { { 0, "Constant course" }, { 1, "Right turn" }, { 2, "Left turn" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_20_200_TRANS = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_200_TRANS, NULL }; static int hf_062_V1_20_200_LONG; static const value_string valstr_062_V1_20_200_LONG[] = { { 0, "Constant groundspeed" }, { 1, "Increasing groundspeed" }, { 2, "Decreasing groundspeed" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_20_200_LONG = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_200_LONG, NULL }; static int hf_062_V1_20_200_VERT; static const value_string valstr_062_V1_20_200_VERT[] = { { 0, "Level" }, { 1, "Climb" }, { 2, "Descent" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_V1_20_200_VERT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_200_VERT, NULL }; static int hf_062_V1_20_200_ADF; static const value_string valstr_062_V1_20_200_ADF[] = { { 0, "No altitude discrepancy" }, { 1, "Altitude discrepancy" }, { 0, NULL } }; static const FieldPart I062_V1_20_200_ADF = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_200_ADF, NULL }; static const FieldPart *I062_V1_20_200_PARTS[] = { &I062_V1_20_200_TRANS, &I062_V1_20_200_LONG, &I062_V1_20_200_VERT, &I062_V1_20_200_ADF, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_20_200 = { FIXED, 1, 0, 0, &hf_062_V1_20_200, I062_V1_20_200_PARTS, { NULL } }; static int hf_062_V1_20_210; static int hf_062_V1_20_210_AX; static const FieldPart I062_V1_20_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_210_AX, NULL }; static int hf_062_V1_20_210_AY; static const FieldPart I062_V1_20_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_210_AY, NULL }; static const FieldPart *I062_V1_20_210_PARTS[] = { &I062_V1_20_210_AX, &I062_V1_20_210_AY, NULL }; static const AsterixField I062_V1_20_210 = { FIXED, 2, 0, 0, &hf_062_V1_20_210, I062_V1_20_210_PARTS, { NULL } }; static int hf_062_V1_20_220; static int hf_062_V1_20_220_VALUE; static const FieldPart I062_V1_20_220_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_20_220_VALUE, NULL }; static const FieldPart *I062_V1_20_220_PARTS[] = { &I062_V1_20_220_VALUE, NULL }; static const AsterixField I062_V1_20_220 = { FIXED, 2, 0, 0, &hf_062_V1_20_220, I062_V1_20_220_PARTS, { NULL } }; static int hf_062_V1_20_245; static int hf_062_V1_20_245_STI; static const value_string valstr_062_V1_20_245_STI[] = { { 0, "Callsign or registration downlinked from target" }, { 1, "Callsign not downlinked from target" }, { 2, "Registration not downlinked from target" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_20_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_245_STI, NULL }; static int hf_062_V1_20_245_CHR; static const FieldPart I062_V1_20_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_20_245_CHR, NULL }; static const FieldPart *I062_V1_20_245_PARTS[] = { &I062_V1_20_245_STI, &IXXX_6bit_spare, &I062_V1_20_245_CHR, NULL }; static const AsterixField I062_V1_20_245 = { FIXED, 7, 0, 0, &hf_062_V1_20_245, I062_V1_20_245_PARTS, { NULL } }; static int hf_062_V1_20_270; static int hf_062_V1_20_270_LENGTH; static const FieldPart I062_V1_20_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_20_270_LENGTH, NULL }; static int hf_062_V1_20_270_ORIENTATION; static const FieldPart I062_V1_20_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_062_V1_20_270_ORIENTATION, NULL }; static int hf_062_V1_20_270_WIDTH; static const FieldPart I062_V1_20_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_20_270_WIDTH, NULL }; static const FieldPart *I062_V1_20_270_PARTS[] = { &I062_V1_20_270_LENGTH, &IXXX_FX, &I062_V1_20_270_ORIENTATION, &IXXX_FX, &I062_V1_20_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I062_V1_20_270 = { FX, 1, 0, 0, &hf_062_V1_20_270, I062_V1_20_270_PARTS, { NULL } }; static int hf_062_V1_20_290; static int hf_062_V1_20_290_TRK; static int hf_062_V1_20_290_TRK_VALUE; static const FieldPart I062_V1_20_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_TRK_VALUE, NULL }; static const FieldPart *I062_V1_20_290_TRK_PARTS[] = { &I062_V1_20_290_TRK_VALUE, NULL }; static const AsterixField I062_V1_20_290_TRK = { FIXED, 1, 0, 0, &hf_062_V1_20_290_TRK, I062_V1_20_290_TRK_PARTS, { NULL } }; static int hf_062_V1_20_290_PSR; static int hf_062_V1_20_290_PSR_VALUE; static const FieldPart I062_V1_20_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_PSR_VALUE, NULL }; static const FieldPart *I062_V1_20_290_PSR_PARTS[] = { &I062_V1_20_290_PSR_VALUE, NULL }; static const AsterixField I062_V1_20_290_PSR = { FIXED, 1, 0, 0, &hf_062_V1_20_290_PSR, I062_V1_20_290_PSR_PARTS, { NULL } }; static int hf_062_V1_20_290_SSR; static int hf_062_V1_20_290_SSR_VALUE; static const FieldPart I062_V1_20_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_SSR_VALUE, NULL }; static const FieldPart *I062_V1_20_290_SSR_PARTS[] = { &I062_V1_20_290_SSR_VALUE, NULL }; static const AsterixField I062_V1_20_290_SSR = { FIXED, 1, 0, 0, &hf_062_V1_20_290_SSR, I062_V1_20_290_SSR_PARTS, { NULL } }; static int hf_062_V1_20_290_MDS; static int hf_062_V1_20_290_MDS_VALUE; static const FieldPart I062_V1_20_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_MDS_VALUE, NULL }; static const FieldPart *I062_V1_20_290_MDS_PARTS[] = { &I062_V1_20_290_MDS_VALUE, NULL }; static const AsterixField I062_V1_20_290_MDS = { FIXED, 1, 0, 0, &hf_062_V1_20_290_MDS, I062_V1_20_290_MDS_PARTS, { NULL } }; static int hf_062_V1_20_290_ADS; static int hf_062_V1_20_290_ADS_VALUE; static const FieldPart I062_V1_20_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_ADS_VALUE, NULL }; static const FieldPart *I062_V1_20_290_ADS_PARTS[] = { &I062_V1_20_290_ADS_VALUE, NULL }; static const AsterixField I062_V1_20_290_ADS = { FIXED, 2, 0, 0, &hf_062_V1_20_290_ADS, I062_V1_20_290_ADS_PARTS, { NULL } }; static int hf_062_V1_20_290_ES; static int hf_062_V1_20_290_ES_VALUE; static const FieldPart I062_V1_20_290_ES_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_ES_VALUE, NULL }; static const FieldPart *I062_V1_20_290_ES_PARTS[] = { &I062_V1_20_290_ES_VALUE, NULL }; static const AsterixField I062_V1_20_290_ES = { FIXED, 1, 0, 0, &hf_062_V1_20_290_ES, I062_V1_20_290_ES_PARTS, { NULL } }; static int hf_062_V1_20_290_VDL; static int hf_062_V1_20_290_VDL_VALUE; static const FieldPart I062_V1_20_290_VDL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_VDL_VALUE, NULL }; static const FieldPart *I062_V1_20_290_VDL_PARTS[] = { &I062_V1_20_290_VDL_VALUE, NULL }; static const AsterixField I062_V1_20_290_VDL = { FIXED, 1, 0, 0, &hf_062_V1_20_290_VDL, I062_V1_20_290_VDL_PARTS, { NULL } }; static int hf_062_V1_20_290_UAT; static int hf_062_V1_20_290_UAT_VALUE; static const FieldPart I062_V1_20_290_UAT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_UAT_VALUE, NULL }; static const FieldPart *I062_V1_20_290_UAT_PARTS[] = { &I062_V1_20_290_UAT_VALUE, NULL }; static const AsterixField I062_V1_20_290_UAT = { FIXED, 1, 0, 0, &hf_062_V1_20_290_UAT, I062_V1_20_290_UAT_PARTS, { NULL } }; static int hf_062_V1_20_290_LOP; static int hf_062_V1_20_290_LOP_VALUE; static const FieldPart I062_V1_20_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_LOP_VALUE, NULL }; static const FieldPart *I062_V1_20_290_LOP_PARTS[] = { &I062_V1_20_290_LOP_VALUE, NULL }; static const AsterixField I062_V1_20_290_LOP = { FIXED, 1, 0, 0, &hf_062_V1_20_290_LOP, I062_V1_20_290_LOP_PARTS, { NULL } }; static int hf_062_V1_20_290_MLT; static int hf_062_V1_20_290_MLT_VALUE; static const FieldPart I062_V1_20_290_MLT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_290_MLT_VALUE, NULL }; static const FieldPart *I062_V1_20_290_MLT_PARTS[] = { &I062_V1_20_290_MLT_VALUE, NULL }; static const AsterixField I062_V1_20_290_MLT = { FIXED, 1, 0, 0, &hf_062_V1_20_290_MLT, I062_V1_20_290_MLT_PARTS, { NULL } }; static const AsterixField I062_V1_20_290 = { COMPOUND, 0, 0, 0, &hf_062_V1_20_290, NULL, { &I062_V1_20_290_TRK, &I062_V1_20_290_PSR, &I062_V1_20_290_SSR, &I062_V1_20_290_MDS, &I062_V1_20_290_ADS, &I062_V1_20_290_ES, &I062_V1_20_290_VDL, &I062_V1_20_290_UAT, &I062_V1_20_290_LOP, &I062_V1_20_290_MLT, NULL } }; static int hf_062_V1_20_295; static int hf_062_V1_20_295_MFL; static int hf_062_V1_20_295_MFL_VALUE; static const FieldPart I062_V1_20_295_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MFL_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MFL_PARTS[] = { &I062_V1_20_295_MFL_VALUE, NULL }; static const AsterixField I062_V1_20_295_MFL = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MFL, I062_V1_20_295_MFL_PARTS, { NULL } }; static int hf_062_V1_20_295_MD1; static int hf_062_V1_20_295_MD1_VALUE; static const FieldPart I062_V1_20_295_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MD1_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MD1_PARTS[] = { &I062_V1_20_295_MD1_VALUE, NULL }; static const AsterixField I062_V1_20_295_MD1 = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MD1, I062_V1_20_295_MD1_PARTS, { NULL } }; static int hf_062_V1_20_295_MD2; static int hf_062_V1_20_295_MD2_VALUE; static const FieldPart I062_V1_20_295_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MD2_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MD2_PARTS[] = { &I062_V1_20_295_MD2_VALUE, NULL }; static const AsterixField I062_V1_20_295_MD2 = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MD2, I062_V1_20_295_MD2_PARTS, { NULL } }; static int hf_062_V1_20_295_MDA; static int hf_062_V1_20_295_MDA_VALUE; static const FieldPart I062_V1_20_295_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MDA_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MDA_PARTS[] = { &I062_V1_20_295_MDA_VALUE, NULL }; static const AsterixField I062_V1_20_295_MDA = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MDA, I062_V1_20_295_MDA_PARTS, { NULL } }; static int hf_062_V1_20_295_MD4; static int hf_062_V1_20_295_MD4_VALUE; static const FieldPart I062_V1_20_295_MD4_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MD4_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MD4_PARTS[] = { &I062_V1_20_295_MD4_VALUE, NULL }; static const AsterixField I062_V1_20_295_MD4 = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MD4, I062_V1_20_295_MD4_PARTS, { NULL } }; static int hf_062_V1_20_295_MD5; static int hf_062_V1_20_295_MD5_VALUE; static const FieldPart I062_V1_20_295_MD5_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MD5_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MD5_PARTS[] = { &I062_V1_20_295_MD5_VALUE, NULL }; static const AsterixField I062_V1_20_295_MD5 = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MD5, I062_V1_20_295_MD5_PARTS, { NULL } }; static int hf_062_V1_20_295_MHG; static int hf_062_V1_20_295_MHG_VALUE; static const FieldPart I062_V1_20_295_MHG_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MHG_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MHG_PARTS[] = { &I062_V1_20_295_MHG_VALUE, NULL }; static const AsterixField I062_V1_20_295_MHG = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MHG, I062_V1_20_295_MHG_PARTS, { NULL } }; static int hf_062_V1_20_295_IAS; static int hf_062_V1_20_295_IAS_VALUE; static const FieldPart I062_V1_20_295_IAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_IAS_VALUE, NULL }; static const FieldPart *I062_V1_20_295_IAS_PARTS[] = { &I062_V1_20_295_IAS_VALUE, NULL }; static const AsterixField I062_V1_20_295_IAS = { FIXED, 1, 0, 0, &hf_062_V1_20_295_IAS, I062_V1_20_295_IAS_PARTS, { NULL } }; static int hf_062_V1_20_295_TAS; static int hf_062_V1_20_295_TAS_VALUE; static const FieldPart I062_V1_20_295_TAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_TAS_VALUE, NULL }; static const FieldPart *I062_V1_20_295_TAS_PARTS[] = { &I062_V1_20_295_TAS_VALUE, NULL }; static const AsterixField I062_V1_20_295_TAS = { FIXED, 1, 0, 0, &hf_062_V1_20_295_TAS, I062_V1_20_295_TAS_PARTS, { NULL } }; static int hf_062_V1_20_295_SAL; static int hf_062_V1_20_295_SAL_VALUE; static const FieldPart I062_V1_20_295_SAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_SAL_VALUE, NULL }; static const FieldPart *I062_V1_20_295_SAL_PARTS[] = { &I062_V1_20_295_SAL_VALUE, NULL }; static const AsterixField I062_V1_20_295_SAL = { FIXED, 1, 0, 0, &hf_062_V1_20_295_SAL, I062_V1_20_295_SAL_PARTS, { NULL } }; static int hf_062_V1_20_295_FSS; static int hf_062_V1_20_295_FSS_VALUE; static const FieldPart I062_V1_20_295_FSS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_FSS_VALUE, NULL }; static const FieldPart *I062_V1_20_295_FSS_PARTS[] = { &I062_V1_20_295_FSS_VALUE, NULL }; static const AsterixField I062_V1_20_295_FSS = { FIXED, 1, 0, 0, &hf_062_V1_20_295_FSS, I062_V1_20_295_FSS_PARTS, { NULL } }; static int hf_062_V1_20_295_TID; static int hf_062_V1_20_295_TID_VALUE; static const FieldPart I062_V1_20_295_TID_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_TID_VALUE, NULL }; static const FieldPart *I062_V1_20_295_TID_PARTS[] = { &I062_V1_20_295_TID_VALUE, NULL }; static const AsterixField I062_V1_20_295_TID = { FIXED, 1, 0, 0, &hf_062_V1_20_295_TID, I062_V1_20_295_TID_PARTS, { NULL } }; static int hf_062_V1_20_295_COM; static int hf_062_V1_20_295_COM_VALUE; static const FieldPart I062_V1_20_295_COM_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_COM_VALUE, NULL }; static const FieldPart *I062_V1_20_295_COM_PARTS[] = { &I062_V1_20_295_COM_VALUE, NULL }; static const AsterixField I062_V1_20_295_COM = { FIXED, 1, 0, 0, &hf_062_V1_20_295_COM, I062_V1_20_295_COM_PARTS, { NULL } }; static int hf_062_V1_20_295_SAB; static int hf_062_V1_20_295_SAB_VALUE; static const FieldPart I062_V1_20_295_SAB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_SAB_VALUE, NULL }; static const FieldPart *I062_V1_20_295_SAB_PARTS[] = { &I062_V1_20_295_SAB_VALUE, NULL }; static const AsterixField I062_V1_20_295_SAB = { FIXED, 1, 0, 0, &hf_062_V1_20_295_SAB, I062_V1_20_295_SAB_PARTS, { NULL } }; static int hf_062_V1_20_295_ACS; static int hf_062_V1_20_295_ACS_VALUE; static const FieldPart I062_V1_20_295_ACS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_ACS_VALUE, NULL }; static const FieldPart *I062_V1_20_295_ACS_PARTS[] = { &I062_V1_20_295_ACS_VALUE, NULL }; static const AsterixField I062_V1_20_295_ACS = { FIXED, 1, 0, 0, &hf_062_V1_20_295_ACS, I062_V1_20_295_ACS_PARTS, { NULL } }; static int hf_062_V1_20_295_BVR; static int hf_062_V1_20_295_BVR_VALUE; static const FieldPart I062_V1_20_295_BVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_BVR_VALUE, NULL }; static const FieldPart *I062_V1_20_295_BVR_PARTS[] = { &I062_V1_20_295_BVR_VALUE, NULL }; static const AsterixField I062_V1_20_295_BVR = { FIXED, 1, 0, 0, &hf_062_V1_20_295_BVR, I062_V1_20_295_BVR_PARTS, { NULL } }; static int hf_062_V1_20_295_GVR; static int hf_062_V1_20_295_GVR_VALUE; static const FieldPart I062_V1_20_295_GVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_GVR_VALUE, NULL }; static const FieldPart *I062_V1_20_295_GVR_PARTS[] = { &I062_V1_20_295_GVR_VALUE, NULL }; static const AsterixField I062_V1_20_295_GVR = { FIXED, 1, 0, 0, &hf_062_V1_20_295_GVR, I062_V1_20_295_GVR_PARTS, { NULL } }; static int hf_062_V1_20_295_RAN; static int hf_062_V1_20_295_RAN_VALUE; static const FieldPart I062_V1_20_295_RAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_RAN_VALUE, NULL }; static const FieldPart *I062_V1_20_295_RAN_PARTS[] = { &I062_V1_20_295_RAN_VALUE, NULL }; static const AsterixField I062_V1_20_295_RAN = { FIXED, 1, 0, 0, &hf_062_V1_20_295_RAN, I062_V1_20_295_RAN_PARTS, { NULL } }; static int hf_062_V1_20_295_TAR; static int hf_062_V1_20_295_TAR_VALUE; static const FieldPart I062_V1_20_295_TAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_TAR_VALUE, NULL }; static const FieldPart *I062_V1_20_295_TAR_PARTS[] = { &I062_V1_20_295_TAR_VALUE, NULL }; static const AsterixField I062_V1_20_295_TAR = { FIXED, 1, 0, 0, &hf_062_V1_20_295_TAR, I062_V1_20_295_TAR_PARTS, { NULL } }; static int hf_062_V1_20_295_TAN; static int hf_062_V1_20_295_TAN_VALUE; static const FieldPart I062_V1_20_295_TAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_TAN_VALUE, NULL }; static const FieldPart *I062_V1_20_295_TAN_PARTS[] = { &I062_V1_20_295_TAN_VALUE, NULL }; static const AsterixField I062_V1_20_295_TAN = { FIXED, 1, 0, 0, &hf_062_V1_20_295_TAN, I062_V1_20_295_TAN_PARTS, { NULL } }; static int hf_062_V1_20_295_GSP; static int hf_062_V1_20_295_GSP_VALUE; static const FieldPart I062_V1_20_295_GSP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_GSP_VALUE, NULL }; static const FieldPart *I062_V1_20_295_GSP_PARTS[] = { &I062_V1_20_295_GSP_VALUE, NULL }; static const AsterixField I062_V1_20_295_GSP = { FIXED, 1, 0, 0, &hf_062_V1_20_295_GSP, I062_V1_20_295_GSP_PARTS, { NULL } }; static int hf_062_V1_20_295_VUN; static int hf_062_V1_20_295_VUN_VALUE; static const FieldPart I062_V1_20_295_VUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_VUN_VALUE, NULL }; static const FieldPart *I062_V1_20_295_VUN_PARTS[] = { &I062_V1_20_295_VUN_VALUE, NULL }; static const AsterixField I062_V1_20_295_VUN = { FIXED, 1, 0, 0, &hf_062_V1_20_295_VUN, I062_V1_20_295_VUN_PARTS, { NULL } }; static int hf_062_V1_20_295_MET; static int hf_062_V1_20_295_MET_VALUE; static const FieldPart I062_V1_20_295_MET_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MET_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MET_PARTS[] = { &I062_V1_20_295_MET_VALUE, NULL }; static const AsterixField I062_V1_20_295_MET = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MET, I062_V1_20_295_MET_PARTS, { NULL } }; static int hf_062_V1_20_295_EMC; static int hf_062_V1_20_295_EMC_VALUE; static const FieldPart I062_V1_20_295_EMC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_EMC_VALUE, NULL }; static const FieldPart *I062_V1_20_295_EMC_PARTS[] = { &I062_V1_20_295_EMC_VALUE, NULL }; static const AsterixField I062_V1_20_295_EMC = { FIXED, 1, 0, 0, &hf_062_V1_20_295_EMC, I062_V1_20_295_EMC_PARTS, { NULL } }; static int hf_062_V1_20_295_POS; static int hf_062_V1_20_295_POS_VALUE; static const FieldPart I062_V1_20_295_POS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_POS_VALUE, NULL }; static const FieldPart *I062_V1_20_295_POS_PARTS[] = { &I062_V1_20_295_POS_VALUE, NULL }; static const AsterixField I062_V1_20_295_POS = { FIXED, 1, 0, 0, &hf_062_V1_20_295_POS, I062_V1_20_295_POS_PARTS, { NULL } }; static int hf_062_V1_20_295_GAL; static int hf_062_V1_20_295_GAL_VALUE; static const FieldPart I062_V1_20_295_GAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_GAL_VALUE, NULL }; static const FieldPart *I062_V1_20_295_GAL_PARTS[] = { &I062_V1_20_295_GAL_VALUE, NULL }; static const AsterixField I062_V1_20_295_GAL = { FIXED, 1, 0, 0, &hf_062_V1_20_295_GAL, I062_V1_20_295_GAL_PARTS, { NULL } }; static int hf_062_V1_20_295_PUN; static int hf_062_V1_20_295_PUN_VALUE; static const FieldPart I062_V1_20_295_PUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_PUN_VALUE, NULL }; static const FieldPart *I062_V1_20_295_PUN_PARTS[] = { &I062_V1_20_295_PUN_VALUE, NULL }; static const AsterixField I062_V1_20_295_PUN = { FIXED, 1, 0, 0, &hf_062_V1_20_295_PUN, I062_V1_20_295_PUN_PARTS, { NULL } }; static int hf_062_V1_20_295_MB; static int hf_062_V1_20_295_MB_VALUE; static const FieldPart I062_V1_20_295_MB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MB_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MB_PARTS[] = { &I062_V1_20_295_MB_VALUE, NULL }; static const AsterixField I062_V1_20_295_MB = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MB, I062_V1_20_295_MB_PARTS, { NULL } }; static int hf_062_V1_20_295_IAR; static int hf_062_V1_20_295_IAR_VALUE; static const FieldPart I062_V1_20_295_IAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_IAR_VALUE, NULL }; static const FieldPart *I062_V1_20_295_IAR_PARTS[] = { &I062_V1_20_295_IAR_VALUE, NULL }; static const AsterixField I062_V1_20_295_IAR = { FIXED, 1, 0, 0, &hf_062_V1_20_295_IAR, I062_V1_20_295_IAR_PARTS, { NULL } }; static int hf_062_V1_20_295_MAC; static int hf_062_V1_20_295_MAC_VALUE; static const FieldPart I062_V1_20_295_MAC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_MAC_VALUE, NULL }; static const FieldPart *I062_V1_20_295_MAC_PARTS[] = { &I062_V1_20_295_MAC_VALUE, NULL }; static const AsterixField I062_V1_20_295_MAC = { FIXED, 1, 0, 0, &hf_062_V1_20_295_MAC, I062_V1_20_295_MAC_PARTS, { NULL } }; static int hf_062_V1_20_295_BPS; static int hf_062_V1_20_295_BPS_VALUE; static const FieldPart I062_V1_20_295_BPS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_295_BPS_VALUE, NULL }; static const FieldPart *I062_V1_20_295_BPS_PARTS[] = { &I062_V1_20_295_BPS_VALUE, NULL }; static const AsterixField I062_V1_20_295_BPS = { FIXED, 1, 0, 0, &hf_062_V1_20_295_BPS, I062_V1_20_295_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_20_295 = { COMPOUND, 0, 0, 0, &hf_062_V1_20_295, NULL, { &I062_V1_20_295_MFL, &I062_V1_20_295_MD1, &I062_V1_20_295_MD2, &I062_V1_20_295_MDA, &I062_V1_20_295_MD4, &I062_V1_20_295_MD5, &I062_V1_20_295_MHG, &I062_V1_20_295_IAS, &I062_V1_20_295_TAS, &I062_V1_20_295_SAL, &I062_V1_20_295_FSS, &I062_V1_20_295_TID, &I062_V1_20_295_COM, &I062_V1_20_295_SAB, &I062_V1_20_295_ACS, &I062_V1_20_295_BVR, &I062_V1_20_295_GVR, &I062_V1_20_295_RAN, &I062_V1_20_295_TAR, &I062_V1_20_295_TAN, &I062_V1_20_295_GSP, &I062_V1_20_295_VUN, &I062_V1_20_295_MET, &I062_V1_20_295_EMC, &I062_V1_20_295_POS, &I062_V1_20_295_GAL, &I062_V1_20_295_PUN, &I062_V1_20_295_MB, &I062_V1_20_295_IAR, &I062_V1_20_295_MAC, &I062_V1_20_295_BPS, NULL } }; static int hf_062_V1_20_300; static int hf_062_V1_20_300_VALUE; static const value_string valstr_062_V1_20_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I062_V1_20_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_20_300_VALUE, NULL }; static const FieldPart *I062_V1_20_300_PARTS[] = { &I062_V1_20_300_VALUE, NULL }; static const AsterixField I062_V1_20_300 = { FIXED, 1, 0, 0, &hf_062_V1_20_300, I062_V1_20_300_PARTS, { NULL } }; static int hf_062_V1_20_340; static int hf_062_V1_20_340_SID; static int hf_062_V1_20_340_SID_SAC; static const FieldPart I062_V1_20_340_SID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_340_SID_SAC, NULL }; static int hf_062_V1_20_340_SID_SIC; static const FieldPart I062_V1_20_340_SID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_340_SID_SIC, NULL }; static const FieldPart *I062_V1_20_340_SID_PARTS[] = { &I062_V1_20_340_SID_SAC, &I062_V1_20_340_SID_SIC, NULL }; static const AsterixField I062_V1_20_340_SID = { FIXED, 2, 0, 0, &hf_062_V1_20_340_SID, I062_V1_20_340_SID_PARTS, { NULL } }; static int hf_062_V1_20_340_POS; static int hf_062_V1_20_340_POS_RHO; static const FieldPart I062_V1_20_340_POS_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_062_V1_20_340_POS_RHO, NULL }; static int hf_062_V1_20_340_POS_THETA; static const FieldPart I062_V1_20_340_POS_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_20_340_POS_THETA, NULL }; static const FieldPart *I062_V1_20_340_POS_PARTS[] = { &I062_V1_20_340_POS_RHO, &I062_V1_20_340_POS_THETA, NULL }; static const AsterixField I062_V1_20_340_POS = { FIXED, 4, 0, 0, &hf_062_V1_20_340_POS, I062_V1_20_340_POS_PARTS, { NULL } }; static int hf_062_V1_20_340_HEIGHT; static int hf_062_V1_20_340_HEIGHT_VALUE; static const FieldPart I062_V1_20_340_HEIGHT_VALUE = { 16, 25.0, FIELD_PART_FLOAT, &hf_062_V1_20_340_HEIGHT_VALUE, NULL }; static const FieldPart *I062_V1_20_340_HEIGHT_PARTS[] = { &I062_V1_20_340_HEIGHT_VALUE, NULL }; static const AsterixField I062_V1_20_340_HEIGHT = { FIXED, 2, 0, 0, &hf_062_V1_20_340_HEIGHT, I062_V1_20_340_HEIGHT_PARTS, { NULL } }; static int hf_062_V1_20_340_MDC; static int hf_062_V1_20_340_MDC_V; static const value_string valstr_062_V1_20_340_MDC_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_MDC_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_MDC_V, NULL }; static int hf_062_V1_20_340_MDC_G; static const value_string valstr_062_V1_20_340_MDC_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_MDC_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_MDC_G, NULL }; static int hf_062_V1_20_340_MDC_LMC; static const FieldPart I062_V1_20_340_MDC_LMC = { 14, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_340_MDC_LMC, NULL }; static const FieldPart *I062_V1_20_340_MDC_PARTS[] = { &I062_V1_20_340_MDC_V, &I062_V1_20_340_MDC_G, &I062_V1_20_340_MDC_LMC, NULL }; static const AsterixField I062_V1_20_340_MDC = { FIXED, 2, 0, 0, &hf_062_V1_20_340_MDC, I062_V1_20_340_MDC_PARTS, { NULL } }; static int hf_062_V1_20_340_MDA; static int hf_062_V1_20_340_MDA_V; static const value_string valstr_062_V1_20_340_MDA_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_MDA_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_MDA_V, NULL }; static int hf_062_V1_20_340_MDA_G; static const value_string valstr_062_V1_20_340_MDA_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_MDA_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_MDA_G, NULL }; static int hf_062_V1_20_340_MDA_L; static const value_string valstr_062_V1_20_340_MDA_L[] = { { 0, "Mode 3/A code as derived from the reply of the transponder" }, { 1, "Mode 3/A code as provided by a sensor local tracker" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_MDA_L = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_MDA_L, NULL }; static int hf_062_V1_20_340_MDA_MODE3A; static const FieldPart I062_V1_20_340_MDA_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_20_340_MDA_MODE3A, NULL }; static const FieldPart *I062_V1_20_340_MDA_PARTS[] = { &I062_V1_20_340_MDA_V, &I062_V1_20_340_MDA_G, &I062_V1_20_340_MDA_L, &IXXX_1bit_spare, &I062_V1_20_340_MDA_MODE3A, NULL }; static const AsterixField I062_V1_20_340_MDA = { FIXED, 2, 0, 0, &hf_062_V1_20_340_MDA, I062_V1_20_340_MDA_PARTS, { NULL } }; static int hf_062_V1_20_340_TYP; static int hf_062_V1_20_340_TYP_TYP; static const value_string valstr_062_V1_20_340_TYP_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call + PSR" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_TYP_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_TYP_TYP, NULL }; static int hf_062_V1_20_340_TYP_SIM; static const value_string valstr_062_V1_20_340_TYP_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_TYP_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_TYP_SIM, NULL }; static int hf_062_V1_20_340_TYP_RAB; static const value_string valstr_062_V1_20_340_TYP_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (item transponder)" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_TYP_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_TYP_RAB, NULL }; static int hf_062_V1_20_340_TYP_TST; static const value_string valstr_062_V1_20_340_TYP_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I062_V1_20_340_TYP_TST = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_340_TYP_TST, NULL }; static const FieldPart *I062_V1_20_340_TYP_PARTS[] = { &I062_V1_20_340_TYP_TYP, &I062_V1_20_340_TYP_SIM, &I062_V1_20_340_TYP_RAB, &I062_V1_20_340_TYP_TST, &IXXX_2bit_spare, NULL }; static const AsterixField I062_V1_20_340_TYP = { FIXED, 1, 0, 0, &hf_062_V1_20_340_TYP, I062_V1_20_340_TYP_PARTS, { NULL } }; static const AsterixField I062_V1_20_340 = { COMPOUND, 0, 0, 0, &hf_062_V1_20_340, NULL, { &I062_V1_20_340_SID, &I062_V1_20_340_POS, &I062_V1_20_340_HEIGHT, &I062_V1_20_340_MDC, &I062_V1_20_340_MDA, &I062_V1_20_340_TYP, NULL } }; static int hf_062_V1_20_380; static int hf_062_V1_20_380_ADR; static int hf_062_V1_20_380_ADR_VALUE; static const FieldPart I062_V1_20_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_ADR_VALUE, NULL }; static const FieldPart *I062_V1_20_380_ADR_PARTS[] = { &I062_V1_20_380_ADR_VALUE, NULL }; static const AsterixField I062_V1_20_380_ADR = { FIXED, 3, 0, 0, &hf_062_V1_20_380_ADR, I062_V1_20_380_ADR_PARTS, { NULL } }; static int hf_062_V1_20_380_ID; static int hf_062_V1_20_380_ID_VALUE; static const FieldPart I062_V1_20_380_ID_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_V1_20_380_ID_VALUE, NULL }; static const FieldPart *I062_V1_20_380_ID_PARTS[] = { &I062_V1_20_380_ID_VALUE, NULL }; static const AsterixField I062_V1_20_380_ID = { FIXED, 6, 0, 0, &hf_062_V1_20_380_ID, I062_V1_20_380_ID_PARTS, { NULL } }; static int hf_062_V1_20_380_MHG; static int hf_062_V1_20_380_MHG_VALUE; static const FieldPart I062_V1_20_380_MHG_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_20_380_MHG_VALUE, NULL }; static const FieldPart *I062_V1_20_380_MHG_PARTS[] = { &I062_V1_20_380_MHG_VALUE, NULL }; static const AsterixField I062_V1_20_380_MHG = { FIXED, 2, 0, 0, &hf_062_V1_20_380_MHG, I062_V1_20_380_MHG_PARTS, { NULL } }; static int hf_062_V1_20_380_IAS; static int hf_062_V1_20_380_IAS_IM; static const value_string valstr_062_V1_20_380_IAS_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2^-14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_IAS_IM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_IAS_IM, NULL }; static int hf_062_V1_20_380_IAS_IAS; static const FieldPart I062_V1_20_380_IAS_IAS = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_IAS_IAS, NULL }; static const FieldPart *I062_V1_20_380_IAS_PARTS[] = { &I062_V1_20_380_IAS_IM, &I062_V1_20_380_IAS_IAS, NULL }; static const AsterixField I062_V1_20_380_IAS = { FIXED, 2, 0, 0, &hf_062_V1_20_380_IAS, I062_V1_20_380_IAS_PARTS, { NULL } }; static int hf_062_V1_20_380_TAS; static int hf_062_V1_20_380_TAS_VALUE; static const FieldPart I062_V1_20_380_TAS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_20_380_TAS_VALUE, NULL }; static const FieldPart *I062_V1_20_380_TAS_PARTS[] = { &I062_V1_20_380_TAS_VALUE, NULL }; static const AsterixField I062_V1_20_380_TAS = { FIXED, 2, 0, 0, &hf_062_V1_20_380_TAS, I062_V1_20_380_TAS_PARTS, { NULL } }; static int hf_062_V1_20_380_SAL; static int hf_062_V1_20_380_SAL_SAS; static const value_string valstr_062_V1_20_380_SAL_SAS[] = { { 0, "No source information provided" }, { 1, "Source information provided" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_SAL_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_SAL_SAS, NULL }; static int hf_062_V1_20_380_SAL_SRC; static const value_string valstr_062_V1_20_380_SAL_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft altitude" }, { 2, "FCU/MCP selected altitude" }, { 3, "FMS selected altitude" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_SAL_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_SAL_SRC, NULL }; static int hf_062_V1_20_380_SAL_ALT; static const FieldPart I062_V1_20_380_SAL_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_20_380_SAL_ALT, NULL }; static const FieldPart *I062_V1_20_380_SAL_PARTS[] = { &I062_V1_20_380_SAL_SAS, &I062_V1_20_380_SAL_SRC, &I062_V1_20_380_SAL_ALT, NULL }; static const AsterixField I062_V1_20_380_SAL = { FIXED, 2, 0, 0, &hf_062_V1_20_380_SAL, I062_V1_20_380_SAL_PARTS, { NULL } }; static int hf_062_V1_20_380_FSS; static int hf_062_V1_20_380_FSS_MV; static const value_string valstr_062_V1_20_380_FSS_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_FSS_MV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_FSS_MV, NULL }; static int hf_062_V1_20_380_FSS_AH; static const value_string valstr_062_V1_20_380_FSS_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_FSS_AH = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_FSS_AH, NULL }; static int hf_062_V1_20_380_FSS_AM; static const value_string valstr_062_V1_20_380_FSS_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_FSS_AM = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_FSS_AM, NULL }; static int hf_062_V1_20_380_FSS_ALT; static const FieldPart I062_V1_20_380_FSS_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_V1_20_380_FSS_ALT, NULL }; static const FieldPart *I062_V1_20_380_FSS_PARTS[] = { &I062_V1_20_380_FSS_MV, &I062_V1_20_380_FSS_AH, &I062_V1_20_380_FSS_AM, &I062_V1_20_380_FSS_ALT, NULL }; static const AsterixField I062_V1_20_380_FSS = { FIXED, 2, 0, 0, &hf_062_V1_20_380_FSS, I062_V1_20_380_FSS_PARTS, { NULL } }; static int hf_062_V1_20_380_TIS; static int hf_062_V1_20_380_TIS_NAV; static const value_string valstr_062_V1_20_380_TIS_NAV[] = { { 0, "Trajectory intent data is available for this aircraft" }, { 1, "Trajectory intent data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TIS_NAV, NULL }; static int hf_062_V1_20_380_TIS_NVB; static const value_string valstr_062_V1_20_380_TIS_NVB[] = { { 0, "Trajectory intent data is valid" }, { 1, "Trajectory intent data is not valid" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TIS_NVB, NULL }; static const FieldPart *I062_V1_20_380_TIS_PARTS[] = { &I062_V1_20_380_TIS_NAV, &I062_V1_20_380_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_V1_20_380_TIS = { FX, 1, 0, 0, &hf_062_V1_20_380_TIS, I062_V1_20_380_TIS_PARTS, { NULL } }; static int hf_062_V1_20_380_TID; static int hf_062_V1_20_380_TID_TCA; static const value_string valstr_062_V1_20_380_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TID_TCA, NULL }; static int hf_062_V1_20_380_TID_NC; static const value_string valstr_062_V1_20_380_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TID_NC, NULL }; static int hf_062_V1_20_380_TID_TCPN; static const FieldPart I062_V1_20_380_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_TID_TCPN, NULL }; static int hf_062_V1_20_380_TID_ALT; static const FieldPart I062_V1_20_380_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_062_V1_20_380_TID_ALT, NULL }; static int hf_062_V1_20_380_TID_LAT; static const FieldPart I062_V1_20_380_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_20_380_TID_LAT, NULL }; static int hf_062_V1_20_380_TID_LON; static const FieldPart I062_V1_20_380_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_20_380_TID_LON, NULL }; static int hf_062_V1_20_380_TID_PT; static const value_string valstr_062_V1_20_380_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TID_PT, NULL }; static int hf_062_V1_20_380_TID_TD; static const value_string valstr_062_V1_20_380_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TID_TD, NULL }; static int hf_062_V1_20_380_TID_TRA; static const value_string valstr_062_V1_20_380_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TID_TRA, NULL }; static int hf_062_V1_20_380_TID_TOA; static const value_string valstr_062_V1_20_380_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TID_TOA, NULL }; static int hf_062_V1_20_380_TID_TOV; static const FieldPart I062_V1_20_380_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_20_380_TID_TOV, NULL }; static int hf_062_V1_20_380_TID_TTR; static const FieldPart I062_V1_20_380_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_062_V1_20_380_TID_TTR, NULL }; static const FieldPart *I062_V1_20_380_TID_PARTS[] = { &I062_V1_20_380_TID_TCA, &I062_V1_20_380_TID_NC, &I062_V1_20_380_TID_TCPN, &I062_V1_20_380_TID_ALT, &I062_V1_20_380_TID_LAT, &I062_V1_20_380_TID_LON, &I062_V1_20_380_TID_PT, &I062_V1_20_380_TID_TD, &I062_V1_20_380_TID_TRA, &I062_V1_20_380_TID_TOA, &I062_V1_20_380_TID_TOV, &I062_V1_20_380_TID_TTR, NULL }; static const AsterixField I062_V1_20_380_TID = { REPETITIVE, 15, 1, 0, &hf_062_V1_20_380_TID, I062_V1_20_380_TID_PARTS, { NULL } }; static int hf_062_V1_20_380_COM; static int hf_062_V1_20_380_COM_COM; static const value_string valstr_062_V1_20_380_COM_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_COM_COM = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_COM_COM, NULL }; static int hf_062_V1_20_380_COM_STAT; static const value_string valstr_062_V1_20_380_COM_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "Not defined" }, { 7, "Unknown or not yet extracted" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_COM_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_COM_STAT, NULL }; static int hf_062_V1_20_380_COM_SSC; static const value_string valstr_062_V1_20_380_COM_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_COM_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_COM_SSC, NULL }; static int hf_062_V1_20_380_COM_ARC; static const value_string valstr_062_V1_20_380_COM_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_COM_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_COM_ARC, NULL }; static int hf_062_V1_20_380_COM_AIC; static const value_string valstr_062_V1_20_380_COM_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_COM_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_COM_AIC, NULL }; static int hf_062_V1_20_380_COM_B1A; static const FieldPart I062_V1_20_380_COM_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_COM_B1A, NULL }; static int hf_062_V1_20_380_COM_B1B; static const FieldPart I062_V1_20_380_COM_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_COM_B1B, NULL }; static const FieldPart *I062_V1_20_380_COM_PARTS[] = { &I062_V1_20_380_COM_COM, &I062_V1_20_380_COM_STAT, &IXXX_2bit_spare, &I062_V1_20_380_COM_SSC, &I062_V1_20_380_COM_ARC, &I062_V1_20_380_COM_AIC, &I062_V1_20_380_COM_B1A, &I062_V1_20_380_COM_B1B, NULL }; static const AsterixField I062_V1_20_380_COM = { FIXED, 2, 0, 0, &hf_062_V1_20_380_COM, I062_V1_20_380_COM_PARTS, { NULL } }; static int hf_062_V1_20_380_SAB; static int hf_062_V1_20_380_SAB_AC; static const value_string valstr_062_V1_20_380_SAB_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operational" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_SAB_AC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_SAB_AC, NULL }; static int hf_062_V1_20_380_SAB_MN; static const value_string valstr_062_V1_20_380_SAB_MN[] = { { 0, "Unknown" }, { 1, "Multiple navigational aids not operating" }, { 2, "Multiple navigational aids operating" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_SAB_MN = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_SAB_MN, NULL }; static int hf_062_V1_20_380_SAB_DC; static const value_string valstr_062_V1_20_380_SAB_DC[] = { { 0, "Unknown" }, { 1, "Differential correction" }, { 2, "No differential correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_SAB_DC = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_SAB_DC, NULL }; static int hf_062_V1_20_380_SAB_GBS; static const value_string valstr_062_V1_20_380_SAB_GBS[] = { { 0, "Transponder ground bit not set or unknown" }, { 1, "Transponder Ground Bit set" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_SAB_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_SAB_GBS, NULL }; static int hf_062_V1_20_380_SAB_STAT; static const value_string valstr_062_V1_20_380_SAB_STAT[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_SAB_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_SAB_STAT, NULL }; static const FieldPart *I062_V1_20_380_SAB_PARTS[] = { &I062_V1_20_380_SAB_AC, &I062_V1_20_380_SAB_MN, &I062_V1_20_380_SAB_DC, &I062_V1_20_380_SAB_GBS, &IXXX_6bit_spare, &I062_V1_20_380_SAB_STAT, NULL }; static const AsterixField I062_V1_20_380_SAB = { FIXED, 2, 0, 0, &hf_062_V1_20_380_SAB, I062_V1_20_380_SAB_PARTS, { NULL } }; static int hf_062_V1_20_380_ACS; static int hf_062_V1_20_380_ACS_VALUE; static const FieldPart I062_V1_20_380_ACS_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_ACS_VALUE, NULL }; static const FieldPart *I062_V1_20_380_ACS_PARTS[] = { &I062_V1_20_380_ACS_VALUE, NULL }; static const AsterixField I062_V1_20_380_ACS = { FIXED, 7, 0, 0, &hf_062_V1_20_380_ACS, I062_V1_20_380_ACS_PARTS, { NULL } }; static int hf_062_V1_20_380_BVR; static int hf_062_V1_20_380_BVR_VALUE; static const FieldPart I062_V1_20_380_BVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_20_380_BVR_VALUE, NULL }; static const FieldPart *I062_V1_20_380_BVR_PARTS[] = { &I062_V1_20_380_BVR_VALUE, NULL }; static const AsterixField I062_V1_20_380_BVR = { FIXED, 2, 0, 0, &hf_062_V1_20_380_BVR, I062_V1_20_380_BVR_PARTS, { NULL } }; static int hf_062_V1_20_380_GVR; static int hf_062_V1_20_380_GVR_VALUE; static const FieldPart I062_V1_20_380_GVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_20_380_GVR_VALUE, NULL }; static const FieldPart *I062_V1_20_380_GVR_PARTS[] = { &I062_V1_20_380_GVR_VALUE, NULL }; static const AsterixField I062_V1_20_380_GVR = { FIXED, 2, 0, 0, &hf_062_V1_20_380_GVR, I062_V1_20_380_GVR_PARTS, { NULL } }; static int hf_062_V1_20_380_RAN; static int hf_062_V1_20_380_RAN_VALUE; static const FieldPart I062_V1_20_380_RAN_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_062_V1_20_380_RAN_VALUE, NULL }; static const FieldPart *I062_V1_20_380_RAN_PARTS[] = { &I062_V1_20_380_RAN_VALUE, NULL }; static const AsterixField I062_V1_20_380_RAN = { FIXED, 2, 0, 0, &hf_062_V1_20_380_RAN, I062_V1_20_380_RAN_PARTS, { NULL } }; static int hf_062_V1_20_380_TAR; static int hf_062_V1_20_380_TAR_TI; static const value_string valstr_062_V1_20_380_TAR_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_TAR_TI = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_TAR_TI, NULL }; static int hf_062_V1_20_380_TAR_ROT; static const FieldPart I062_V1_20_380_TAR_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_380_TAR_ROT, NULL }; static const FieldPart *I062_V1_20_380_TAR_PARTS[] = { &I062_V1_20_380_TAR_TI, &IXXX_6bit_spare, &I062_V1_20_380_TAR_ROT, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_20_380_TAR = { FIXED, 2, 0, 0, &hf_062_V1_20_380_TAR, I062_V1_20_380_TAR_PARTS, { NULL } }; static int hf_062_V1_20_380_TAN; static int hf_062_V1_20_380_TAN_VALUE; static const FieldPart I062_V1_20_380_TAN_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_V1_20_380_TAN_VALUE, NULL }; static const FieldPart *I062_V1_20_380_TAN_PARTS[] = { &I062_V1_20_380_TAN_VALUE, NULL }; static const AsterixField I062_V1_20_380_TAN = { FIXED, 2, 0, 0, &hf_062_V1_20_380_TAN, I062_V1_20_380_TAN_PARTS, { NULL } }; static int hf_062_V1_20_380_GS; static int hf_062_V1_20_380_GS_VALUE; static const FieldPart I062_V1_20_380_GS_VALUE = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_062_V1_20_380_GS_VALUE, NULL }; static const FieldPart *I062_V1_20_380_GS_PARTS[] = { &I062_V1_20_380_GS_VALUE, NULL }; static const AsterixField I062_V1_20_380_GS = { FIXED, 2, 0, 0, &hf_062_V1_20_380_GS, I062_V1_20_380_GS_PARTS, { NULL } }; static int hf_062_V1_20_380_VUN; static int hf_062_V1_20_380_VUN_VALUE; static const FieldPart I062_V1_20_380_VUN_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_VUN_VALUE, NULL }; static const FieldPart *I062_V1_20_380_VUN_PARTS[] = { &I062_V1_20_380_VUN_VALUE, NULL }; static const AsterixField I062_V1_20_380_VUN = { FIXED, 1, 0, 0, &hf_062_V1_20_380_VUN, I062_V1_20_380_VUN_PARTS, { NULL } }; static int hf_062_V1_20_380_MET; static int hf_062_V1_20_380_MET_WS; static const value_string valstr_062_V1_20_380_MET_WS[] = { { 0, "Not valid Wind Speed" }, { 1, "Valid Wind Speed" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_MET_WS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_MET_WS, NULL }; static int hf_062_V1_20_380_MET_WD; static const value_string valstr_062_V1_20_380_MET_WD[] = { { 0, "Not valid Wind Direction" }, { 1, "Valid Wind Direction" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_MET_WD = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_MET_WD, NULL }; static int hf_062_V1_20_380_MET_TMP; static const value_string valstr_062_V1_20_380_MET_TMP[] = { { 0, "Not valid Temperature" }, { 1, "Valid Temperature" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_MET_TMP = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_MET_TMP, NULL }; static int hf_062_V1_20_380_MET_TRB; static const value_string valstr_062_V1_20_380_MET_TRB[] = { { 0, "Not valid Turbulence" }, { 1, "Valid Turbulence" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_MET_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_MET_TRB, NULL }; static int hf_062_V1_20_380_MET_WSD; static const FieldPart I062_V1_20_380_MET_WSD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_20_380_MET_WSD, NULL }; static int hf_062_V1_20_380_MET_WDD; static const FieldPart I062_V1_20_380_MET_WDD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_20_380_MET_WDD, NULL }; static int hf_062_V1_20_380_MET_TMPD; static const FieldPart I062_V1_20_380_MET_TMPD = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_V1_20_380_MET_TMPD, NULL }; static int hf_062_V1_20_380_MET_TRBD; static const FieldPart I062_V1_20_380_MET_TRBD = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_MET_TRBD, NULL }; static const FieldPart *I062_V1_20_380_MET_PARTS[] = { &I062_V1_20_380_MET_WS, &I062_V1_20_380_MET_WD, &I062_V1_20_380_MET_TMP, &I062_V1_20_380_MET_TRB, &IXXX_4bit_spare, &I062_V1_20_380_MET_WSD, &I062_V1_20_380_MET_WDD, &I062_V1_20_380_MET_TMPD, &I062_V1_20_380_MET_TRBD, NULL }; static const AsterixField I062_V1_20_380_MET = { FIXED, 8, 0, 0, &hf_062_V1_20_380_MET, I062_V1_20_380_MET_PARTS, { NULL } }; static int hf_062_V1_20_380_EMC; static int hf_062_V1_20_380_EMC_VALUE; static const value_string valstr_062_V1_20_380_EMC_VALUE[] = { { 1, "Light aircraft =< 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I062_V1_20_380_EMC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_V1_20_380_EMC_VALUE, NULL }; static const FieldPart *I062_V1_20_380_EMC_PARTS[] = { &I062_V1_20_380_EMC_VALUE, NULL }; static const AsterixField I062_V1_20_380_EMC = { FIXED, 1, 0, 0, &hf_062_V1_20_380_EMC, I062_V1_20_380_EMC_PARTS, { NULL } }; static int hf_062_V1_20_380_POS; static int hf_062_V1_20_380_POS_LAT; static const FieldPart I062_V1_20_380_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_20_380_POS_LAT, NULL }; static int hf_062_V1_20_380_POS_LON; static const FieldPart I062_V1_20_380_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_V1_20_380_POS_LON, NULL }; static const FieldPart *I062_V1_20_380_POS_PARTS[] = { &I062_V1_20_380_POS_LAT, &I062_V1_20_380_POS_LON, NULL }; static const AsterixField I062_V1_20_380_POS = { FIXED, 6, 0, 0, &hf_062_V1_20_380_POS, I062_V1_20_380_POS_PARTS, { NULL } }; static int hf_062_V1_20_380_GAL; static int hf_062_V1_20_380_GAL_VALUE; static const FieldPart I062_V1_20_380_GAL_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_V1_20_380_GAL_VALUE, NULL }; static const FieldPart *I062_V1_20_380_GAL_PARTS[] = { &I062_V1_20_380_GAL_VALUE, NULL }; static const AsterixField I062_V1_20_380_GAL = { FIXED, 2, 0, 0, &hf_062_V1_20_380_GAL, I062_V1_20_380_GAL_PARTS, { NULL } }; static int hf_062_V1_20_380_PUN; static int hf_062_V1_20_380_PUN_PUN; static const FieldPart I062_V1_20_380_PUN_PUN = { 4, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_PUN_PUN, NULL }; static const FieldPart *I062_V1_20_380_PUN_PARTS[] = { &IXXX_4bit_spare, &I062_V1_20_380_PUN_PUN, NULL }; static const AsterixField I062_V1_20_380_PUN = { FIXED, 1, 0, 0, &hf_062_V1_20_380_PUN, I062_V1_20_380_PUN_PARTS, { NULL } }; static int hf_062_V1_20_380_BDSDATA; static int hf_062_V1_20_380_BDSDATA_VALUE; static const FieldPart I062_V1_20_380_BDSDATA_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_062_V1_20_380_BDSDATA_VALUE, NULL }; static const FieldPart *I062_V1_20_380_BDSDATA_PARTS[] = { &I062_V1_20_380_BDSDATA_VALUE, NULL }; static const AsterixField I062_V1_20_380_BDSDATA = { REPETITIVE, 8, 1, 0, &hf_062_V1_20_380_BDSDATA, I062_V1_20_380_BDSDATA_PARTS, { NULL } }; static int hf_062_V1_20_380_IAR; static int hf_062_V1_20_380_IAR_VALUE; static const FieldPart I062_V1_20_380_IAR_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_V1_20_380_IAR_VALUE, NULL }; static const FieldPart *I062_V1_20_380_IAR_PARTS[] = { &I062_V1_20_380_IAR_VALUE, NULL }; static const AsterixField I062_V1_20_380_IAR = { FIXED, 2, 0, 0, &hf_062_V1_20_380_IAR, I062_V1_20_380_IAR_PARTS, { NULL } }; static int hf_062_V1_20_380_MAC; static int hf_062_V1_20_380_MAC_VALUE; static const FieldPart I062_V1_20_380_MAC_VALUE = { 16, 0.008, FIELD_PART_UFLOAT, &hf_062_V1_20_380_MAC_VALUE, NULL }; static const FieldPart *I062_V1_20_380_MAC_PARTS[] = { &I062_V1_20_380_MAC_VALUE, NULL }; static const AsterixField I062_V1_20_380_MAC = { FIXED, 2, 0, 0, &hf_062_V1_20_380_MAC, I062_V1_20_380_MAC_PARTS, { NULL } }; static int hf_062_V1_20_380_BPS; static int hf_062_V1_20_380_BPS_BPS; static const FieldPart I062_V1_20_380_BPS_BPS = { 12, 0.1, FIELD_PART_UFLOAT, &hf_062_V1_20_380_BPS_BPS, NULL }; static const FieldPart *I062_V1_20_380_BPS_PARTS[] = { &IXXX_4bit_spare, &I062_V1_20_380_BPS_BPS, NULL }; static const AsterixField I062_V1_20_380_BPS = { FIXED, 2, 0, 0, &hf_062_V1_20_380_BPS, I062_V1_20_380_BPS_PARTS, { NULL } }; static const AsterixField I062_V1_20_380 = { COMPOUND, 0, 0, 0, &hf_062_V1_20_380, NULL, { &I062_V1_20_380_ADR, &I062_V1_20_380_ID, &I062_V1_20_380_MHG, &I062_V1_20_380_IAS, &I062_V1_20_380_TAS, &I062_V1_20_380_SAL, &I062_V1_20_380_FSS, &I062_V1_20_380_TIS, &I062_V1_20_380_TID, &I062_V1_20_380_COM, &I062_V1_20_380_SAB, &I062_V1_20_380_ACS, &I062_V1_20_380_BVR, &I062_V1_20_380_GVR, &I062_V1_20_380_RAN, &I062_V1_20_380_TAR, &I062_V1_20_380_TAN, &I062_V1_20_380_GS, &I062_V1_20_380_VUN, &I062_V1_20_380_MET, &I062_V1_20_380_EMC, &I062_V1_20_380_POS, &I062_V1_20_380_GAL, &I062_V1_20_380_PUN, &I062_V1_20_380_BDSDATA, &I062_V1_20_380_IAR, &I062_V1_20_380_MAC, &I062_V1_20_380_BPS, NULL } }; static int hf_062_V1_20_390; static int hf_062_V1_20_390_TAG; static int hf_062_V1_20_390_TAG_SAC; static const FieldPart I062_V1_20_390_TAG_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_390_TAG_SAC, NULL }; static int hf_062_V1_20_390_TAG_SIC; static const FieldPart I062_V1_20_390_TAG_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_390_TAG_SIC, NULL }; static const FieldPart *I062_V1_20_390_TAG_PARTS[] = { &I062_V1_20_390_TAG_SAC, &I062_V1_20_390_TAG_SIC, NULL }; static const AsterixField I062_V1_20_390_TAG = { FIXED, 2, 0, 0, &hf_062_V1_20_390_TAG, I062_V1_20_390_TAG_PARTS, { NULL } }; static int hf_062_V1_20_390_CS; static int hf_062_V1_20_390_CS_VALUE; static const FieldPart I062_V1_20_390_CS_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_CS_VALUE, NULL }; static const FieldPart *I062_V1_20_390_CS_PARTS[] = { &I062_V1_20_390_CS_VALUE, NULL }; static const AsterixField I062_V1_20_390_CS = { FIXED, 7, 0, 0, &hf_062_V1_20_390_CS, I062_V1_20_390_CS_PARTS, { NULL } }; static int hf_062_V1_20_390_IFI; static int hf_062_V1_20_390_IFI_TYP; static const value_string valstr_062_V1_20_390_IFI_TYP[] = { { 0, "Plan Number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_IFI_TYP, NULL }; static int hf_062_V1_20_390_IFI_NBR; static const FieldPart I062_V1_20_390_IFI_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_IFI_NBR, NULL }; static const FieldPart *I062_V1_20_390_IFI_PARTS[] = { &I062_V1_20_390_IFI_TYP, &IXXX_3bit_spare, &I062_V1_20_390_IFI_NBR, NULL }; static const AsterixField I062_V1_20_390_IFI = { FIXED, 4, 0, 0, &hf_062_V1_20_390_IFI, I062_V1_20_390_IFI_PARTS, { NULL } }; static int hf_062_V1_20_390_FCT; static int hf_062_V1_20_390_FCT_GATOAT; static const value_string valstr_062_V1_20_390_FCT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_FCT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_FCT_GATOAT, NULL }; static int hf_062_V1_20_390_FCT_FR1FR2; static const value_string valstr_062_V1_20_390_FCT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight Rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_FCT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_FCT_FR1FR2, NULL }; static int hf_062_V1_20_390_FCT_RVSM; static const value_string valstr_062_V1_20_390_FCT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_FCT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_FCT_RVSM, NULL }; static int hf_062_V1_20_390_FCT_HPR; static const value_string valstr_062_V1_20_390_FCT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_FCT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_FCT_HPR, NULL }; static const FieldPart *I062_V1_20_390_FCT_PARTS[] = { &I062_V1_20_390_FCT_GATOAT, &I062_V1_20_390_FCT_FR1FR2, &I062_V1_20_390_FCT_RVSM, &I062_V1_20_390_FCT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I062_V1_20_390_FCT = { FIXED, 1, 0, 0, &hf_062_V1_20_390_FCT, I062_V1_20_390_FCT_PARTS, { NULL } }; static int hf_062_V1_20_390_TAC; static int hf_062_V1_20_390_TAC_VALUE; static const FieldPart I062_V1_20_390_TAC_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_TAC_VALUE, NULL }; static const FieldPart *I062_V1_20_390_TAC_PARTS[] = { &I062_V1_20_390_TAC_VALUE, NULL }; static const AsterixField I062_V1_20_390_TAC = { FIXED, 4, 0, 0, &hf_062_V1_20_390_TAC, I062_V1_20_390_TAC_PARTS, { NULL } }; static int hf_062_V1_20_390_WTC; static int hf_062_V1_20_390_WTC_VALUE; static const FieldPart I062_V1_20_390_WTC_VALUE = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_WTC_VALUE, NULL }; static const FieldPart *I062_V1_20_390_WTC_PARTS[] = { &I062_V1_20_390_WTC_VALUE, NULL }; static const AsterixField I062_V1_20_390_WTC = { FIXED, 1, 0, 0, &hf_062_V1_20_390_WTC, I062_V1_20_390_WTC_PARTS, { NULL } }; static int hf_062_V1_20_390_DEP; static int hf_062_V1_20_390_DEP_VALUE; static const FieldPart I062_V1_20_390_DEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_DEP_VALUE, NULL }; static const FieldPart *I062_V1_20_390_DEP_PARTS[] = { &I062_V1_20_390_DEP_VALUE, NULL }; static const AsterixField I062_V1_20_390_DEP = { FIXED, 4, 0, 0, &hf_062_V1_20_390_DEP, I062_V1_20_390_DEP_PARTS, { NULL } }; static int hf_062_V1_20_390_DST; static int hf_062_V1_20_390_DST_VALUE; static const FieldPart I062_V1_20_390_DST_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_DST_VALUE, NULL }; static const FieldPart *I062_V1_20_390_DST_PARTS[] = { &I062_V1_20_390_DST_VALUE, NULL }; static const AsterixField I062_V1_20_390_DST = { FIXED, 4, 0, 0, &hf_062_V1_20_390_DST, I062_V1_20_390_DST_PARTS, { NULL } }; static int hf_062_V1_20_390_RDS; static int hf_062_V1_20_390_RDS_NU1; static const FieldPart I062_V1_20_390_RDS_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_RDS_NU1, NULL }; static int hf_062_V1_20_390_RDS_NU2; static const FieldPart I062_V1_20_390_RDS_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_RDS_NU2, NULL }; static int hf_062_V1_20_390_RDS_LTR; static const FieldPart I062_V1_20_390_RDS_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_RDS_LTR, NULL }; static const FieldPart *I062_V1_20_390_RDS_PARTS[] = { &I062_V1_20_390_RDS_NU1, &I062_V1_20_390_RDS_NU2, &I062_V1_20_390_RDS_LTR, NULL }; static const AsterixField I062_V1_20_390_RDS = { FIXED, 3, 0, 0, &hf_062_V1_20_390_RDS, I062_V1_20_390_RDS_PARTS, { NULL } }; static int hf_062_V1_20_390_CFL; static int hf_062_V1_20_390_CFL_VALUE; static const FieldPart I062_V1_20_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_390_CFL_VALUE, NULL }; static const FieldPart *I062_V1_20_390_CFL_PARTS[] = { &I062_V1_20_390_CFL_VALUE, NULL }; static const AsterixField I062_V1_20_390_CFL = { FIXED, 2, 0, 0, &hf_062_V1_20_390_CFL, I062_V1_20_390_CFL_PARTS, { NULL } }; static int hf_062_V1_20_390_CTL; static int hf_062_V1_20_390_CTL_CENTRE; static const FieldPart I062_V1_20_390_CTL_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_390_CTL_CENTRE, NULL }; static int hf_062_V1_20_390_CTL_POSITION; static const FieldPart I062_V1_20_390_CTL_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_390_CTL_POSITION, NULL }; static const FieldPart *I062_V1_20_390_CTL_PARTS[] = { &I062_V1_20_390_CTL_CENTRE, &I062_V1_20_390_CTL_POSITION, NULL }; static const AsterixField I062_V1_20_390_CTL = { FIXED, 2, 0, 0, &hf_062_V1_20_390_CTL, I062_V1_20_390_CTL_PARTS, { NULL } }; static int hf_062_V1_20_390_TOD; static int hf_062_V1_20_390_TOD_TYP; static const value_string valstr_062_V1_20_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_TOD_TYP, NULL }; static int hf_062_V1_20_390_TOD_DAY; static const value_string valstr_062_V1_20_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_TOD_DAY, NULL }; static int hf_062_V1_20_390_TOD_HOR; static const FieldPart I062_V1_20_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_TOD_HOR, NULL }; static int hf_062_V1_20_390_TOD_MIN; static const FieldPart I062_V1_20_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_TOD_MIN, NULL }; static int hf_062_V1_20_390_TOD_AVS; static const value_string valstr_062_V1_20_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_TOD_AVS, NULL }; static int hf_062_V1_20_390_TOD_SEC; static const FieldPart I062_V1_20_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_TOD_SEC, NULL }; static const FieldPart *I062_V1_20_390_TOD_PARTS[] = { &I062_V1_20_390_TOD_TYP, &I062_V1_20_390_TOD_DAY, &IXXX_4bit_spare, &I062_V1_20_390_TOD_HOR, &IXXX_2bit_spare, &I062_V1_20_390_TOD_MIN, &I062_V1_20_390_TOD_AVS, &IXXX_1bit_spare, &I062_V1_20_390_TOD_SEC, NULL }; static const AsterixField I062_V1_20_390_TOD = { REPETITIVE, 4, 1, 0, &hf_062_V1_20_390_TOD, I062_V1_20_390_TOD_PARTS, { NULL } }; static int hf_062_V1_20_390_AST; static int hf_062_V1_20_390_AST_VALUE; static const FieldPart I062_V1_20_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_AST_VALUE, NULL }; static const FieldPart *I062_V1_20_390_AST_PARTS[] = { &I062_V1_20_390_AST_VALUE, NULL }; static const AsterixField I062_V1_20_390_AST = { FIXED, 6, 0, 0, &hf_062_V1_20_390_AST, I062_V1_20_390_AST_PARTS, { NULL } }; static int hf_062_V1_20_390_STS; static int hf_062_V1_20_390_STS_EMP; static const value_string valstr_062_V1_20_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_STS_EMP, NULL }; static int hf_062_V1_20_390_STS_AVL; static const value_string valstr_062_V1_20_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_STS_AVL, NULL }; static const FieldPart *I062_V1_20_390_STS_PARTS[] = { &I062_V1_20_390_STS_EMP, &I062_V1_20_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I062_V1_20_390_STS = { FIXED, 1, 0, 0, &hf_062_V1_20_390_STS, I062_V1_20_390_STS_PARTS, { NULL } }; static int hf_062_V1_20_390_STD; static int hf_062_V1_20_390_STD_VALUE; static const FieldPart I062_V1_20_390_STD_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_STD_VALUE, NULL }; static const FieldPart *I062_V1_20_390_STD_PARTS[] = { &I062_V1_20_390_STD_VALUE, NULL }; static const AsterixField I062_V1_20_390_STD = { FIXED, 7, 0, 0, &hf_062_V1_20_390_STD, I062_V1_20_390_STD_PARTS, { NULL } }; static int hf_062_V1_20_390_STA; static int hf_062_V1_20_390_STA_VALUE; static const FieldPart I062_V1_20_390_STA_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_STA_VALUE, NULL }; static const FieldPart *I062_V1_20_390_STA_PARTS[] = { &I062_V1_20_390_STA_VALUE, NULL }; static const AsterixField I062_V1_20_390_STA = { FIXED, 7, 0, 0, &hf_062_V1_20_390_STA, I062_V1_20_390_STA_PARTS, { NULL } }; static int hf_062_V1_20_390_PEM; static int hf_062_V1_20_390_PEM_VA; static const value_string valstr_062_V1_20_390_PEM_VA[] = { { 0, "No valid Mode 3/A available" }, { 1, "Valid Mode 3/A available" }, { 0, NULL } }; static const FieldPart I062_V1_20_390_PEM_VA = { 1, 1.0, FIELD_PART_UINT, &hf_062_V1_20_390_PEM_VA, NULL }; static int hf_062_V1_20_390_PEM_MODE3A; static const FieldPart I062_V1_20_390_PEM_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_V1_20_390_PEM_MODE3A, NULL }; static const FieldPart *I062_V1_20_390_PEM_PARTS[] = { &IXXX_3bit_spare, &I062_V1_20_390_PEM_VA, &I062_V1_20_390_PEM_MODE3A, NULL }; static const AsterixField I062_V1_20_390_PEM = { FIXED, 2, 0, 0, &hf_062_V1_20_390_PEM, I062_V1_20_390_PEM_PARTS, { NULL } }; static int hf_062_V1_20_390_PEC; static int hf_062_V1_20_390_PEC_VALUE; static const FieldPart I062_V1_20_390_PEC_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_V1_20_390_PEC_VALUE, NULL }; static const FieldPart *I062_V1_20_390_PEC_PARTS[] = { &I062_V1_20_390_PEC_VALUE, NULL }; static const AsterixField I062_V1_20_390_PEC = { FIXED, 7, 0, 0, &hf_062_V1_20_390_PEC, I062_V1_20_390_PEC_PARTS, { NULL } }; static const AsterixField I062_V1_20_390 = { COMPOUND, 0, 0, 0, &hf_062_V1_20_390, NULL, { &I062_V1_20_390_TAG, &I062_V1_20_390_CS, &I062_V1_20_390_IFI, &I062_V1_20_390_FCT, &I062_V1_20_390_TAC, &I062_V1_20_390_WTC, &I062_V1_20_390_DEP, &I062_V1_20_390_DST, &I062_V1_20_390_RDS, &I062_V1_20_390_CFL, &I062_V1_20_390_CTL, &I062_V1_20_390_TOD, &I062_V1_20_390_AST, &I062_V1_20_390_STS, &I062_V1_20_390_STD, &I062_V1_20_390_STA, &I062_V1_20_390_PEM, &I062_V1_20_390_PEC, NULL } }; static int hf_062_V1_20_500; static int hf_062_V1_20_500_APC; static int hf_062_V1_20_500_APC_X; static const FieldPart I062_V1_20_500_APC_X = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_20_500_APC_X, NULL }; static int hf_062_V1_20_500_APC_Y; static const FieldPart I062_V1_20_500_APC_Y = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_V1_20_500_APC_Y, NULL }; static const FieldPart *I062_V1_20_500_APC_PARTS[] = { &I062_V1_20_500_APC_X, &I062_V1_20_500_APC_Y, NULL }; static const AsterixField I062_V1_20_500_APC = { FIXED, 4, 0, 0, &hf_062_V1_20_500_APC, I062_V1_20_500_APC_PARTS, { NULL } }; static int hf_062_V1_20_500_COV; static int hf_062_V1_20_500_COV_VALUE; static const FieldPart I062_V1_20_500_COV_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_062_V1_20_500_COV_VALUE, NULL }; static const FieldPart *I062_V1_20_500_COV_PARTS[] = { &I062_V1_20_500_COV_VALUE, NULL }; static const AsterixField I062_V1_20_500_COV = { FIXED, 2, 0, 0, &hf_062_V1_20_500_COV, I062_V1_20_500_COV_PARTS, { NULL } }; static int hf_062_V1_20_500_APW; static int hf_062_V1_20_500_APW_LAT; static const FieldPart I062_V1_20_500_APW_LAT = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_20_500_APW_LAT, NULL }; static int hf_062_V1_20_500_APW_LON; static const FieldPart I062_V1_20_500_APW_LON = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_V1_20_500_APW_LON, NULL }; static const FieldPart *I062_V1_20_500_APW_PARTS[] = { &I062_V1_20_500_APW_LAT, &I062_V1_20_500_APW_LON, NULL }; static const AsterixField I062_V1_20_500_APW = { FIXED, 4, 0, 0, &hf_062_V1_20_500_APW, I062_V1_20_500_APW_PARTS, { NULL } }; static int hf_062_V1_20_500_AGA; static int hf_062_V1_20_500_AGA_VALUE; static const FieldPart I062_V1_20_500_AGA_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_20_500_AGA_VALUE, NULL }; static const FieldPart *I062_V1_20_500_AGA_PARTS[] = { &I062_V1_20_500_AGA_VALUE, NULL }; static const AsterixField I062_V1_20_500_AGA = { FIXED, 1, 0, 0, &hf_062_V1_20_500_AGA, I062_V1_20_500_AGA_PARTS, { NULL } }; static int hf_062_V1_20_500_ABA; static int hf_062_V1_20_500_ABA_VALUE; static const FieldPart I062_V1_20_500_ABA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_500_ABA_VALUE, NULL }; static const FieldPart *I062_V1_20_500_ABA_PARTS[] = { &I062_V1_20_500_ABA_VALUE, NULL }; static const AsterixField I062_V1_20_500_ABA = { FIXED, 1, 0, 0, &hf_062_V1_20_500_ABA, I062_V1_20_500_ABA_PARTS, { NULL } }; static int hf_062_V1_20_500_ATV; static int hf_062_V1_20_500_ATV_X; static const FieldPart I062_V1_20_500_ATV_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_500_ATV_X, NULL }; static int hf_062_V1_20_500_ATV_Y; static const FieldPart I062_V1_20_500_ATV_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_500_ATV_Y, NULL }; static const FieldPart *I062_V1_20_500_ATV_PARTS[] = { &I062_V1_20_500_ATV_X, &I062_V1_20_500_ATV_Y, NULL }; static const AsterixField I062_V1_20_500_ATV = { FIXED, 2, 0, 0, &hf_062_V1_20_500_ATV, I062_V1_20_500_ATV_PARTS, { NULL } }; static int hf_062_V1_20_500_AA; static int hf_062_V1_20_500_AA_X; static const FieldPart I062_V1_20_500_AA_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_500_AA_X, NULL }; static int hf_062_V1_20_500_AA_Y; static const FieldPart I062_V1_20_500_AA_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_V1_20_500_AA_Y, NULL }; static const FieldPart *I062_V1_20_500_AA_PARTS[] = { &I062_V1_20_500_AA_X, &I062_V1_20_500_AA_Y, NULL }; static const AsterixField I062_V1_20_500_AA = { FIXED, 2, 0, 0, &hf_062_V1_20_500_AA, I062_V1_20_500_AA_PARTS, { NULL } }; static int hf_062_V1_20_500_ARC; static int hf_062_V1_20_500_ARC_VALUE; static const FieldPart I062_V1_20_500_ARC_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_V1_20_500_ARC_VALUE, NULL }; static const FieldPart *I062_V1_20_500_ARC_PARTS[] = { &I062_V1_20_500_ARC_VALUE, NULL }; static const AsterixField I062_V1_20_500_ARC = { FIXED, 1, 0, 0, &hf_062_V1_20_500_ARC, I062_V1_20_500_ARC_PARTS, { NULL } }; static const AsterixField I062_V1_20_500 = { COMPOUND, 0, 0, 0, &hf_062_V1_20_500, NULL, { &I062_V1_20_500_APC, &I062_V1_20_500_COV, &I062_V1_20_500_APW, &I062_V1_20_500_AGA, &I062_V1_20_500_ABA, &I062_V1_20_500_ATV, &I062_V1_20_500_AA, &I062_V1_20_500_ARC, NULL } }; static int hf_062_V1_20_510; static int hf_062_V1_20_510_MIDENT; static const FieldPart I062_V1_20_510_MIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_510_MIDENT, NULL }; static int hf_062_V1_20_510_MTRACK; static const FieldPart I062_V1_20_510_MTRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_20_510_MTRACK, NULL }; static int hf_062_V1_20_510_SIDENT; static const FieldPart I062_V1_20_510_SIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_V1_20_510_SIDENT, NULL }; static int hf_062_V1_20_510_STRACK; static const FieldPart I062_V1_20_510_STRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_V1_20_510_STRACK, NULL }; static const FieldPart *I062_V1_20_510_PARTS[] = { &I062_V1_20_510_MIDENT, &I062_V1_20_510_MTRACK, &IXXX_FX, &I062_V1_20_510_SIDENT, &I062_V1_20_510_STRACK, &IXXX_FX, NULL }; static const AsterixField I062_V1_20_510 = { FX, 3, 0, 0, &hf_062_V1_20_510, I062_V1_20_510_PARTS, { NULL } }; static int hf_062_V1_20_RE; static const AsterixField I062_V1_20_RE = { EXP, 0, 0, 1, &hf_062_V1_20_RE, NULL, { NULL } }; static int hf_062_V1_20_SP; static const AsterixField I062_V1_20_SP = { EXP, 0, 0, 1, &hf_062_V1_20_SP, NULL, { NULL } }; /* Category 062, edition 1.20 (latest) */ static int hf_062_010; static int hf_062_010_SAC; static const FieldPart I062_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_010_SAC, NULL }; static int hf_062_010_SIC; static const FieldPart I062_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_010_SIC, NULL }; static const FieldPart *I062_010_PARTS[] = { &I062_010_SAC, &I062_010_SIC, NULL }; static const AsterixField I062_010 = { FIXED, 2, 0, 0, &hf_062_010, I062_010_PARTS, { NULL } }; static int hf_062_015; static int hf_062_015_VALUE; static const FieldPart I062_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_015_VALUE, NULL }; static const FieldPart *I062_015_PARTS[] = { &I062_015_VALUE, NULL }; static const AsterixField I062_015 = { FIXED, 1, 0, 0, &hf_062_015, I062_015_PARTS, { NULL } }; static int hf_062_040; static int hf_062_040_VALUE; static const FieldPart I062_040_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_062_040_VALUE, NULL }; static const FieldPart *I062_040_PARTS[] = { &I062_040_VALUE, NULL }; static const AsterixField I062_040 = { FIXED, 2, 0, 0, &hf_062_040, I062_040_PARTS, { NULL } }; static int hf_062_060; static int hf_062_060_V; static const value_string valstr_062_060_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_060_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_060_V, NULL }; static int hf_062_060_G; static const value_string valstr_062_060_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_060_G, NULL }; static int hf_062_060_CH; static const value_string valstr_062_060_CH[] = { { 0, "No change" }, { 1, "Mode 3/A has changed" }, { 0, NULL } }; static const FieldPart I062_060_CH = { 1, 1.0, FIELD_PART_UINT, &hf_062_060_CH, NULL }; static int hf_062_060_MODE3A; static const FieldPart I062_060_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_060_MODE3A, NULL }; static const FieldPart *I062_060_PARTS[] = { &I062_060_V, &I062_060_G, &I062_060_CH, &IXXX_1bit_spare, &I062_060_MODE3A, NULL }; static const AsterixField I062_060 = { FIXED, 2, 0, 0, &hf_062_060, I062_060_PARTS, { NULL } }; static int hf_062_070; static int hf_062_070_VALUE; static const FieldPart I062_070_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_062_070_VALUE, NULL }; static const FieldPart *I062_070_PARTS[] = { &I062_070_VALUE, NULL }; static const AsterixField I062_070 = { FIXED, 3, 0, 0, &hf_062_070, I062_070_PARTS, { NULL } }; static int hf_062_080; static int hf_062_080_MON; static const value_string valstr_062_080_MON[] = { { 0, "Multisensor track" }, { 1, "Monosensor track" }, { 0, NULL } }; static const FieldPart I062_080_MON = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MON, NULL }; static int hf_062_080_SPI; static const value_string valstr_062_080_SPI[] = { { 0, "Default value" }, { 1, "SPI present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_080_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SPI, NULL }; static int hf_062_080_MRH; static const value_string valstr_062_080_MRH[] = { { 0, "Barometric altitude (Mode C) more reliable" }, { 1, "Geometric altitude more reliable" }, { 0, NULL } }; static const FieldPart I062_080_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MRH, NULL }; static int hf_062_080_SRC; static const value_string valstr_062_080_SRC[] = { { 0, "No source" }, { 1, "GNSS" }, { 2, "3D radar" }, { 3, "Triangulation" }, { 4, "Height from coverage" }, { 5, "Speed look-up table" }, { 6, "Default height" }, { 7, "Multilateration" }, { 0, NULL } }; static const FieldPart I062_080_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_062_080_SRC, NULL }; static int hf_062_080_CNF; static const value_string valstr_062_080_CNF[] = { { 0, "Confirmed track" }, { 1, "Tentative track" }, { 0, NULL } }; static const FieldPart I062_080_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_CNF, NULL }; static int hf_062_080_SIM; static const value_string valstr_062_080_SIM[] = { { 0, "Actual track" }, { 1, "Simulated track" }, { 0, NULL } }; static const FieldPart I062_080_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SIM, NULL }; static int hf_062_080_TSE; static const value_string valstr_062_080_TSE[] = { { 0, "Default value" }, { 1, "Last message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_080_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_TSE, NULL }; static int hf_062_080_TSB; static const value_string valstr_062_080_TSB[] = { { 0, "Default value" }, { 1, "First message transmitted to the user for the track" }, { 0, NULL } }; static const FieldPart I062_080_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_TSB, NULL }; static int hf_062_080_FPC; static const value_string valstr_062_080_FPC[] = { { 0, "Not flight-plan correlated" }, { 1, "Flight plan correlated" }, { 0, NULL } }; static const FieldPart I062_080_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_FPC, NULL }; static int hf_062_080_AFF; static const value_string valstr_062_080_AFF[] = { { 0, "Default value" }, { 1, "ADS-B data inconsistent with other surveillance information" }, { 0, NULL } }; static const FieldPart I062_080_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_AFF, NULL }; static int hf_062_080_STP; static const value_string valstr_062_080_STP[] = { { 0, "Default value" }, { 1, "Slave Track Promotion" }, { 0, NULL } }; static const FieldPart I062_080_STP = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_STP, NULL }; static int hf_062_080_KOS; static const value_string valstr_062_080_KOS[] = { { 0, "Complementary service used" }, { 1, "Background service used" }, { 0, NULL } }; static const FieldPart I062_080_KOS = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_KOS, NULL }; static int hf_062_080_AMA; static const value_string valstr_062_080_AMA[] = { { 0, "Track not resulting from amalgamation process" }, { 1, "Track resulting from amalgamation process" }, { 0, NULL } }; static const FieldPart I062_080_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_AMA, NULL }; static int hf_062_080_MD4; static const value_string valstr_062_080_MD4[] = { { 0, "No Mode 4 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_080_MD4 = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_MD4, NULL }; static int hf_062_080_ME; static const value_string valstr_062_080_ME[] = { { 0, "Default value" }, { 1, "Military Emergency present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_080_ME = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_ME, NULL }; static int hf_062_080_MI; static const value_string valstr_062_080_MI[] = { { 0, "Default value" }, { 1, "Military Identification present in the last report received from a sensor capable of decoding this data" }, { 0, NULL } }; static const FieldPart I062_080_MI = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MI, NULL }; static int hf_062_080_MD5; static const value_string valstr_062_080_MD5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Friendly target" }, { 2, "Unknown target" }, { 3, "No reply" }, { 0, NULL } }; static const FieldPart I062_080_MD5 = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_MD5, NULL }; static int hf_062_080_CST; static const value_string valstr_062_080_CST[] = { { 0, "Default value" }, { 1, "Age of the last received track update is higher than system dependent threshold (coasting)" }, { 0, NULL } }; static const FieldPart I062_080_CST = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_CST, NULL }; static int hf_062_080_PSR; static const value_string valstr_062_080_PSR[] = { { 0, "Default value" }, { 1, "Age of the last received PSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_080_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_PSR, NULL }; static int hf_062_080_SSR; static const value_string valstr_062_080_SSR[] = { { 0, "Default value" }, { 1, "Age of the last received SSR track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_080_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SSR, NULL }; static int hf_062_080_MDS; static const value_string valstr_062_080_MDS[] = { { 0, "Default value" }, { 1, "Age of the last received Mode S track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_080_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MDS, NULL }; static int hf_062_080_ADS; static const value_string valstr_062_080_ADS[] = { { 0, "Default value" }, { 1, "Age of the last received ADS-B track update is higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_080_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_ADS, NULL }; static int hf_062_080_SUC; static const value_string valstr_062_080_SUC[] = { { 0, "Default value" }, { 1, "Special Used Code (Mode A codes to be defined in the system to mark a track with special interest)" }, { 0, NULL } }; static const FieldPart I062_080_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SUC, NULL }; static int hf_062_080_AAC; static const value_string valstr_062_080_AAC[] = { { 0, "Default value" }, { 1, "Assigned Mode A Code Conflict (same discrete Mode A Code assigned to another track)" }, { 0, NULL } }; static const FieldPart I062_080_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_AAC, NULL }; static int hf_062_080_SDS; static const value_string valstr_062_080_SDS[] = { { 0, "Combined" }, { 1, "Co-operative only" }, { 2, "Non-Cooperative only" }, { 3, "Not defined" }, { 0, NULL } }; static const FieldPart I062_080_SDS = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_SDS, NULL }; static int hf_062_080_EMS; static const value_string valstr_062_080_EMS[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Undefined" }, { 0, NULL } }; static const FieldPart I062_080_EMS = { 3, 1.0, FIELD_PART_UINT, &hf_062_080_EMS, NULL }; static int hf_062_080_PFT; static const value_string valstr_062_080_PFT[] = { { 0, "No indication" }, { 1, "Potential False Track Indication" }, { 0, NULL } }; static const FieldPart I062_080_PFT = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_PFT, NULL }; static int hf_062_080_FPLT; static const value_string valstr_062_080_FPLT[] = { { 0, "Default value" }, { 1, "Track created / updated with FPL data" }, { 0, NULL } }; static const FieldPart I062_080_FPLT = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_FPLT, NULL }; static int hf_062_080_DUPT; static const value_string valstr_062_080_DUPT[] = { { 0, "Default value" }, { 1, "Duplicate Mode 3/A Code" }, { 0, NULL } }; static const FieldPart I062_080_DUPT = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_DUPT, NULL }; static int hf_062_080_DUPF; static const value_string valstr_062_080_DUPF[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan" }, { 0, NULL } }; static const FieldPart I062_080_DUPF = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_DUPF, NULL }; static int hf_062_080_DUPM; static const value_string valstr_062_080_DUPM[] = { { 0, "Default value" }, { 1, "Duplicate Flight Plan due to manual correlation" }, { 0, NULL } }; static const FieldPart I062_080_DUPM = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_DUPM, NULL }; static int hf_062_080_SFC; static const value_string valstr_062_080_SFC[] = { { 0, "Default value" }, { 1, "Surface target" }, { 0, NULL } }; static const FieldPart I062_080_SFC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SFC, NULL }; static int hf_062_080_IDD; static const value_string valstr_062_080_IDD[] = { { 0, "No indication" }, { 1, "Duplicate Flight-ID" }, { 0, NULL } }; static const FieldPart I062_080_IDD = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_IDD, NULL }; static int hf_062_080_IEC; static const value_string valstr_062_080_IEC[] = { { 0, "Default value" }, { 1, "Inconsistent Emergency Code" }, { 0, NULL } }; static const FieldPart I062_080_IEC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_IEC, NULL }; static int hf_062_080_MLAT; static const value_string valstr_062_080_MLAT[] = { { 0, "Default value" }, { 1, "Age of the last received MLAT track updateis higher than system dependent threshold" }, { 0, NULL } }; static const FieldPart I062_080_MLAT = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MLAT, NULL }; static const FieldPart *I062_080_PARTS[] = { &I062_080_MON, &I062_080_SPI, &I062_080_MRH, &I062_080_SRC, &I062_080_CNF, &IXXX_FX, &I062_080_SIM, &I062_080_TSE, &I062_080_TSB, &I062_080_FPC, &I062_080_AFF, &I062_080_STP, &I062_080_KOS, &IXXX_FX, &I062_080_AMA, &I062_080_MD4, &I062_080_ME, &I062_080_MI, &I062_080_MD5, &IXXX_FX, &I062_080_CST, &I062_080_PSR, &I062_080_SSR, &I062_080_MDS, &I062_080_ADS, &I062_080_SUC, &I062_080_AAC, &IXXX_FX, &I062_080_SDS, &I062_080_EMS, &I062_080_PFT, &I062_080_FPLT, &IXXX_FX, &I062_080_DUPT, &I062_080_DUPF, &I062_080_DUPM, &I062_080_SFC, &I062_080_IDD, &I062_080_IEC, &I062_080_MLAT, &IXXX_FX, NULL }; static const AsterixField I062_080 = { FX, 1, 0, 0, &hf_062_080, I062_080_PARTS, { NULL } }; static int hf_062_100; static int hf_062_100_X; static const FieldPart I062_100_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_100_X, NULL }; static int hf_062_100_Y; static const FieldPart I062_100_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_062_100_Y, NULL }; static const FieldPart *I062_100_PARTS[] = { &I062_100_X, &I062_100_Y, NULL }; static const AsterixField I062_100 = { FIXED, 6, 0, 0, &hf_062_100, I062_100_PARTS, { NULL } }; static int hf_062_105; static int hf_062_105_LAT; static const FieldPart I062_105_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_105_LAT, NULL }; static int hf_062_105_LON; static const FieldPart I062_105_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_062_105_LON, NULL }; static const FieldPart *I062_105_PARTS[] = { &I062_105_LAT, &I062_105_LON, NULL }; static const AsterixField I062_105 = { FIXED, 8, 0, 0, &hf_062_105, I062_105_PARTS, { NULL } }; static int hf_062_110; static int hf_062_110_SUM; static int hf_062_110_SUM_M5; static const value_string valstr_062_110_SUM_M5[] = { { 0, "No Mode 5 interrogation" }, { 1, "Mode 5 interrogation" }, { 0, NULL } }; static const FieldPart I062_110_SUM_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_M5, NULL }; static int hf_062_110_SUM_ID; static const value_string valstr_062_110_SUM_ID[] = { { 0, "No authenticated Mode 5 ID reply" }, { 1, "Authenticated Mode 5 ID reply" }, { 0, NULL } }; static const FieldPart I062_110_SUM_ID = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_ID, NULL }; static int hf_062_110_SUM_DA; static const value_string valstr_062_110_SUM_DA[] = { { 0, "No authenticated Mode 5 Data reply or Report" }, { 1, "Authenticated Mode 5 Data reply or Report (i.e any valid Mode 5 reply type other than ID)" }, { 0, NULL } }; static const FieldPart I062_110_SUM_DA = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_DA, NULL }; static int hf_062_110_SUM_M1; static const value_string valstr_062_110_SUM_M1[] = { { 0, "Mode 1 code not present or not from Mode 5 reply" }, { 1, "Mode 1 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_110_SUM_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_M1, NULL }; static int hf_062_110_SUM_M2; static const value_string valstr_062_110_SUM_M2[] = { { 0, "Mode 2 code not present or not from Mode 5 reply" }, { 1, "Mode 2 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_110_SUM_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_M2, NULL }; static int hf_062_110_SUM_M3; static const value_string valstr_062_110_SUM_M3[] = { { 0, "Mode 3 code not present or not from Mode 5 reply" }, { 1, "Mode 3 code from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_110_SUM_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_M3, NULL }; static int hf_062_110_SUM_MC; static const value_string valstr_062_110_SUM_MC[] = { { 0, "Mode C altitude code not present or not from Mode 5 reply" }, { 1, "Mode C altitude from Mode 5 reply" }, { 0, NULL } }; static const FieldPart I062_110_SUM_MC = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_MC, NULL }; static int hf_062_110_SUM_X; static const value_string valstr_062_110_SUM_X[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one" }, { 0, NULL } }; static const FieldPart I062_110_SUM_X = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_SUM_X, NULL }; static const FieldPart *I062_110_SUM_PARTS[] = { &I062_110_SUM_M5, &I062_110_SUM_ID, &I062_110_SUM_DA, &I062_110_SUM_M1, &I062_110_SUM_M2, &I062_110_SUM_M3, &I062_110_SUM_MC, &I062_110_SUM_X, NULL }; static const AsterixField I062_110_SUM = { FIXED, 1, 0, 0, &hf_062_110_SUM, I062_110_SUM_PARTS, { NULL } }; static int hf_062_110_PMN; static int hf_062_110_PMN_PIN; static const FieldPart I062_110_PMN_PIN = { 14, 1.0, FIELD_PART_HEX, &hf_062_110_PMN_PIN, NULL }; static int hf_062_110_PMN_NAT; static const FieldPart I062_110_PMN_NAT = { 5, 1.0, FIELD_PART_HEX, &hf_062_110_PMN_NAT, NULL }; static int hf_062_110_PMN_MIS; static const FieldPart I062_110_PMN_MIS = { 6, 1.0, FIELD_PART_HEX, &hf_062_110_PMN_MIS, NULL }; static const FieldPart *I062_110_PMN_PARTS[] = { &IXXX_2bit_spare, &I062_110_PMN_PIN, &IXXX_3bit_spare, &I062_110_PMN_NAT, &IXXX_2bit_spare, &I062_110_PMN_MIS, NULL }; static const AsterixField I062_110_PMN = { FIXED, 4, 0, 0, &hf_062_110_PMN, I062_110_PMN_PARTS, { NULL } }; static int hf_062_110_POS; static int hf_062_110_POS_LAT; static const FieldPart I062_110_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_110_POS_LAT, NULL }; static int hf_062_110_POS_LON; static const FieldPart I062_110_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_110_POS_LON, NULL }; static const FieldPart *I062_110_POS_PARTS[] = { &I062_110_POS_LAT, &I062_110_POS_LON, NULL }; static const AsterixField I062_110_POS = { FIXED, 6, 0, 0, &hf_062_110_POS, I062_110_POS_PARTS, { NULL } }; static int hf_062_110_GA; static int hf_062_110_GA_RES; static const value_string valstr_062_110_GA_RES[] = { { 0, "GA reported in 100 ft increments" }, { 1, "GA reported in 25 ft increments" }, { 0, NULL } }; static const FieldPart I062_110_GA_RES = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_GA_RES, NULL }; static int hf_062_110_GA_GA; static const FieldPart I062_110_GA_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_062_110_GA_GA, NULL }; static const FieldPart *I062_110_GA_PARTS[] = { &IXXX_1bit_spare, &I062_110_GA_RES, &I062_110_GA_GA, NULL }; static const AsterixField I062_110_GA = { FIXED, 2, 0, 0, &hf_062_110_GA, I062_110_GA_PARTS, { NULL } }; static int hf_062_110_EM1; static int hf_062_110_EM1_EM1; static const FieldPart I062_110_EM1_EM1 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_110_EM1_EM1, NULL }; static const FieldPart *I062_110_EM1_PARTS[] = { &IXXX_4bit_spare, &I062_110_EM1_EM1, NULL }; static const AsterixField I062_110_EM1 = { FIXED, 2, 0, 0, &hf_062_110_EM1, I062_110_EM1_PARTS, { NULL } }; static int hf_062_110_TOS; static int hf_062_110_TOS_VALUE; static const FieldPart I062_110_TOS_VALUE = { 8, 0.0078125, FIELD_PART_FLOAT, &hf_062_110_TOS_VALUE, NULL }; static const FieldPart *I062_110_TOS_PARTS[] = { &I062_110_TOS_VALUE, NULL }; static const AsterixField I062_110_TOS = { FIXED, 1, 0, 0, &hf_062_110_TOS, I062_110_TOS_PARTS, { NULL } }; static int hf_062_110_XP; static int hf_062_110_XP_X5; static const value_string valstr_062_110_XP_X5[] = { { 0, "X-pulse set to zero or no authenticated Data reply or Report received" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_110_XP_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_XP_X5, NULL }; static int hf_062_110_XP_XC; static const value_string valstr_062_110_XP_XC[] = { { 0, "X-pulse set to zero or no Mode C reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_110_XP_XC = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_XP_XC, NULL }; static int hf_062_110_XP_X3; static const value_string valstr_062_110_XP_X3[] = { { 0, "X-pulse set to zero or no Mode 3/A reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_110_XP_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_XP_X3, NULL }; static int hf_062_110_XP_X2; static const value_string valstr_062_110_XP_X2[] = { { 0, "X-pulse set to zero or no Mode 2 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_110_XP_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_XP_X2, NULL }; static int hf_062_110_XP_X1; static const value_string valstr_062_110_XP_X1[] = { { 0, "X-pulse set to zero or no Mode 1 reply" }, { 1, "X-pulse set to one (present)" }, { 0, NULL } }; static const FieldPart I062_110_XP_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_XP_X1, NULL }; static const FieldPart *I062_110_XP_PARTS[] = { &IXXX_3bit_spare, &I062_110_XP_X5, &I062_110_XP_XC, &I062_110_XP_X3, &I062_110_XP_X2, &I062_110_XP_X1, NULL }; static const AsterixField I062_110_XP = { FIXED, 1, 0, 0, &hf_062_110_XP, I062_110_XP_PARTS, { NULL } }; static const AsterixField I062_110 = { COMPOUND, 0, 0, 0, &hf_062_110, NULL, { &I062_110_SUM, &I062_110_PMN, &I062_110_POS, &I062_110_GA, &I062_110_EM1, &I062_110_TOS, &I062_110_XP, NULL } }; static int hf_062_120; static int hf_062_120_MODE2; static const FieldPart I062_120_MODE2 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_120_MODE2, NULL }; static const FieldPart *I062_120_PARTS[] = { &IXXX_4bit_spare, &I062_120_MODE2, NULL }; static const AsterixField I062_120 = { FIXED, 2, 0, 0, &hf_062_120, I062_120_PARTS, { NULL } }; static int hf_062_130; static int hf_062_130_VALUE; static const FieldPart I062_130_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_130_VALUE, NULL }; static const FieldPart *I062_130_PARTS[] = { &I062_130_VALUE, NULL }; static const AsterixField I062_130 = { FIXED, 2, 0, 0, &hf_062_130, I062_130_PARTS, { NULL } }; static int hf_062_135; static int hf_062_135_QNH; static const value_string valstr_062_135_QNH[] = { { 0, "No QNH correction applied" }, { 1, "QNH correction applied" }, { 0, NULL } }; static const FieldPart I062_135_QNH = { 1, 1.0, FIELD_PART_UINT, &hf_062_135_QNH, NULL }; static int hf_062_135_CTB; static const FieldPart I062_135_CTB = { 15, 0.25, FIELD_PART_FLOAT, &hf_062_135_CTB, NULL }; static const FieldPart *I062_135_PARTS[] = { &I062_135_QNH, &I062_135_CTB, NULL }; static const AsterixField I062_135 = { FIXED, 2, 0, 0, &hf_062_135, I062_135_PARTS, { NULL } }; static int hf_062_136; static int hf_062_136_VALUE; static const FieldPart I062_136_VALUE = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_136_VALUE, NULL }; static const FieldPart *I062_136_PARTS[] = { &I062_136_VALUE, NULL }; static const AsterixField I062_136 = { FIXED, 2, 0, 0, &hf_062_136, I062_136_PARTS, { NULL } }; static int hf_062_185; static int hf_062_185_VX; static const FieldPart I062_185_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_185_VX, NULL }; static int hf_062_185_VY; static const FieldPart I062_185_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_185_VY, NULL }; static const FieldPart *I062_185_PARTS[] = { &I062_185_VX, &I062_185_VY, NULL }; static const AsterixField I062_185 = { FIXED, 4, 0, 0, &hf_062_185, I062_185_PARTS, { NULL } }; static int hf_062_200; static int hf_062_200_TRANS; static const value_string valstr_062_200_TRANS[] = { { 0, "Constant course" }, { 1, "Right turn" }, { 2, "Left turn" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_200_TRANS = { 2, 1.0, FIELD_PART_UINT, &hf_062_200_TRANS, NULL }; static int hf_062_200_LONG; static const value_string valstr_062_200_LONG[] = { { 0, "Constant groundspeed" }, { 1, "Increasing groundspeed" }, { 2, "Decreasing groundspeed" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_200_LONG = { 2, 1.0, FIELD_PART_UINT, &hf_062_200_LONG, NULL }; static int hf_062_200_VERT; static const value_string valstr_062_200_VERT[] = { { 0, "Level" }, { 1, "Climb" }, { 2, "Descent" }, { 3, "Undetermined" }, { 0, NULL } }; static const FieldPart I062_200_VERT = { 2, 1.0, FIELD_PART_UINT, &hf_062_200_VERT, NULL }; static int hf_062_200_ADF; static const value_string valstr_062_200_ADF[] = { { 0, "No altitude discrepancy" }, { 1, "Altitude discrepancy" }, { 0, NULL } }; static const FieldPart I062_200_ADF = { 1, 1.0, FIELD_PART_UINT, &hf_062_200_ADF, NULL }; static const FieldPart *I062_200_PARTS[] = { &I062_200_TRANS, &I062_200_LONG, &I062_200_VERT, &I062_200_ADF, &IXXX_1bit_spare, NULL }; static const AsterixField I062_200 = { FIXED, 1, 0, 0, &hf_062_200, I062_200_PARTS, { NULL } }; static int hf_062_210; static int hf_062_210_AX; static const FieldPart I062_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_210_AX, NULL }; static int hf_062_210_AY; static const FieldPart I062_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_062_210_AY, NULL }; static const FieldPart *I062_210_PARTS[] = { &I062_210_AX, &I062_210_AY, NULL }; static const AsterixField I062_210 = { FIXED, 2, 0, 0, &hf_062_210, I062_210_PARTS, { NULL } }; static int hf_062_220; static int hf_062_220_VALUE; static const FieldPart I062_220_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_220_VALUE, NULL }; static const FieldPart *I062_220_PARTS[] = { &I062_220_VALUE, NULL }; static const AsterixField I062_220 = { FIXED, 2, 0, 0, &hf_062_220, I062_220_PARTS, { NULL } }; static int hf_062_245; static int hf_062_245_STI; static const value_string valstr_062_245_STI[] = { { 0, "Callsign or registration downlinked from target" }, { 1, "Callsign not downlinked from target" }, { 2, "Registration not downlinked from target" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_062_245_STI, NULL }; static int hf_062_245_CHR; static const FieldPart I062_245_CHR = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_245_CHR, NULL }; static const FieldPart *I062_245_PARTS[] = { &I062_245_STI, &IXXX_6bit_spare, &I062_245_CHR, NULL }; static const AsterixField I062_245 = { FIXED, 7, 0, 0, &hf_062_245, I062_245_PARTS, { NULL } }; static int hf_062_270; static int hf_062_270_LENGTH; static const FieldPart I062_270_LENGTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_270_LENGTH, NULL }; static int hf_062_270_ORIENTATION; static const FieldPart I062_270_ORIENTATION = { 7, 2.8125, FIELD_PART_UFLOAT, &hf_062_270_ORIENTATION, NULL }; static int hf_062_270_WIDTH; static const FieldPart I062_270_WIDTH = { 7, 1.0, FIELD_PART_UFLOAT, &hf_062_270_WIDTH, NULL }; static const FieldPart *I062_270_PARTS[] = { &I062_270_LENGTH, &IXXX_FX, &I062_270_ORIENTATION, &IXXX_FX, &I062_270_WIDTH, &IXXX_FX, NULL }; static const AsterixField I062_270 = { FX, 1, 0, 0, &hf_062_270, I062_270_PARTS, { NULL } }; static int hf_062_290; static int hf_062_290_TRK; static int hf_062_290_TRK_VALUE; static const FieldPart I062_290_TRK_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_TRK_VALUE, NULL }; static const FieldPart *I062_290_TRK_PARTS[] = { &I062_290_TRK_VALUE, NULL }; static const AsterixField I062_290_TRK = { FIXED, 1, 0, 0, &hf_062_290_TRK, I062_290_TRK_PARTS, { NULL } }; static int hf_062_290_PSR; static int hf_062_290_PSR_VALUE; static const FieldPart I062_290_PSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_PSR_VALUE, NULL }; static const FieldPart *I062_290_PSR_PARTS[] = { &I062_290_PSR_VALUE, NULL }; static const AsterixField I062_290_PSR = { FIXED, 1, 0, 0, &hf_062_290_PSR, I062_290_PSR_PARTS, { NULL } }; static int hf_062_290_SSR; static int hf_062_290_SSR_VALUE; static const FieldPart I062_290_SSR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_SSR_VALUE, NULL }; static const FieldPart *I062_290_SSR_PARTS[] = { &I062_290_SSR_VALUE, NULL }; static const AsterixField I062_290_SSR = { FIXED, 1, 0, 0, &hf_062_290_SSR, I062_290_SSR_PARTS, { NULL } }; static int hf_062_290_MDS; static int hf_062_290_MDS_VALUE; static const FieldPart I062_290_MDS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_MDS_VALUE, NULL }; static const FieldPart *I062_290_MDS_PARTS[] = { &I062_290_MDS_VALUE, NULL }; static const AsterixField I062_290_MDS = { FIXED, 1, 0, 0, &hf_062_290_MDS, I062_290_MDS_PARTS, { NULL } }; static int hf_062_290_ADS; static int hf_062_290_ADS_VALUE; static const FieldPart I062_290_ADS_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_290_ADS_VALUE, NULL }; static const FieldPart *I062_290_ADS_PARTS[] = { &I062_290_ADS_VALUE, NULL }; static const AsterixField I062_290_ADS = { FIXED, 2, 0, 0, &hf_062_290_ADS, I062_290_ADS_PARTS, { NULL } }; static int hf_062_290_ES; static int hf_062_290_ES_VALUE; static const FieldPart I062_290_ES_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_ES_VALUE, NULL }; static const FieldPart *I062_290_ES_PARTS[] = { &I062_290_ES_VALUE, NULL }; static const AsterixField I062_290_ES = { FIXED, 1, 0, 0, &hf_062_290_ES, I062_290_ES_PARTS, { NULL } }; static int hf_062_290_VDL; static int hf_062_290_VDL_VALUE; static const FieldPart I062_290_VDL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_VDL_VALUE, NULL }; static const FieldPart *I062_290_VDL_PARTS[] = { &I062_290_VDL_VALUE, NULL }; static const AsterixField I062_290_VDL = { FIXED, 1, 0, 0, &hf_062_290_VDL, I062_290_VDL_PARTS, { NULL } }; static int hf_062_290_UAT; static int hf_062_290_UAT_VALUE; static const FieldPart I062_290_UAT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_UAT_VALUE, NULL }; static const FieldPart *I062_290_UAT_PARTS[] = { &I062_290_UAT_VALUE, NULL }; static const AsterixField I062_290_UAT = { FIXED, 1, 0, 0, &hf_062_290_UAT, I062_290_UAT_PARTS, { NULL } }; static int hf_062_290_LOP; static int hf_062_290_LOP_VALUE; static const FieldPart I062_290_LOP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_LOP_VALUE, NULL }; static const FieldPart *I062_290_LOP_PARTS[] = { &I062_290_LOP_VALUE, NULL }; static const AsterixField I062_290_LOP = { FIXED, 1, 0, 0, &hf_062_290_LOP, I062_290_LOP_PARTS, { NULL } }; static int hf_062_290_MLT; static int hf_062_290_MLT_VALUE; static const FieldPart I062_290_MLT_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_MLT_VALUE, NULL }; static const FieldPart *I062_290_MLT_PARTS[] = { &I062_290_MLT_VALUE, NULL }; static const AsterixField I062_290_MLT = { FIXED, 1, 0, 0, &hf_062_290_MLT, I062_290_MLT_PARTS, { NULL } }; static const AsterixField I062_290 = { COMPOUND, 0, 0, 0, &hf_062_290, NULL, { &I062_290_TRK, &I062_290_PSR, &I062_290_SSR, &I062_290_MDS, &I062_290_ADS, &I062_290_ES, &I062_290_VDL, &I062_290_UAT, &I062_290_LOP, &I062_290_MLT, NULL } }; static int hf_062_295; static int hf_062_295_MFL; static int hf_062_295_MFL_VALUE; static const FieldPart I062_295_MFL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MFL_VALUE, NULL }; static const FieldPart *I062_295_MFL_PARTS[] = { &I062_295_MFL_VALUE, NULL }; static const AsterixField I062_295_MFL = { FIXED, 1, 0, 0, &hf_062_295_MFL, I062_295_MFL_PARTS, { NULL } }; static int hf_062_295_MD1; static int hf_062_295_MD1_VALUE; static const FieldPart I062_295_MD1_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MD1_VALUE, NULL }; static const FieldPart *I062_295_MD1_PARTS[] = { &I062_295_MD1_VALUE, NULL }; static const AsterixField I062_295_MD1 = { FIXED, 1, 0, 0, &hf_062_295_MD1, I062_295_MD1_PARTS, { NULL } }; static int hf_062_295_MD2; static int hf_062_295_MD2_VALUE; static const FieldPart I062_295_MD2_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MD2_VALUE, NULL }; static const FieldPart *I062_295_MD2_PARTS[] = { &I062_295_MD2_VALUE, NULL }; static const AsterixField I062_295_MD2 = { FIXED, 1, 0, 0, &hf_062_295_MD2, I062_295_MD2_PARTS, { NULL } }; static int hf_062_295_MDA; static int hf_062_295_MDA_VALUE; static const FieldPart I062_295_MDA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MDA_VALUE, NULL }; static const FieldPart *I062_295_MDA_PARTS[] = { &I062_295_MDA_VALUE, NULL }; static const AsterixField I062_295_MDA = { FIXED, 1, 0, 0, &hf_062_295_MDA, I062_295_MDA_PARTS, { NULL } }; static int hf_062_295_MD4; static int hf_062_295_MD4_VALUE; static const FieldPart I062_295_MD4_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MD4_VALUE, NULL }; static const FieldPart *I062_295_MD4_PARTS[] = { &I062_295_MD4_VALUE, NULL }; static const AsterixField I062_295_MD4 = { FIXED, 1, 0, 0, &hf_062_295_MD4, I062_295_MD4_PARTS, { NULL } }; static int hf_062_295_MD5; static int hf_062_295_MD5_VALUE; static const FieldPart I062_295_MD5_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MD5_VALUE, NULL }; static const FieldPart *I062_295_MD5_PARTS[] = { &I062_295_MD5_VALUE, NULL }; static const AsterixField I062_295_MD5 = { FIXED, 1, 0, 0, &hf_062_295_MD5, I062_295_MD5_PARTS, { NULL } }; static int hf_062_295_MHG; static int hf_062_295_MHG_VALUE; static const FieldPart I062_295_MHG_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MHG_VALUE, NULL }; static const FieldPart *I062_295_MHG_PARTS[] = { &I062_295_MHG_VALUE, NULL }; static const AsterixField I062_295_MHG = { FIXED, 1, 0, 0, &hf_062_295_MHG, I062_295_MHG_PARTS, { NULL } }; static int hf_062_295_IAS; static int hf_062_295_IAS_VALUE; static const FieldPart I062_295_IAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_IAS_VALUE, NULL }; static const FieldPart *I062_295_IAS_PARTS[] = { &I062_295_IAS_VALUE, NULL }; static const AsterixField I062_295_IAS = { FIXED, 1, 0, 0, &hf_062_295_IAS, I062_295_IAS_PARTS, { NULL } }; static int hf_062_295_TAS; static int hf_062_295_TAS_VALUE; static const FieldPart I062_295_TAS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_TAS_VALUE, NULL }; static const FieldPart *I062_295_TAS_PARTS[] = { &I062_295_TAS_VALUE, NULL }; static const AsterixField I062_295_TAS = { FIXED, 1, 0, 0, &hf_062_295_TAS, I062_295_TAS_PARTS, { NULL } }; static int hf_062_295_SAL; static int hf_062_295_SAL_VALUE; static const FieldPart I062_295_SAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_SAL_VALUE, NULL }; static const FieldPart *I062_295_SAL_PARTS[] = { &I062_295_SAL_VALUE, NULL }; static const AsterixField I062_295_SAL = { FIXED, 1, 0, 0, &hf_062_295_SAL, I062_295_SAL_PARTS, { NULL } }; static int hf_062_295_FSS; static int hf_062_295_FSS_VALUE; static const FieldPart I062_295_FSS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_FSS_VALUE, NULL }; static const FieldPart *I062_295_FSS_PARTS[] = { &I062_295_FSS_VALUE, NULL }; static const AsterixField I062_295_FSS = { FIXED, 1, 0, 0, &hf_062_295_FSS, I062_295_FSS_PARTS, { NULL } }; static int hf_062_295_TID; static int hf_062_295_TID_VALUE; static const FieldPart I062_295_TID_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_TID_VALUE, NULL }; static const FieldPart *I062_295_TID_PARTS[] = { &I062_295_TID_VALUE, NULL }; static const AsterixField I062_295_TID = { FIXED, 1, 0, 0, &hf_062_295_TID, I062_295_TID_PARTS, { NULL } }; static int hf_062_295_COM; static int hf_062_295_COM_VALUE; static const FieldPart I062_295_COM_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_COM_VALUE, NULL }; static const FieldPart *I062_295_COM_PARTS[] = { &I062_295_COM_VALUE, NULL }; static const AsterixField I062_295_COM = { FIXED, 1, 0, 0, &hf_062_295_COM, I062_295_COM_PARTS, { NULL } }; static int hf_062_295_SAB; static int hf_062_295_SAB_VALUE; static const FieldPart I062_295_SAB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_SAB_VALUE, NULL }; static const FieldPart *I062_295_SAB_PARTS[] = { &I062_295_SAB_VALUE, NULL }; static const AsterixField I062_295_SAB = { FIXED, 1, 0, 0, &hf_062_295_SAB, I062_295_SAB_PARTS, { NULL } }; static int hf_062_295_ACS; static int hf_062_295_ACS_VALUE; static const FieldPart I062_295_ACS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_ACS_VALUE, NULL }; static const FieldPart *I062_295_ACS_PARTS[] = { &I062_295_ACS_VALUE, NULL }; static const AsterixField I062_295_ACS = { FIXED, 1, 0, 0, &hf_062_295_ACS, I062_295_ACS_PARTS, { NULL } }; static int hf_062_295_BVR; static int hf_062_295_BVR_VALUE; static const FieldPart I062_295_BVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_BVR_VALUE, NULL }; static const FieldPart *I062_295_BVR_PARTS[] = { &I062_295_BVR_VALUE, NULL }; static const AsterixField I062_295_BVR = { FIXED, 1, 0, 0, &hf_062_295_BVR, I062_295_BVR_PARTS, { NULL } }; static int hf_062_295_GVR; static int hf_062_295_GVR_VALUE; static const FieldPart I062_295_GVR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_GVR_VALUE, NULL }; static const FieldPart *I062_295_GVR_PARTS[] = { &I062_295_GVR_VALUE, NULL }; static const AsterixField I062_295_GVR = { FIXED, 1, 0, 0, &hf_062_295_GVR, I062_295_GVR_PARTS, { NULL } }; static int hf_062_295_RAN; static int hf_062_295_RAN_VALUE; static const FieldPart I062_295_RAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_RAN_VALUE, NULL }; static const FieldPart *I062_295_RAN_PARTS[] = { &I062_295_RAN_VALUE, NULL }; static const AsterixField I062_295_RAN = { FIXED, 1, 0, 0, &hf_062_295_RAN, I062_295_RAN_PARTS, { NULL } }; static int hf_062_295_TAR; static int hf_062_295_TAR_VALUE; static const FieldPart I062_295_TAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_TAR_VALUE, NULL }; static const FieldPart *I062_295_TAR_PARTS[] = { &I062_295_TAR_VALUE, NULL }; static const AsterixField I062_295_TAR = { FIXED, 1, 0, 0, &hf_062_295_TAR, I062_295_TAR_PARTS, { NULL } }; static int hf_062_295_TAN; static int hf_062_295_TAN_VALUE; static const FieldPart I062_295_TAN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_TAN_VALUE, NULL }; static const FieldPart *I062_295_TAN_PARTS[] = { &I062_295_TAN_VALUE, NULL }; static const AsterixField I062_295_TAN = { FIXED, 1, 0, 0, &hf_062_295_TAN, I062_295_TAN_PARTS, { NULL } }; static int hf_062_295_GSP; static int hf_062_295_GSP_VALUE; static const FieldPart I062_295_GSP_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_GSP_VALUE, NULL }; static const FieldPart *I062_295_GSP_PARTS[] = { &I062_295_GSP_VALUE, NULL }; static const AsterixField I062_295_GSP = { FIXED, 1, 0, 0, &hf_062_295_GSP, I062_295_GSP_PARTS, { NULL } }; static int hf_062_295_VUN; static int hf_062_295_VUN_VALUE; static const FieldPart I062_295_VUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_VUN_VALUE, NULL }; static const FieldPart *I062_295_VUN_PARTS[] = { &I062_295_VUN_VALUE, NULL }; static const AsterixField I062_295_VUN = { FIXED, 1, 0, 0, &hf_062_295_VUN, I062_295_VUN_PARTS, { NULL } }; static int hf_062_295_MET; static int hf_062_295_MET_VALUE; static const FieldPart I062_295_MET_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MET_VALUE, NULL }; static const FieldPart *I062_295_MET_PARTS[] = { &I062_295_MET_VALUE, NULL }; static const AsterixField I062_295_MET = { FIXED, 1, 0, 0, &hf_062_295_MET, I062_295_MET_PARTS, { NULL } }; static int hf_062_295_EMC; static int hf_062_295_EMC_VALUE; static const FieldPart I062_295_EMC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_EMC_VALUE, NULL }; static const FieldPart *I062_295_EMC_PARTS[] = { &I062_295_EMC_VALUE, NULL }; static const AsterixField I062_295_EMC = { FIXED, 1, 0, 0, &hf_062_295_EMC, I062_295_EMC_PARTS, { NULL } }; static int hf_062_295_POS; static int hf_062_295_POS_VALUE; static const FieldPart I062_295_POS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_POS_VALUE, NULL }; static const FieldPart *I062_295_POS_PARTS[] = { &I062_295_POS_VALUE, NULL }; static const AsterixField I062_295_POS = { FIXED, 1, 0, 0, &hf_062_295_POS, I062_295_POS_PARTS, { NULL } }; static int hf_062_295_GAL; static int hf_062_295_GAL_VALUE; static const FieldPart I062_295_GAL_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_GAL_VALUE, NULL }; static const FieldPart *I062_295_GAL_PARTS[] = { &I062_295_GAL_VALUE, NULL }; static const AsterixField I062_295_GAL = { FIXED, 1, 0, 0, &hf_062_295_GAL, I062_295_GAL_PARTS, { NULL } }; static int hf_062_295_PUN; static int hf_062_295_PUN_VALUE; static const FieldPart I062_295_PUN_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_PUN_VALUE, NULL }; static const FieldPart *I062_295_PUN_PARTS[] = { &I062_295_PUN_VALUE, NULL }; static const AsterixField I062_295_PUN = { FIXED, 1, 0, 0, &hf_062_295_PUN, I062_295_PUN_PARTS, { NULL } }; static int hf_062_295_MB; static int hf_062_295_MB_VALUE; static const FieldPart I062_295_MB_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MB_VALUE, NULL }; static const FieldPart *I062_295_MB_PARTS[] = { &I062_295_MB_VALUE, NULL }; static const AsterixField I062_295_MB = { FIXED, 1, 0, 0, &hf_062_295_MB, I062_295_MB_PARTS, { NULL } }; static int hf_062_295_IAR; static int hf_062_295_IAR_VALUE; static const FieldPart I062_295_IAR_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_IAR_VALUE, NULL }; static const FieldPart *I062_295_IAR_PARTS[] = { &I062_295_IAR_VALUE, NULL }; static const AsterixField I062_295_IAR = { FIXED, 1, 0, 0, &hf_062_295_IAR, I062_295_IAR_PARTS, { NULL } }; static int hf_062_295_MAC; static int hf_062_295_MAC_VALUE; static const FieldPart I062_295_MAC_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_MAC_VALUE, NULL }; static const FieldPart *I062_295_MAC_PARTS[] = { &I062_295_MAC_VALUE, NULL }; static const AsterixField I062_295_MAC = { FIXED, 1, 0, 0, &hf_062_295_MAC, I062_295_MAC_PARTS, { NULL } }; static int hf_062_295_BPS; static int hf_062_295_BPS_VALUE; static const FieldPart I062_295_BPS_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_BPS_VALUE, NULL }; static const FieldPart *I062_295_BPS_PARTS[] = { &I062_295_BPS_VALUE, NULL }; static const AsterixField I062_295_BPS = { FIXED, 1, 0, 0, &hf_062_295_BPS, I062_295_BPS_PARTS, { NULL } }; static const AsterixField I062_295 = { COMPOUND, 0, 0, 0, &hf_062_295, NULL, { &I062_295_MFL, &I062_295_MD1, &I062_295_MD2, &I062_295_MDA, &I062_295_MD4, &I062_295_MD5, &I062_295_MHG, &I062_295_IAS, &I062_295_TAS, &I062_295_SAL, &I062_295_FSS, &I062_295_TID, &I062_295_COM, &I062_295_SAB, &I062_295_ACS, &I062_295_BVR, &I062_295_GVR, &I062_295_RAN, &I062_295_TAR, &I062_295_TAN, &I062_295_GSP, &I062_295_VUN, &I062_295_MET, &I062_295_EMC, &I062_295_POS, &I062_295_GAL, &I062_295_PUN, &I062_295_MB, &I062_295_IAR, &I062_295_MAC, &I062_295_BPS, NULL } }; static int hf_062_300; static int hf_062_300_VALUE; static const value_string valstr_062_300_VALUE[] = { { 0, "Unknown" }, { 1, "ATC equipment maintenance" }, { 2, "Airport maintenance" }, { 3, "Fire" }, { 4, "Bird scarer" }, { 5, "Snow plough" }, { 6, "Runway sweeper" }, { 7, "Emergency" }, { 8, "Police" }, { 9, "Bus" }, { 10, "Tug (push/tow)" }, { 11, "Grass cutter" }, { 12, "Fuel" }, { 13, "Baggage" }, { 14, "Catering" }, { 15, "Aircraft maintenance" }, { 16, "Flyco (follow me)" }, { 0, NULL } }; static const FieldPart I062_300_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_300_VALUE, NULL }; static const FieldPart *I062_300_PARTS[] = { &I062_300_VALUE, NULL }; static const AsterixField I062_300 = { FIXED, 1, 0, 0, &hf_062_300, I062_300_PARTS, { NULL } }; static int hf_062_340; static int hf_062_340_SID; static int hf_062_340_SID_SAC; static const FieldPart I062_340_SID_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_340_SID_SAC, NULL }; static int hf_062_340_SID_SIC; static const FieldPart I062_340_SID_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_340_SID_SIC, NULL }; static const FieldPart *I062_340_SID_PARTS[] = { &I062_340_SID_SAC, &I062_340_SID_SIC, NULL }; static const AsterixField I062_340_SID = { FIXED, 2, 0, 0, &hf_062_340_SID, I062_340_SID_PARTS, { NULL } }; static int hf_062_340_POS; static int hf_062_340_POS_RHO; static const FieldPart I062_340_POS_RHO = { 16, 0.00390625, FIELD_PART_UFLOAT, &hf_062_340_POS_RHO, NULL }; static int hf_062_340_POS_THETA; static const FieldPart I062_340_POS_THETA = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_340_POS_THETA, NULL }; static const FieldPart *I062_340_POS_PARTS[] = { &I062_340_POS_RHO, &I062_340_POS_THETA, NULL }; static const AsterixField I062_340_POS = { FIXED, 4, 0, 0, &hf_062_340_POS, I062_340_POS_PARTS, { NULL } }; static int hf_062_340_HEIGHT; static int hf_062_340_HEIGHT_VALUE; static const FieldPart I062_340_HEIGHT_VALUE = { 16, 25.0, FIELD_PART_FLOAT, &hf_062_340_HEIGHT_VALUE, NULL }; static const FieldPart *I062_340_HEIGHT_PARTS[] = { &I062_340_HEIGHT_VALUE, NULL }; static const AsterixField I062_340_HEIGHT = { FIXED, 2, 0, 0, &hf_062_340_HEIGHT, I062_340_HEIGHT_PARTS, { NULL } }; static int hf_062_340_MDC; static int hf_062_340_MDC_V; static const value_string valstr_062_340_MDC_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_340_MDC_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_MDC_V, NULL }; static int hf_062_340_MDC_G; static const value_string valstr_062_340_MDC_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_340_MDC_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_MDC_G, NULL }; static int hf_062_340_MDC_LMC; static const FieldPart I062_340_MDC_LMC = { 14, 0.25, FIELD_PART_FLOAT, &hf_062_340_MDC_LMC, NULL }; static const FieldPart *I062_340_MDC_PARTS[] = { &I062_340_MDC_V, &I062_340_MDC_G, &I062_340_MDC_LMC, NULL }; static const AsterixField I062_340_MDC = { FIXED, 2, 0, 0, &hf_062_340_MDC, I062_340_MDC_PARTS, { NULL } }; static int hf_062_340_MDA; static int hf_062_340_MDA_V; static const value_string valstr_062_340_MDA_V[] = { { 0, "Code validated" }, { 1, "Code not validated" }, { 0, NULL } }; static const FieldPart I062_340_MDA_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_MDA_V, NULL }; static int hf_062_340_MDA_G; static const value_string valstr_062_340_MDA_G[] = { { 0, "Default" }, { 1, "Garbled code" }, { 0, NULL } }; static const FieldPart I062_340_MDA_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_MDA_G, NULL }; static int hf_062_340_MDA_L; static const value_string valstr_062_340_MDA_L[] = { { 0, "Mode 3/A code as derived from the reply of the transponder" }, { 1, "Mode 3/A code as provided by a sensor local tracker" }, { 0, NULL } }; static const FieldPart I062_340_MDA_L = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_MDA_L, NULL }; static int hf_062_340_MDA_MODE3A; static const FieldPart I062_340_MDA_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_340_MDA_MODE3A, NULL }; static const FieldPart *I062_340_MDA_PARTS[] = { &I062_340_MDA_V, &I062_340_MDA_G, &I062_340_MDA_L, &IXXX_1bit_spare, &I062_340_MDA_MODE3A, NULL }; static const AsterixField I062_340_MDA = { FIXED, 2, 0, 0, &hf_062_340_MDA, I062_340_MDA_PARTS, { NULL } }; static int hf_062_340_TYP; static int hf_062_340_TYP_TYP; static const value_string valstr_062_340_TYP_TYP[] = { { 0, "No detection" }, { 1, "Single PSR detection" }, { 2, "Single SSR detection" }, { 3, "SSR + PSR detection" }, { 4, "Single ModeS All-Call" }, { 5, "Single ModeS Roll-Call" }, { 6, "ModeS All-Call + PSR" }, { 7, "ModeS Roll-Call + PSR" }, { 0, NULL } }; static const FieldPart I062_340_TYP_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_062_340_TYP_TYP, NULL }; static int hf_062_340_TYP_SIM; static const value_string valstr_062_340_TYP_SIM[] = { { 0, "Actual target report" }, { 1, "Simulated target report" }, { 0, NULL } }; static const FieldPart I062_340_TYP_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_TYP_SIM, NULL }; static int hf_062_340_TYP_RAB; static const value_string valstr_062_340_TYP_RAB[] = { { 0, "Report from target transponder" }, { 1, "Report from field monitor (item transponder)" }, { 0, NULL } }; static const FieldPart I062_340_TYP_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_TYP_RAB, NULL }; static int hf_062_340_TYP_TST; static const value_string valstr_062_340_TYP_TST[] = { { 0, "Real target report" }, { 1, "Test target report" }, { 0, NULL } }; static const FieldPart I062_340_TYP_TST = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_TYP_TST, NULL }; static const FieldPart *I062_340_TYP_PARTS[] = { &I062_340_TYP_TYP, &I062_340_TYP_SIM, &I062_340_TYP_RAB, &I062_340_TYP_TST, &IXXX_2bit_spare, NULL }; static const AsterixField I062_340_TYP = { FIXED, 1, 0, 0, &hf_062_340_TYP, I062_340_TYP_PARTS, { NULL } }; static const AsterixField I062_340 = { COMPOUND, 0, 0, 0, &hf_062_340, NULL, { &I062_340_SID, &I062_340_POS, &I062_340_HEIGHT, &I062_340_MDC, &I062_340_MDA, &I062_340_TYP, NULL } }; static int hf_062_380; static int hf_062_380_ADR; static int hf_062_380_ADR_VALUE; static const FieldPart I062_380_ADR_VALUE = { 24, 1.0, FIELD_PART_HEX, &hf_062_380_ADR_VALUE, NULL }; static const FieldPart *I062_380_ADR_PARTS[] = { &I062_380_ADR_VALUE, NULL }; static const AsterixField I062_380_ADR = { FIXED, 3, 0, 0, &hf_062_380_ADR, I062_380_ADR_PARTS, { NULL } }; static int hf_062_380_ID; static int hf_062_380_ID_VALUE; static const FieldPart I062_380_ID_VALUE = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_062_380_ID_VALUE, NULL }; static const FieldPart *I062_380_ID_PARTS[] = { &I062_380_ID_VALUE, NULL }; static const AsterixField I062_380_ID = { FIXED, 6, 0, 0, &hf_062_380_ID, I062_380_ID_PARTS, { NULL } }; static int hf_062_380_MHG; static int hf_062_380_MHG_VALUE; static const FieldPart I062_380_MHG_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_380_MHG_VALUE, NULL }; static const FieldPart *I062_380_MHG_PARTS[] = { &I062_380_MHG_VALUE, NULL }; static const AsterixField I062_380_MHG = { FIXED, 2, 0, 0, &hf_062_380_MHG, I062_380_MHG_PARTS, { NULL } }; static int hf_062_380_IAS; static int hf_062_380_IAS_IM; static const value_string valstr_062_380_IAS_IM[] = { { 0, "Air Speed = IAS, LSB (Bit-1) = 2^-14 NM/s" }, { 1, "Air Speed = Mach, LSB (Bit-1) = 0.001" }, { 0, NULL } }; static const FieldPart I062_380_IAS_IM = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_IAS_IM, NULL }; static int hf_062_380_IAS_IAS; static const FieldPart I062_380_IAS_IAS = { 15, 1.0, FIELD_PART_HEX, &hf_062_380_IAS_IAS, NULL }; static const FieldPart *I062_380_IAS_PARTS[] = { &I062_380_IAS_IM, &I062_380_IAS_IAS, NULL }; static const AsterixField I062_380_IAS = { FIXED, 2, 0, 0, &hf_062_380_IAS, I062_380_IAS_PARTS, { NULL } }; static int hf_062_380_TAS; static int hf_062_380_TAS_VALUE; static const FieldPart I062_380_TAS_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_TAS_VALUE, NULL }; static const FieldPart *I062_380_TAS_PARTS[] = { &I062_380_TAS_VALUE, NULL }; static const AsterixField I062_380_TAS = { FIXED, 2, 0, 0, &hf_062_380_TAS, I062_380_TAS_PARTS, { NULL } }; static int hf_062_380_SAL; static int hf_062_380_SAL_SAS; static const value_string valstr_062_380_SAL_SAS[] = { { 0, "No source information provided" }, { 1, "Source information provided" }, { 0, NULL } }; static const FieldPart I062_380_SAL_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_SAL_SAS, NULL }; static int hf_062_380_SAL_SRC; static const value_string valstr_062_380_SAL_SRC[] = { { 0, "Unknown" }, { 1, "Aircraft altitude" }, { 2, "FCU/MCP selected altitude" }, { 3, "FMS selected altitude" }, { 0, NULL } }; static const FieldPart I062_380_SAL_SRC = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_SAL_SRC, NULL }; static int hf_062_380_SAL_ALT; static const FieldPart I062_380_SAL_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_380_SAL_ALT, NULL }; static const FieldPart *I062_380_SAL_PARTS[] = { &I062_380_SAL_SAS, &I062_380_SAL_SRC, &I062_380_SAL_ALT, NULL }; static const AsterixField I062_380_SAL = { FIXED, 2, 0, 0, &hf_062_380_SAL, I062_380_SAL_PARTS, { NULL } }; static int hf_062_380_FSS; static int hf_062_380_FSS_MV; static const value_string valstr_062_380_FSS_MV[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_380_FSS_MV = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_FSS_MV, NULL }; static int hf_062_380_FSS_AH; static const value_string valstr_062_380_FSS_AH[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_380_FSS_AH = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_FSS_AH, NULL }; static int hf_062_380_FSS_AM; static const value_string valstr_062_380_FSS_AM[] = { { 0, "Not active" }, { 1, "Active" }, { 0, NULL } }; static const FieldPart I062_380_FSS_AM = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_FSS_AM, NULL }; static int hf_062_380_FSS_ALT; static const FieldPart I062_380_FSS_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_380_FSS_ALT, NULL }; static const FieldPart *I062_380_FSS_PARTS[] = { &I062_380_FSS_MV, &I062_380_FSS_AH, &I062_380_FSS_AM, &I062_380_FSS_ALT, NULL }; static const AsterixField I062_380_FSS = { FIXED, 2, 0, 0, &hf_062_380_FSS, I062_380_FSS_PARTS, { NULL } }; static int hf_062_380_TIS; static int hf_062_380_TIS_NAV; static const value_string valstr_062_380_TIS_NAV[] = { { 0, "Trajectory intent data is available for this aircraft" }, { 1, "Trajectory intent data is not available for this aircraft" }, { 0, NULL } }; static const FieldPart I062_380_TIS_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_TIS_NAV, NULL }; static int hf_062_380_TIS_NVB; static const value_string valstr_062_380_TIS_NVB[] = { { 0, "Trajectory intent data is valid" }, { 1, "Trajectory intent data is not valid" }, { 0, NULL } }; static const FieldPart I062_380_TIS_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_TIS_NVB, NULL }; static const FieldPart *I062_380_TIS_PARTS[] = { &I062_380_TIS_NAV, &I062_380_TIS_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL }; static const AsterixField I062_380_TIS = { FX, 1, 0, 0, &hf_062_380_TIS, I062_380_TIS_PARTS, { NULL } }; static int hf_062_380_TID; static int hf_062_380_TID_TCA; static const value_string valstr_062_380_TID_TCA[] = { { 0, "TCP number available" }, { 1, "TCP number not available" }, { 0, NULL } }; static const FieldPart I062_380_TID_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_TID_TCA, NULL }; static int hf_062_380_TID_NC; static const value_string valstr_062_380_TID_NC[] = { { 0, "TCP compliance" }, { 1, "TCP non-compliance" }, { 0, NULL } }; static const FieldPart I062_380_TID_NC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_TID_NC, NULL }; static int hf_062_380_TID_TCPN; static const FieldPart I062_380_TID_TCPN = { 6, 1.0, FIELD_PART_HEX, &hf_062_380_TID_TCPN, NULL }; static int hf_062_380_TID_ALT; static const FieldPart I062_380_TID_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_062_380_TID_ALT, NULL }; static int hf_062_380_TID_LAT; static const FieldPart I062_380_TID_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_380_TID_LAT, NULL }; static int hf_062_380_TID_LON; static const FieldPart I062_380_TID_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_380_TID_LON, NULL }; static int hf_062_380_TID_PT; static const value_string valstr_062_380_TID_PT[] = { { 0, "Unknown" }, { 1, "Fly by waypoint (LT)" }, { 2, "Fly over waypoint (LT)" }, { 3, "Hold pattern (LT)" }, { 4, "Procedure hold (LT)" }, { 5, "Procedure turn (LT)" }, { 6, "RF leg (LT)" }, { 7, "Top of climb (VT)" }, { 8, "Top of descent (VT)" }, { 9, "Start of level (VT)" }, { 10, "Cross-over altitude (VT)" }, { 11, "Transition altitude (VT)" }, { 0, NULL } }; static const FieldPart I062_380_TID_PT = { 4, 1.0, FIELD_PART_UINT, &hf_062_380_TID_PT, NULL }; static int hf_062_380_TID_TD; static const value_string valstr_062_380_TID_TD[] = { { 0, "N/A" }, { 1, "Turn right" }, { 2, "Turn left" }, { 3, "No turn" }, { 0, NULL } }; static const FieldPart I062_380_TID_TD = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_TID_TD, NULL }; static int hf_062_380_TID_TRA; static const value_string valstr_062_380_TID_TRA[] = { { 0, "TTR not available" }, { 1, "TTR available" }, { 0, NULL } }; static const FieldPart I062_380_TID_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_TID_TRA, NULL }; static int hf_062_380_TID_TOA; static const value_string valstr_062_380_TID_TOA[] = { { 0, "TOV available" }, { 1, "TOV not available" }, { 0, NULL } }; static const FieldPart I062_380_TID_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_TID_TOA, NULL }; static int hf_062_380_TID_TOV; static const FieldPart I062_380_TID_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_062_380_TID_TOV, NULL }; static int hf_062_380_TID_TTR; static const FieldPart I062_380_TID_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_062_380_TID_TTR, NULL }; static const FieldPart *I062_380_TID_PARTS[] = { &I062_380_TID_TCA, &I062_380_TID_NC, &I062_380_TID_TCPN, &I062_380_TID_ALT, &I062_380_TID_LAT, &I062_380_TID_LON, &I062_380_TID_PT, &I062_380_TID_TD, &I062_380_TID_TRA, &I062_380_TID_TOA, &I062_380_TID_TOV, &I062_380_TID_TTR, NULL }; static const AsterixField I062_380_TID = { REPETITIVE, 15, 1, 0, &hf_062_380_TID, I062_380_TID_PARTS, { NULL } }; static int hf_062_380_COM; static int hf_062_380_COM_COM; static const value_string valstr_062_380_COM_COM[] = { { 0, "No communications capability (surveillance only)" }, { 1, "Comm. A and Comm. B capability" }, { 2, "Comm. A, Comm. B and Uplink ELM" }, { 3, "Comm. A, Comm. B, Uplink ELM and Downlink ELM" }, { 4, "Level 5 Transponder capability" }, { 5, "Not assigned" }, { 6, "Not assigned" }, { 7, "Not assigned" }, { 0, NULL } }; static const FieldPart I062_380_COM_COM = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_COM_COM, NULL }; static int hf_062_380_COM_STAT; static const value_string valstr_062_380_COM_STAT[] = { { 0, "No alert, no SPI, aircraft airborne" }, { 1, "No alert, no SPI, aircraft on ground" }, { 2, "Alert, no SPI, aircraft airborne" }, { 3, "Alert, no SPI, aircraft on ground" }, { 4, "Alert, SPI, aircraft airborne or on ground" }, { 5, "No alert, SPI, aircraft airborne or on ground" }, { 6, "Not defined" }, { 7, "Unknown or not yet extracted" }, { 0, NULL } }; static const FieldPart I062_380_COM_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_COM_STAT, NULL }; static int hf_062_380_COM_SSC; static const value_string valstr_062_380_COM_SSC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_380_COM_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_COM_SSC, NULL }; static int hf_062_380_COM_ARC; static const value_string valstr_062_380_COM_ARC[] = { { 0, "100 ft resolution" }, { 1, "25 ft resolution" }, { 0, NULL } }; static const FieldPart I062_380_COM_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_COM_ARC, NULL }; static int hf_062_380_COM_AIC; static const value_string valstr_062_380_COM_AIC[] = { { 0, "No" }, { 1, "Yes" }, { 0, NULL } }; static const FieldPart I062_380_COM_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_COM_AIC, NULL }; static int hf_062_380_COM_B1A; static const FieldPart I062_380_COM_B1A = { 1, 1.0, FIELD_PART_HEX, &hf_062_380_COM_B1A, NULL }; static int hf_062_380_COM_B1B; static const FieldPart I062_380_COM_B1B = { 4, 1.0, FIELD_PART_HEX, &hf_062_380_COM_B1B, NULL }; static const FieldPart *I062_380_COM_PARTS[] = { &I062_380_COM_COM, &I062_380_COM_STAT, &IXXX_2bit_spare, &I062_380_COM_SSC, &I062_380_COM_ARC, &I062_380_COM_AIC, &I062_380_COM_B1A, &I062_380_COM_B1B, NULL }; static const AsterixField I062_380_COM = { FIXED, 2, 0, 0, &hf_062_380_COM, I062_380_COM_PARTS, { NULL } }; static int hf_062_380_SAB; static int hf_062_380_SAB_AC; static const value_string valstr_062_380_SAB_AC[] = { { 0, "Unknown" }, { 1, "ACAS not operational" }, { 2, "ACAS operational" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_380_SAB_AC = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_SAB_AC, NULL }; static int hf_062_380_SAB_MN; static const value_string valstr_062_380_SAB_MN[] = { { 0, "Unknown" }, { 1, "Multiple navigational aids not operating" }, { 2, "Multiple navigational aids operating" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_380_SAB_MN = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_SAB_MN, NULL }; static int hf_062_380_SAB_DC; static const value_string valstr_062_380_SAB_DC[] = { { 0, "Unknown" }, { 1, "Differential correction" }, { 2, "No differential correction" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_380_SAB_DC = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_SAB_DC, NULL }; static int hf_062_380_SAB_GBS; static const value_string valstr_062_380_SAB_GBS[] = { { 0, "Transponder ground bit not set or unknown" }, { 1, "Transponder Ground Bit set" }, { 0, NULL } }; static const FieldPart I062_380_SAB_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_SAB_GBS, NULL }; static int hf_062_380_SAB_STAT; static const value_string valstr_062_380_SAB_STAT[] = { { 0, "No emergency" }, { 1, "General emergency" }, { 2, "Lifeguard / medical" }, { 3, "Minimum fuel" }, { 4, "No communications" }, { 5, "Unlawful interference" }, { 6, "Downed Aircraft" }, { 7, "Unknown" }, { 0, NULL } }; static const FieldPart I062_380_SAB_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_SAB_STAT, NULL }; static const FieldPart *I062_380_SAB_PARTS[] = { &I062_380_SAB_AC, &I062_380_SAB_MN, &I062_380_SAB_DC, &I062_380_SAB_GBS, &IXXX_6bit_spare, &I062_380_SAB_STAT, NULL }; static const AsterixField I062_380_SAB = { FIXED, 2, 0, 0, &hf_062_380_SAB, I062_380_SAB_PARTS, { NULL } }; static int hf_062_380_ACS; static int hf_062_380_ACS_VALUE; static const FieldPart I062_380_ACS_VALUE = { 56, 1.0, FIELD_PART_HEX, &hf_062_380_ACS_VALUE, NULL }; static const FieldPart *I062_380_ACS_PARTS[] = { &I062_380_ACS_VALUE, NULL }; static const AsterixField I062_380_ACS = { FIXED, 7, 0, 0, &hf_062_380_ACS, I062_380_ACS_PARTS, { NULL } }; static int hf_062_380_BVR; static int hf_062_380_BVR_VALUE; static const FieldPart I062_380_BVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_380_BVR_VALUE, NULL }; static const FieldPart *I062_380_BVR_PARTS[] = { &I062_380_BVR_VALUE, NULL }; static const AsterixField I062_380_BVR = { FIXED, 2, 0, 0, &hf_062_380_BVR, I062_380_BVR_PARTS, { NULL } }; static int hf_062_380_GVR; static int hf_062_380_GVR_VALUE; static const FieldPart I062_380_GVR_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_380_GVR_VALUE, NULL }; static const FieldPart *I062_380_GVR_PARTS[] = { &I062_380_GVR_VALUE, NULL }; static const AsterixField I062_380_GVR = { FIXED, 2, 0, 0, &hf_062_380_GVR, I062_380_GVR_PARTS, { NULL } }; static int hf_062_380_RAN; static int hf_062_380_RAN_VALUE; static const FieldPart I062_380_RAN_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_062_380_RAN_VALUE, NULL }; static const FieldPart *I062_380_RAN_PARTS[] = { &I062_380_RAN_VALUE, NULL }; static const AsterixField I062_380_RAN = { FIXED, 2, 0, 0, &hf_062_380_RAN, I062_380_RAN_PARTS, { NULL } }; static int hf_062_380_TAR; static int hf_062_380_TAR_TI; static const value_string valstr_062_380_TAR_TI[] = { { 0, "Not available" }, { 1, "Left" }, { 2, "Right" }, { 3, "Straight" }, { 0, NULL } }; static const FieldPart I062_380_TAR_TI = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_TAR_TI, NULL }; static int hf_062_380_TAR_ROT; static const FieldPart I062_380_TAR_ROT = { 7, 0.25, FIELD_PART_FLOAT, &hf_062_380_TAR_ROT, NULL }; static const FieldPart *I062_380_TAR_PARTS[] = { &I062_380_TAR_TI, &IXXX_6bit_spare, &I062_380_TAR_ROT, &IXXX_1bit_spare, NULL }; static const AsterixField I062_380_TAR = { FIXED, 2, 0, 0, &hf_062_380_TAR, I062_380_TAR_PARTS, { NULL } }; static int hf_062_380_TAN; static int hf_062_380_TAN_VALUE; static const FieldPart I062_380_TAN_VALUE = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_062_380_TAN_VALUE, NULL }; static const FieldPart *I062_380_TAN_PARTS[] = { &I062_380_TAN_VALUE, NULL }; static const AsterixField I062_380_TAN = { FIXED, 2, 0, 0, &hf_062_380_TAN, I062_380_TAN_PARTS, { NULL } }; static int hf_062_380_GS; static int hf_062_380_GS_VALUE; static const FieldPart I062_380_GS_VALUE = { 16, 6.103515625e-05, FIELD_PART_FLOAT, &hf_062_380_GS_VALUE, NULL }; static const FieldPart *I062_380_GS_PARTS[] = { &I062_380_GS_VALUE, NULL }; static const AsterixField I062_380_GS = { FIXED, 2, 0, 0, &hf_062_380_GS, I062_380_GS_PARTS, { NULL } }; static int hf_062_380_VUN; static int hf_062_380_VUN_VALUE; static const FieldPart I062_380_VUN_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_062_380_VUN_VALUE, NULL }; static const FieldPart *I062_380_VUN_PARTS[] = { &I062_380_VUN_VALUE, NULL }; static const AsterixField I062_380_VUN = { FIXED, 1, 0, 0, &hf_062_380_VUN, I062_380_VUN_PARTS, { NULL } }; static int hf_062_380_MET; static int hf_062_380_MET_WS; static const value_string valstr_062_380_MET_WS[] = { { 0, "Not valid Wind Speed" }, { 1, "Valid Wind Speed" }, { 0, NULL } }; static const FieldPart I062_380_MET_WS = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_MET_WS, NULL }; static int hf_062_380_MET_WD; static const value_string valstr_062_380_MET_WD[] = { { 0, "Not valid Wind Direction" }, { 1, "Valid Wind Direction" }, { 0, NULL } }; static const FieldPart I062_380_MET_WD = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_MET_WD, NULL }; static int hf_062_380_MET_TMP; static const value_string valstr_062_380_MET_TMP[] = { { 0, "Not valid Temperature" }, { 1, "Valid Temperature" }, { 0, NULL } }; static const FieldPart I062_380_MET_TMP = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_MET_TMP, NULL }; static int hf_062_380_MET_TRB; static const value_string valstr_062_380_MET_TRB[] = { { 0, "Not valid Turbulence" }, { 1, "Valid Turbulence" }, { 0, NULL } }; static const FieldPart I062_380_MET_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_MET_TRB, NULL }; static int hf_062_380_MET_WSD; static const FieldPart I062_380_MET_WSD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_MET_WSD, NULL }; static int hf_062_380_MET_WDD; static const FieldPart I062_380_MET_WDD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_MET_WDD, NULL }; static int hf_062_380_MET_TMPD; static const FieldPart I062_380_MET_TMPD = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_380_MET_TMPD, NULL }; static int hf_062_380_MET_TRBD; static const FieldPart I062_380_MET_TRBD = { 8, 1.0, FIELD_PART_UINT, &hf_062_380_MET_TRBD, NULL }; static const FieldPart *I062_380_MET_PARTS[] = { &I062_380_MET_WS, &I062_380_MET_WD, &I062_380_MET_TMP, &I062_380_MET_TRB, &IXXX_4bit_spare, &I062_380_MET_WSD, &I062_380_MET_WDD, &I062_380_MET_TMPD, &I062_380_MET_TRBD, NULL }; static const AsterixField I062_380_MET = { FIXED, 8, 0, 0, &hf_062_380_MET, I062_380_MET_PARTS, { NULL } }; static int hf_062_380_EMC; static int hf_062_380_EMC_VALUE; static const value_string valstr_062_380_EMC_VALUE[] = { { 1, "Light aircraft =< 7000 kg" }, { 2, "Reserved" }, { 3, "7000 kg < medium aircraft < 136000 kg" }, { 4, "Reserved" }, { 5, "136000 kg <= heavy aircraft" }, { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" }, { 7, "Reserved" }, { 8, "Reserved" }, { 9, "Reserved" }, { 10, "Rotocraft" }, { 11, "Glider / sailplane" }, { 12, "Lighter-than-air" }, { 13, "Unmanned aerial vehicle" }, { 14, "Space / transatmospheric vehicle" }, { 15, "Ultralight / handglider / paraglider" }, { 16, "Parachutist / skydiver" }, { 17, "Reserved" }, { 18, "Reserved" }, { 19, "Reserved" }, { 20, "Surface emergency vehicle" }, { 21, "Surface service vehicle" }, { 22, "Fixed ground or tethered obstruction" }, { 23, "Reserved" }, { 24, "Reserved" }, { 0, NULL } }; static const FieldPart I062_380_EMC_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_062_380_EMC_VALUE, NULL }; static const FieldPart *I062_380_EMC_PARTS[] = { &I062_380_EMC_VALUE, NULL }; static const AsterixField I062_380_EMC = { FIXED, 1, 0, 0, &hf_062_380_EMC, I062_380_EMC_PARTS, { NULL } }; static int hf_062_380_POS; static int hf_062_380_POS_LAT; static const FieldPart I062_380_POS_LAT = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_380_POS_LAT, NULL }; static int hf_062_380_POS_LON; static const FieldPart I062_380_POS_LON = { 24, 2.1457672119140625e-05, FIELD_PART_FLOAT, &hf_062_380_POS_LON, NULL }; static const FieldPart *I062_380_POS_PARTS[] = { &I062_380_POS_LAT, &I062_380_POS_LON, NULL }; static const AsterixField I062_380_POS = { FIXED, 6, 0, 0, &hf_062_380_POS, I062_380_POS_PARTS, { NULL } }; static int hf_062_380_GAL; static int hf_062_380_GAL_VALUE; static const FieldPart I062_380_GAL_VALUE = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_380_GAL_VALUE, NULL }; static const FieldPart *I062_380_GAL_PARTS[] = { &I062_380_GAL_VALUE, NULL }; static const AsterixField I062_380_GAL = { FIXED, 2, 0, 0, &hf_062_380_GAL, I062_380_GAL_PARTS, { NULL } }; static int hf_062_380_PUN; static int hf_062_380_PUN_PUN; static const FieldPart I062_380_PUN_PUN = { 4, 1.0, FIELD_PART_HEX, &hf_062_380_PUN_PUN, NULL }; static const FieldPart *I062_380_PUN_PARTS[] = { &IXXX_4bit_spare, &I062_380_PUN_PUN, NULL }; static const AsterixField I062_380_PUN = { FIXED, 1, 0, 0, &hf_062_380_PUN, I062_380_PUN_PARTS, { NULL } }; static int hf_062_380_BDSDATA; static int hf_062_380_BDSDATA_VALUE; static const FieldPart I062_380_BDSDATA_VALUE = { 64, 1.0, FIELD_PART_HEX, &hf_062_380_BDSDATA_VALUE, NULL }; static const FieldPart *I062_380_BDSDATA_PARTS[] = { &I062_380_BDSDATA_VALUE, NULL }; static const AsterixField I062_380_BDSDATA = { REPETITIVE, 8, 1, 0, &hf_062_380_BDSDATA, I062_380_BDSDATA_PARTS, { NULL } }; static int hf_062_380_IAR; static int hf_062_380_IAR_VALUE; static const FieldPart I062_380_IAR_VALUE = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_IAR_VALUE, NULL }; static const FieldPart *I062_380_IAR_PARTS[] = { &I062_380_IAR_VALUE, NULL }; static const AsterixField I062_380_IAR = { FIXED, 2, 0, 0, &hf_062_380_IAR, I062_380_IAR_PARTS, { NULL } }; static int hf_062_380_MAC; static int hf_062_380_MAC_VALUE; static const FieldPart I062_380_MAC_VALUE = { 16, 0.008, FIELD_PART_UFLOAT, &hf_062_380_MAC_VALUE, NULL }; static const FieldPart *I062_380_MAC_PARTS[] = { &I062_380_MAC_VALUE, NULL }; static const AsterixField I062_380_MAC = { FIXED, 2, 0, 0, &hf_062_380_MAC, I062_380_MAC_PARTS, { NULL } }; static int hf_062_380_BPS; static int hf_062_380_BPS_BPS; static const FieldPart I062_380_BPS_BPS = { 12, 0.1, FIELD_PART_UFLOAT, &hf_062_380_BPS_BPS, NULL }; static const FieldPart *I062_380_BPS_PARTS[] = { &IXXX_4bit_spare, &I062_380_BPS_BPS, NULL }; static const AsterixField I062_380_BPS = { FIXED, 2, 0, 0, &hf_062_380_BPS, I062_380_BPS_PARTS, { NULL } }; static const AsterixField I062_380 = { COMPOUND, 0, 0, 0, &hf_062_380, NULL, { &I062_380_ADR, &I062_380_ID, &I062_380_MHG, &I062_380_IAS, &I062_380_TAS, &I062_380_SAL, &I062_380_FSS, &I062_380_TIS, &I062_380_TID, &I062_380_COM, &I062_380_SAB, &I062_380_ACS, &I062_380_BVR, &I062_380_GVR, &I062_380_RAN, &I062_380_TAR, &I062_380_TAN, &I062_380_GS, &I062_380_VUN, &I062_380_MET, &I062_380_EMC, &I062_380_POS, &I062_380_GAL, &I062_380_PUN, &I062_380_BDSDATA, &I062_380_IAR, &I062_380_MAC, &I062_380_BPS, NULL } }; static int hf_062_390; static int hf_062_390_TAG; static int hf_062_390_TAG_SAC; static const FieldPart I062_390_TAG_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_062_390_TAG_SAC, NULL }; static int hf_062_390_TAG_SIC; static const FieldPart I062_390_TAG_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_062_390_TAG_SIC, NULL }; static const FieldPart *I062_390_TAG_PARTS[] = { &I062_390_TAG_SAC, &I062_390_TAG_SIC, NULL }; static const AsterixField I062_390_TAG = { FIXED, 2, 0, 0, &hf_062_390_TAG, I062_390_TAG_PARTS, { NULL } }; static int hf_062_390_CS; static int hf_062_390_CS_VALUE; static const FieldPart I062_390_CS_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_CS_VALUE, NULL }; static const FieldPart *I062_390_CS_PARTS[] = { &I062_390_CS_VALUE, NULL }; static const AsterixField I062_390_CS = { FIXED, 7, 0, 0, &hf_062_390_CS, I062_390_CS_PARTS, { NULL } }; static int hf_062_390_IFI; static int hf_062_390_IFI_TYP; static const value_string valstr_062_390_IFI_TYP[] = { { 0, "Plan Number" }, { 1, "Unit 1 internal flight number" }, { 2, "Unit 2 internal flight number" }, { 3, "Unit 3 internal flight number" }, { 0, NULL } }; static const FieldPart I062_390_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_IFI_TYP, NULL }; static int hf_062_390_IFI_NBR; static const FieldPart I062_390_IFI_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_062_390_IFI_NBR, NULL }; static const FieldPart *I062_390_IFI_PARTS[] = { &I062_390_IFI_TYP, &IXXX_3bit_spare, &I062_390_IFI_NBR, NULL }; static const AsterixField I062_390_IFI = { FIXED, 4, 0, 0, &hf_062_390_IFI, I062_390_IFI_PARTS, { NULL } }; static int hf_062_390_FCT; static int hf_062_390_FCT_GATOAT; static const value_string valstr_062_390_FCT_GATOAT[] = { { 0, "Unknown" }, { 1, "General Air Traffic" }, { 2, "Operational Air Traffic" }, { 3, "Not applicable" }, { 0, NULL } }; static const FieldPart I062_390_FCT_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_FCT_GATOAT, NULL }; static int hf_062_390_FCT_FR1FR2; static const value_string valstr_062_390_FCT_FR1FR2[] = { { 0, "Instrument Flight Rules" }, { 1, "Visual Flight Rules" }, { 2, "Not applicable" }, { 3, "Controlled Visual Flight Rules" }, { 0, NULL } }; static const FieldPart I062_390_FCT_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_FCT_FR1FR2, NULL }; static int hf_062_390_FCT_RVSM; static const value_string valstr_062_390_FCT_RVSM[] = { { 0, "Unknown" }, { 1, "Approved" }, { 2, "Exempt" }, { 3, "Not Approved" }, { 0, NULL } }; static const FieldPart I062_390_FCT_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_FCT_RVSM, NULL }; static int hf_062_390_FCT_HPR; static const value_string valstr_062_390_FCT_HPR[] = { { 0, "Normal Priority Flight" }, { 1, "High Priority Flight" }, { 0, NULL } }; static const FieldPart I062_390_FCT_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_062_390_FCT_HPR, NULL }; static const FieldPart *I062_390_FCT_PARTS[] = { &I062_390_FCT_GATOAT, &I062_390_FCT_FR1FR2, &I062_390_FCT_RVSM, &I062_390_FCT_HPR, &IXXX_1bit_spare, NULL }; static const AsterixField I062_390_FCT = { FIXED, 1, 0, 0, &hf_062_390_FCT, I062_390_FCT_PARTS, { NULL } }; static int hf_062_390_TAC; static int hf_062_390_TAC_VALUE; static const FieldPart I062_390_TAC_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_390_TAC_VALUE, NULL }; static const FieldPart *I062_390_TAC_PARTS[] = { &I062_390_TAC_VALUE, NULL }; static const AsterixField I062_390_TAC = { FIXED, 4, 0, 0, &hf_062_390_TAC, I062_390_TAC_PARTS, { NULL } }; static int hf_062_390_WTC; static int hf_062_390_WTC_VALUE; static const FieldPart I062_390_WTC_VALUE = { 8, 1.0, FIELD_PART_ASCII, &hf_062_390_WTC_VALUE, NULL }; static const FieldPart *I062_390_WTC_PARTS[] = { &I062_390_WTC_VALUE, NULL }; static const AsterixField I062_390_WTC = { FIXED, 1, 0, 0, &hf_062_390_WTC, I062_390_WTC_PARTS, { NULL } }; static int hf_062_390_DEP; static int hf_062_390_DEP_VALUE; static const FieldPart I062_390_DEP_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_390_DEP_VALUE, NULL }; static const FieldPart *I062_390_DEP_PARTS[] = { &I062_390_DEP_VALUE, NULL }; static const AsterixField I062_390_DEP = { FIXED, 4, 0, 0, &hf_062_390_DEP, I062_390_DEP_PARTS, { NULL } }; static int hf_062_390_DST; static int hf_062_390_DST_VALUE; static const FieldPart I062_390_DST_VALUE = { 32, 1.0, FIELD_PART_ASCII, &hf_062_390_DST_VALUE, NULL }; static const FieldPart *I062_390_DST_PARTS[] = { &I062_390_DST_VALUE, NULL }; static const AsterixField I062_390_DST = { FIXED, 4, 0, 0, &hf_062_390_DST, I062_390_DST_PARTS, { NULL } }; static int hf_062_390_RDS; static int hf_062_390_RDS_NU1; static const FieldPart I062_390_RDS_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_390_RDS_NU1, NULL }; static int hf_062_390_RDS_NU2; static const FieldPart I062_390_RDS_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_062_390_RDS_NU2, NULL }; static int hf_062_390_RDS_LTR; static const FieldPart I062_390_RDS_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_062_390_RDS_LTR, NULL }; static const FieldPart *I062_390_RDS_PARTS[] = { &I062_390_RDS_NU1, &I062_390_RDS_NU2, &I062_390_RDS_LTR, NULL }; static const AsterixField I062_390_RDS = { FIXED, 3, 0, 0, &hf_062_390_RDS, I062_390_RDS_PARTS, { NULL } }; static int hf_062_390_CFL; static int hf_062_390_CFL_VALUE; static const FieldPart I062_390_CFL_VALUE = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_390_CFL_VALUE, NULL }; static const FieldPart *I062_390_CFL_PARTS[] = { &I062_390_CFL_VALUE, NULL }; static const AsterixField I062_390_CFL = { FIXED, 2, 0, 0, &hf_062_390_CFL, I062_390_CFL_PARTS, { NULL } }; static int hf_062_390_CTL; static int hf_062_390_CTL_CENTRE; static const FieldPart I062_390_CTL_CENTRE = { 8, 1.0, FIELD_PART_HEX, &hf_062_390_CTL_CENTRE, NULL }; static int hf_062_390_CTL_POSITION; static const FieldPart I062_390_CTL_POSITION = { 8, 1.0, FIELD_PART_HEX, &hf_062_390_CTL_POSITION, NULL }; static const FieldPart *I062_390_CTL_PARTS[] = { &I062_390_CTL_CENTRE, &I062_390_CTL_POSITION, NULL }; static const AsterixField I062_390_CTL = { FIXED, 2, 0, 0, &hf_062_390_CTL, I062_390_CTL_PARTS, { NULL } }; static int hf_062_390_TOD; static int hf_062_390_TOD_TYP; static const value_string valstr_062_390_TOD_TYP[] = { { 0, "Scheduled off-block time" }, { 1, "Estimated off-block time" }, { 2, "Estimated take-off time" }, { 3, "Actual off-block time" }, { 4, "Predicted time at runway hold" }, { 5, "Actual time at runway hold" }, { 6, "Actual line-up time" }, { 7, "Actual take-off time" }, { 8, "Estimated time of arrival" }, { 9, "Predicted landing time" }, { 10, "Actual landing time" }, { 11, "Actual time off runway" }, { 12, "Predicted time to gate" }, { 13, "Actual on-block time" }, { 0, NULL } }; static const FieldPart I062_390_TOD_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_062_390_TOD_TYP, NULL }; static int hf_062_390_TOD_DAY; static const value_string valstr_062_390_TOD_DAY[] = { { 0, "Today" }, { 1, "Yesterday" }, { 2, "Tomorrow" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_390_TOD_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_TOD_DAY, NULL }; static int hf_062_390_TOD_HOR; static const FieldPart I062_390_TOD_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_062_390_TOD_HOR, NULL }; static int hf_062_390_TOD_MIN; static const FieldPart I062_390_TOD_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_062_390_TOD_MIN, NULL }; static int hf_062_390_TOD_AVS; static const value_string valstr_062_390_TOD_AVS[] = { { 0, "Seconds available" }, { 1, "Seconds not available" }, { 0, NULL } }; static const FieldPart I062_390_TOD_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_062_390_TOD_AVS, NULL }; static int hf_062_390_TOD_SEC; static const FieldPart I062_390_TOD_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_062_390_TOD_SEC, NULL }; static const FieldPart *I062_390_TOD_PARTS[] = { &I062_390_TOD_TYP, &I062_390_TOD_DAY, &IXXX_4bit_spare, &I062_390_TOD_HOR, &IXXX_2bit_spare, &I062_390_TOD_MIN, &I062_390_TOD_AVS, &IXXX_1bit_spare, &I062_390_TOD_SEC, NULL }; static const AsterixField I062_390_TOD = { REPETITIVE, 4, 1, 0, &hf_062_390_TOD, I062_390_TOD_PARTS, { NULL } }; static int hf_062_390_AST; static int hf_062_390_AST_VALUE; static const FieldPart I062_390_AST_VALUE = { 48, 1.0, FIELD_PART_ASCII, &hf_062_390_AST_VALUE, NULL }; static const FieldPart *I062_390_AST_PARTS[] = { &I062_390_AST_VALUE, NULL }; static const AsterixField I062_390_AST = { FIXED, 6, 0, 0, &hf_062_390_AST, I062_390_AST_PARTS, { NULL } }; static int hf_062_390_STS; static int hf_062_390_STS_EMP; static const value_string valstr_062_390_STS_EMP[] = { { 0, "Empty" }, { 1, "Occupied" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_390_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_STS_EMP, NULL }; static int hf_062_390_STS_AVL; static const value_string valstr_062_390_STS_AVL[] = { { 0, "Available" }, { 1, "Not available" }, { 2, "Unknown" }, { 3, "Invalid" }, { 0, NULL } }; static const FieldPart I062_390_STS_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_STS_AVL, NULL }; static const FieldPart *I062_390_STS_PARTS[] = { &I062_390_STS_EMP, &I062_390_STS_AVL, &IXXX_4bit_spare, NULL }; static const AsterixField I062_390_STS = { FIXED, 1, 0, 0, &hf_062_390_STS, I062_390_STS_PARTS, { NULL } }; static int hf_062_390_STD; static int hf_062_390_STD_VALUE; static const FieldPart I062_390_STD_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_STD_VALUE, NULL }; static const FieldPart *I062_390_STD_PARTS[] = { &I062_390_STD_VALUE, NULL }; static const AsterixField I062_390_STD = { FIXED, 7, 0, 0, &hf_062_390_STD, I062_390_STD_PARTS, { NULL } }; static int hf_062_390_STA; static int hf_062_390_STA_VALUE; static const FieldPart I062_390_STA_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_STA_VALUE, NULL }; static const FieldPart *I062_390_STA_PARTS[] = { &I062_390_STA_VALUE, NULL }; static const AsterixField I062_390_STA = { FIXED, 7, 0, 0, &hf_062_390_STA, I062_390_STA_PARTS, { NULL } }; static int hf_062_390_PEM; static int hf_062_390_PEM_VA; static const value_string valstr_062_390_PEM_VA[] = { { 0, "No valid Mode 3/A available" }, { 1, "Valid Mode 3/A available" }, { 0, NULL } }; static const FieldPart I062_390_PEM_VA = { 1, 1.0, FIELD_PART_UINT, &hf_062_390_PEM_VA, NULL }; static int hf_062_390_PEM_MODE3A; static const FieldPart I062_390_PEM_MODE3A = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_390_PEM_MODE3A, NULL }; static const FieldPart *I062_390_PEM_PARTS[] = { &IXXX_3bit_spare, &I062_390_PEM_VA, &I062_390_PEM_MODE3A, NULL }; static const AsterixField I062_390_PEM = { FIXED, 2, 0, 0, &hf_062_390_PEM, I062_390_PEM_PARTS, { NULL } }; static int hf_062_390_PEC; static int hf_062_390_PEC_VALUE; static const FieldPart I062_390_PEC_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_PEC_VALUE, NULL }; static const FieldPart *I062_390_PEC_PARTS[] = { &I062_390_PEC_VALUE, NULL }; static const AsterixField I062_390_PEC = { FIXED, 7, 0, 0, &hf_062_390_PEC, I062_390_PEC_PARTS, { NULL } }; static const AsterixField I062_390 = { COMPOUND, 0, 0, 0, &hf_062_390, NULL, { &I062_390_TAG, &I062_390_CS, &I062_390_IFI, &I062_390_FCT, &I062_390_TAC, &I062_390_WTC, &I062_390_DEP, &I062_390_DST, &I062_390_RDS, &I062_390_CFL, &I062_390_CTL, &I062_390_TOD, &I062_390_AST, &I062_390_STS, &I062_390_STD, &I062_390_STA, &I062_390_PEM, &I062_390_PEC, NULL } }; static int hf_062_500; static int hf_062_500_APC; static int hf_062_500_APC_X; static const FieldPart I062_500_APC_X = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_500_APC_X, NULL }; static int hf_062_500_APC_Y; static const FieldPart I062_500_APC_Y = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_500_APC_Y, NULL }; static const FieldPart *I062_500_APC_PARTS[] = { &I062_500_APC_X, &I062_500_APC_Y, NULL }; static const AsterixField I062_500_APC = { FIXED, 4, 0, 0, &hf_062_500_APC, I062_500_APC_PARTS, { NULL } }; static int hf_062_500_COV; static int hf_062_500_COV_VALUE; static const FieldPart I062_500_COV_VALUE = { 16, 0.5, FIELD_PART_FLOAT, &hf_062_500_COV_VALUE, NULL }; static const FieldPart *I062_500_COV_PARTS[] = { &I062_500_COV_VALUE, NULL }; static const AsterixField I062_500_COV = { FIXED, 2, 0, 0, &hf_062_500_COV, I062_500_COV_PARTS, { NULL } }; static int hf_062_500_APW; static int hf_062_500_APW_LAT; static const FieldPart I062_500_APW_LAT = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_500_APW_LAT, NULL }; static int hf_062_500_APW_LON; static const FieldPart I062_500_APW_LON = { 16, 5.364418029785156e-06, FIELD_PART_UFLOAT, &hf_062_500_APW_LON, NULL }; static const FieldPart *I062_500_APW_PARTS[] = { &I062_500_APW_LAT, &I062_500_APW_LON, NULL }; static const AsterixField I062_500_APW = { FIXED, 4, 0, 0, &hf_062_500_APW, I062_500_APW_PARTS, { NULL } }; static int hf_062_500_AGA; static int hf_062_500_AGA_VALUE; static const FieldPart I062_500_AGA_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_500_AGA_VALUE, NULL }; static const FieldPart *I062_500_AGA_PARTS[] = { &I062_500_AGA_VALUE, NULL }; static const AsterixField I062_500_AGA = { FIXED, 1, 0, 0, &hf_062_500_AGA, I062_500_AGA_PARTS, { NULL } }; static int hf_062_500_ABA; static int hf_062_500_ABA_VALUE; static const FieldPart I062_500_ABA_VALUE = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_ABA_VALUE, NULL }; static const FieldPart *I062_500_ABA_PARTS[] = { &I062_500_ABA_VALUE, NULL }; static const AsterixField I062_500_ABA = { FIXED, 1, 0, 0, &hf_062_500_ABA, I062_500_ABA_PARTS, { NULL } }; static int hf_062_500_ATV; static int hf_062_500_ATV_X; static const FieldPart I062_500_ATV_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_ATV_X, NULL }; static int hf_062_500_ATV_Y; static const FieldPart I062_500_ATV_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_ATV_Y, NULL }; static const FieldPart *I062_500_ATV_PARTS[] = { &I062_500_ATV_X, &I062_500_ATV_Y, NULL }; static const AsterixField I062_500_ATV = { FIXED, 2, 0, 0, &hf_062_500_ATV, I062_500_ATV_PARTS, { NULL } }; static int hf_062_500_AA; static int hf_062_500_AA_X; static const FieldPart I062_500_AA_X = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_AA_X, NULL }; static int hf_062_500_AA_Y; static const FieldPart I062_500_AA_Y = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_AA_Y, NULL }; static const FieldPart *I062_500_AA_PARTS[] = { &I062_500_AA_X, &I062_500_AA_Y, NULL }; static const AsterixField I062_500_AA = { FIXED, 2, 0, 0, &hf_062_500_AA, I062_500_AA_PARTS, { NULL } }; static int hf_062_500_ARC; static int hf_062_500_ARC_VALUE; static const FieldPart I062_500_ARC_VALUE = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_500_ARC_VALUE, NULL }; static const FieldPart *I062_500_ARC_PARTS[] = { &I062_500_ARC_VALUE, NULL }; static const AsterixField I062_500_ARC = { FIXED, 1, 0, 0, &hf_062_500_ARC, I062_500_ARC_PARTS, { NULL } }; static const AsterixField I062_500 = { COMPOUND, 0, 0, 0, &hf_062_500, NULL, { &I062_500_APC, &I062_500_COV, &I062_500_APW, &I062_500_AGA, &I062_500_ABA, &I062_500_ATV, &I062_500_AA, &I062_500_ARC, NULL } }; static int hf_062_510; static int hf_062_510_MIDENT; static const FieldPart I062_510_MIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_510_MIDENT, NULL }; static int hf_062_510_MTRACK; static const FieldPart I062_510_MTRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_510_MTRACK, NULL }; static int hf_062_510_SIDENT; static const FieldPart I062_510_SIDENT = { 8, 1.0, FIELD_PART_HEX, &hf_062_510_SIDENT, NULL }; static int hf_062_510_STRACK; static const FieldPart I062_510_STRACK = { 15, 1.0, FIELD_PART_HEX, &hf_062_510_STRACK, NULL }; static const FieldPart *I062_510_PARTS[] = { &I062_510_MIDENT, &I062_510_MTRACK, &IXXX_FX, &I062_510_SIDENT, &I062_510_STRACK, &IXXX_FX, NULL }; static const AsterixField I062_510 = { FX, 3, 0, 0, &hf_062_510, I062_510_PARTS, { NULL } }; static int hf_062_RE; static const AsterixField I062_RE = { EXP, 0, 0, 1, &hf_062_RE, NULL, { NULL } }; static int hf_062_SP; static const AsterixField I062_SP = { EXP, 0, 0, 1, &hf_062_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I062_V1_20_uap[] = { &I062_V1_20_010, &IX_SPARE, &I062_V1_20_015, &I062_V1_20_070, &I062_V1_20_105, &I062_V1_20_100, &I062_V1_20_185, &I062_V1_20_210, &I062_V1_20_060, &I062_V1_20_245, &I062_V1_20_380, &I062_V1_20_040, &I062_V1_20_080, &I062_V1_20_290, &I062_V1_20_200, &I062_V1_20_295, &I062_V1_20_136, &I062_V1_20_130, &I062_V1_20_135, &I062_V1_20_220, &I062_V1_20_390, &I062_V1_20_270, &I062_V1_20_300, &I062_V1_20_110, &I062_V1_20_120, &I062_V1_20_510, &I062_V1_20_500, &I062_V1_20_340, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I062_V1_20_RE, &I062_V1_20_SP, NULL }; static const AsterixField **I062_V1_20[] = { I062_V1_20_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I062_uap[] = { &I062_010, &IX_SPARE, &I062_015, &I062_070, &I062_105, &I062_100, &I062_185, &I062_210, &I062_060, &I062_245, &I062_380, &I062_040, &I062_080, &I062_290, &I062_200, &I062_295, &I062_136, &I062_130, &I062_135, &I062_220, &I062_390, &I062_270, &I062_300, &I062_110, &I062_120, &I062_510, &I062_500, &I062_340, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I062_RE, &I062_SP, NULL }; static const AsterixField **I062[] = { I062_uap, NULL }; DIAG_ON_PEDANTIC /* Category 063, edition 1.6 */ static int hf_063_V1_6_010; static int hf_063_V1_6_010_SAC; static const FieldPart I063_V1_6_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_063_V1_6_010_SAC, NULL }; static int hf_063_V1_6_010_SIC; static const FieldPart I063_V1_6_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_063_V1_6_010_SIC, NULL }; static const FieldPart *I063_V1_6_010_PARTS[] = { &I063_V1_6_010_SAC, &I063_V1_6_010_SIC, NULL }; static const AsterixField I063_V1_6_010 = { FIXED, 2, 0, 0, &hf_063_V1_6_010, I063_V1_6_010_PARTS, { NULL } }; static int hf_063_V1_6_015; static int hf_063_V1_6_015_VALUE; static const FieldPart I063_V1_6_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_063_V1_6_015_VALUE, NULL }; static const FieldPart *I063_V1_6_015_PARTS[] = { &I063_V1_6_015_VALUE, NULL }; static const AsterixField I063_V1_6_015 = { FIXED, 1, 0, 0, &hf_063_V1_6_015, I063_V1_6_015_PARTS, { NULL } }; static int hf_063_V1_6_030; static int hf_063_V1_6_030_VALUE; static const FieldPart I063_V1_6_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_063_V1_6_030_VALUE, NULL }; static const FieldPart *I063_V1_6_030_PARTS[] = { &I063_V1_6_030_VALUE, NULL }; static const AsterixField I063_V1_6_030 = { FIXED, 3, 0, 0, &hf_063_V1_6_030, I063_V1_6_030_PARTS, { NULL } }; static int hf_063_V1_6_050; static int hf_063_V1_6_050_SAC; static const FieldPart I063_V1_6_050_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_063_V1_6_050_SAC, NULL }; static int hf_063_V1_6_050_SIC; static const FieldPart I063_V1_6_050_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_063_V1_6_050_SIC, NULL }; static const FieldPart *I063_V1_6_050_PARTS[] = { &I063_V1_6_050_SAC, &I063_V1_6_050_SIC, NULL }; static const AsterixField I063_V1_6_050 = { FIXED, 2, 0, 0, &hf_063_V1_6_050, I063_V1_6_050_PARTS, { NULL } }; static int hf_063_V1_6_060; static int hf_063_V1_6_060_CON; static const value_string valstr_063_V1_6_060_CON[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "Initialization" }, { 3, "Not currently connected" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_CON = { 2, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_CON, NULL }; static int hf_063_V1_6_060_PSR; static const value_string valstr_063_V1_6_060_PSR[] = { { 0, "PSR GO" }, { 1, "PSR NOGO" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_PSR, NULL }; static int hf_063_V1_6_060_SSR; static const value_string valstr_063_V1_6_060_SSR[] = { { 0, "SSR GO" }, { 1, "SSR NOGO" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_SSR, NULL }; static int hf_063_V1_6_060_MDS; static const value_string valstr_063_V1_6_060_MDS[] = { { 0, "MDS GO" }, { 1, "MDS NOGO" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_MDS, NULL }; static int hf_063_V1_6_060_ADS; static const value_string valstr_063_V1_6_060_ADS[] = { { 0, "ADS GO" }, { 1, "ADS NOGO" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_ADS, NULL }; static int hf_063_V1_6_060_MLT; static const value_string valstr_063_V1_6_060_MLT[] = { { 0, "MLT GO" }, { 1, "MLT NOGO" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_MLT = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_MLT, NULL }; static int hf_063_V1_6_060_OPS; static const value_string valstr_063_V1_6_060_OPS[] = { { 0, "System is released for operational use" }, { 1, "Operational use of System is inhibited" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_OPS = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_OPS, NULL }; static int hf_063_V1_6_060_ODP; static const value_string valstr_063_V1_6_060_ODP[] = { { 0, "Default, no overload" }, { 1, "Overload in DP" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_ODP = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_ODP, NULL }; static int hf_063_V1_6_060_OXT; static const value_string valstr_063_V1_6_060_OXT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_OXT = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_OXT, NULL }; static int hf_063_V1_6_060_MSC; static const value_string valstr_063_V1_6_060_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_MSC, NULL }; static int hf_063_V1_6_060_TSV; static const value_string valstr_063_V1_6_060_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_TSV, NULL }; static int hf_063_V1_6_060_NPW; static const value_string valstr_063_V1_6_060_NPW[] = { { 0, "Default (no meaning)" }, { 1, "No plots being received" }, { 0, NULL } }; static const FieldPart I063_V1_6_060_NPW = { 1, 1.0, FIELD_PART_UINT, &hf_063_V1_6_060_NPW, NULL }; static const FieldPart *I063_V1_6_060_PARTS[] = { &I063_V1_6_060_CON, &I063_V1_6_060_PSR, &I063_V1_6_060_SSR, &I063_V1_6_060_MDS, &I063_V1_6_060_ADS, &I063_V1_6_060_MLT, &IXXX_FX, &I063_V1_6_060_OPS, &I063_V1_6_060_ODP, &I063_V1_6_060_OXT, &I063_V1_6_060_MSC, &I063_V1_6_060_TSV, &I063_V1_6_060_NPW, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I063_V1_6_060 = { FX, 1, 0, 0, &hf_063_V1_6_060, I063_V1_6_060_PARTS, { NULL } }; static int hf_063_V1_6_070; static int hf_063_V1_6_070_VALUE; static const FieldPart I063_V1_6_070_VALUE = { 16, 1.0, FIELD_PART_FLOAT, &hf_063_V1_6_070_VALUE, NULL }; static const FieldPart *I063_V1_6_070_PARTS[] = { &I063_V1_6_070_VALUE, NULL }; static const AsterixField I063_V1_6_070 = { FIXED, 2, 0, 0, &hf_063_V1_6_070, I063_V1_6_070_PARTS, { NULL } }; static int hf_063_V1_6_080; static int hf_063_V1_6_080_SRG; static const FieldPart I063_V1_6_080_SRG = { 16, 1e-05, FIELD_PART_FLOAT, &hf_063_V1_6_080_SRG, NULL }; static int hf_063_V1_6_080_SRB; static const FieldPart I063_V1_6_080_SRB = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_063_V1_6_080_SRB, NULL }; static const FieldPart *I063_V1_6_080_PARTS[] = { &I063_V1_6_080_SRG, &I063_V1_6_080_SRB, NULL }; static const AsterixField I063_V1_6_080 = { FIXED, 4, 0, 0, &hf_063_V1_6_080, I063_V1_6_080_PARTS, { NULL } }; static int hf_063_V1_6_081; static int hf_063_V1_6_081_VALUE; static const FieldPart I063_V1_6_081_VALUE = { 16, 0.0054931640625, FIELD_PART_FLOAT, &hf_063_V1_6_081_VALUE, NULL }; static const FieldPart *I063_V1_6_081_PARTS[] = { &I063_V1_6_081_VALUE, NULL }; static const AsterixField I063_V1_6_081 = { FIXED, 2, 0, 0, &hf_063_V1_6_081, I063_V1_6_081_PARTS, { NULL } }; static int hf_063_V1_6_090; static int hf_063_V1_6_090_PRG; static const FieldPart I063_V1_6_090_PRG = { 16, 1e-05, FIELD_PART_FLOAT, &hf_063_V1_6_090_PRG, NULL }; static int hf_063_V1_6_090_PRB; static const FieldPart I063_V1_6_090_PRB = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_063_V1_6_090_PRB, NULL }; static const FieldPart *I063_V1_6_090_PARTS[] = { &I063_V1_6_090_PRG, &I063_V1_6_090_PRB, NULL }; static const AsterixField I063_V1_6_090 = { FIXED, 4, 0, 0, &hf_063_V1_6_090, I063_V1_6_090_PARTS, { NULL } }; static int hf_063_V1_6_091; static int hf_063_V1_6_091_VALUE; static const FieldPart I063_V1_6_091_VALUE = { 16, 0.0054931640625, FIELD_PART_FLOAT, &hf_063_V1_6_091_VALUE, NULL }; static const FieldPart *I063_V1_6_091_PARTS[] = { &I063_V1_6_091_VALUE, NULL }; static const AsterixField I063_V1_6_091 = { FIXED, 2, 0, 0, &hf_063_V1_6_091, I063_V1_6_091_PARTS, { NULL } }; static int hf_063_V1_6_092; static int hf_063_V1_6_092_VALUE; static const FieldPart I063_V1_6_092_VALUE = { 16, 0.0054931640625, FIELD_PART_FLOAT, &hf_063_V1_6_092_VALUE, NULL }; static const FieldPart *I063_V1_6_092_PARTS[] = { &I063_V1_6_092_VALUE, NULL }; static const AsterixField I063_V1_6_092 = { FIXED, 2, 0, 0, &hf_063_V1_6_092, I063_V1_6_092_PARTS, { NULL } }; static int hf_063_V1_6_RE; static const AsterixField I063_V1_6_RE = { EXP, 0, 0, 1, &hf_063_V1_6_RE, NULL, { NULL } }; static int hf_063_V1_6_SP; static const AsterixField I063_V1_6_SP = { EXP, 0, 0, 1, &hf_063_V1_6_SP, NULL, { NULL } }; /* Category 063, edition 1.6 (latest) */ static int hf_063_010; static int hf_063_010_SAC; static const FieldPart I063_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_063_010_SAC, NULL }; static int hf_063_010_SIC; static const FieldPart I063_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_063_010_SIC, NULL }; static const FieldPart *I063_010_PARTS[] = { &I063_010_SAC, &I063_010_SIC, NULL }; static const AsterixField I063_010 = { FIXED, 2, 0, 0, &hf_063_010, I063_010_PARTS, { NULL } }; static int hf_063_015; static int hf_063_015_VALUE; static const FieldPart I063_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_063_015_VALUE, NULL }; static const FieldPart *I063_015_PARTS[] = { &I063_015_VALUE, NULL }; static const AsterixField I063_015 = { FIXED, 1, 0, 0, &hf_063_015, I063_015_PARTS, { NULL } }; static int hf_063_030; static int hf_063_030_VALUE; static const FieldPart I063_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_063_030_VALUE, NULL }; static const FieldPart *I063_030_PARTS[] = { &I063_030_VALUE, NULL }; static const AsterixField I063_030 = { FIXED, 3, 0, 0, &hf_063_030, I063_030_PARTS, { NULL } }; static int hf_063_050; static int hf_063_050_SAC; static const FieldPart I063_050_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_063_050_SAC, NULL }; static int hf_063_050_SIC; static const FieldPart I063_050_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_063_050_SIC, NULL }; static const FieldPart *I063_050_PARTS[] = { &I063_050_SAC, &I063_050_SIC, NULL }; static const AsterixField I063_050 = { FIXED, 2, 0, 0, &hf_063_050, I063_050_PARTS, { NULL } }; static int hf_063_060; static int hf_063_060_CON; static const value_string valstr_063_060_CON[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "Initialization" }, { 3, "Not currently connected" }, { 0, NULL } }; static const FieldPart I063_060_CON = { 2, 1.0, FIELD_PART_UINT, &hf_063_060_CON, NULL }; static int hf_063_060_PSR; static const value_string valstr_063_060_PSR[] = { { 0, "PSR GO" }, { 1, "PSR NOGO" }, { 0, NULL } }; static const FieldPart I063_060_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_PSR, NULL }; static int hf_063_060_SSR; static const value_string valstr_063_060_SSR[] = { { 0, "SSR GO" }, { 1, "SSR NOGO" }, { 0, NULL } }; static const FieldPart I063_060_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_SSR, NULL }; static int hf_063_060_MDS; static const value_string valstr_063_060_MDS[] = { { 0, "MDS GO" }, { 1, "MDS NOGO" }, { 0, NULL } }; static const FieldPart I063_060_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_MDS, NULL }; static int hf_063_060_ADS; static const value_string valstr_063_060_ADS[] = { { 0, "ADS GO" }, { 1, "ADS NOGO" }, { 0, NULL } }; static const FieldPart I063_060_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_ADS, NULL }; static int hf_063_060_MLT; static const value_string valstr_063_060_MLT[] = { { 0, "MLT GO" }, { 1, "MLT NOGO" }, { 0, NULL } }; static const FieldPart I063_060_MLT = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_MLT, NULL }; static int hf_063_060_OPS; static const value_string valstr_063_060_OPS[] = { { 0, "System is released for operational use" }, { 1, "Operational use of System is inhibited" }, { 0, NULL } }; static const FieldPart I063_060_OPS = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_OPS, NULL }; static int hf_063_060_ODP; static const value_string valstr_063_060_ODP[] = { { 0, "Default, no overload" }, { 1, "Overload in DP" }, { 0, NULL } }; static const FieldPart I063_060_ODP = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_ODP, NULL }; static int hf_063_060_OXT; static const value_string valstr_063_060_OXT[] = { { 0, "Default, no overload" }, { 1, "Overload in transmission subsystem" }, { 0, NULL } }; static const FieldPart I063_060_OXT = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_OXT, NULL }; static int hf_063_060_MSC; static const value_string valstr_063_060_MSC[] = { { 0, "Monitoring system connected" }, { 1, "Monitoring system disconnected" }, { 0, NULL } }; static const FieldPart I063_060_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_MSC, NULL }; static int hf_063_060_TSV; static const value_string valstr_063_060_TSV[] = { { 0, "Valid" }, { 1, "Invalid" }, { 0, NULL } }; static const FieldPart I063_060_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_TSV, NULL }; static int hf_063_060_NPW; static const value_string valstr_063_060_NPW[] = { { 0, "Default (no meaning)" }, { 1, "No plots being received" }, { 0, NULL } }; static const FieldPart I063_060_NPW = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_NPW, NULL }; static const FieldPart *I063_060_PARTS[] = { &I063_060_CON, &I063_060_PSR, &I063_060_SSR, &I063_060_MDS, &I063_060_ADS, &I063_060_MLT, &IXXX_FX, &I063_060_OPS, &I063_060_ODP, &I063_060_OXT, &I063_060_MSC, &I063_060_TSV, &I063_060_NPW, &IXXX_1bit_spare, &IXXX_FX, NULL }; static const AsterixField I063_060 = { FX, 1, 0, 0, &hf_063_060, I063_060_PARTS, { NULL } }; static int hf_063_070; static int hf_063_070_VALUE; static const FieldPart I063_070_VALUE = { 16, 1.0, FIELD_PART_FLOAT, &hf_063_070_VALUE, NULL }; static const FieldPart *I063_070_PARTS[] = { &I063_070_VALUE, NULL }; static const AsterixField I063_070 = { FIXED, 2, 0, 0, &hf_063_070, I063_070_PARTS, { NULL } }; static int hf_063_080; static int hf_063_080_SRG; static const FieldPart I063_080_SRG = { 16, 1e-05, FIELD_PART_FLOAT, &hf_063_080_SRG, NULL }; static int hf_063_080_SRB; static const FieldPart I063_080_SRB = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_063_080_SRB, NULL }; static const FieldPart *I063_080_PARTS[] = { &I063_080_SRG, &I063_080_SRB, NULL }; static const AsterixField I063_080 = { FIXED, 4, 0, 0, &hf_063_080, I063_080_PARTS, { NULL } }; static int hf_063_081; static int hf_063_081_VALUE; static const FieldPart I063_081_VALUE = { 16, 0.0054931640625, FIELD_PART_FLOAT, &hf_063_081_VALUE, NULL }; static const FieldPart *I063_081_PARTS[] = { &I063_081_VALUE, NULL }; static const AsterixField I063_081 = { FIXED, 2, 0, 0, &hf_063_081, I063_081_PARTS, { NULL } }; static int hf_063_090; static int hf_063_090_PRG; static const FieldPart I063_090_PRG = { 16, 1e-05, FIELD_PART_FLOAT, &hf_063_090_PRG, NULL }; static int hf_063_090_PRB; static const FieldPart I063_090_PRB = { 16, 0.0078125, FIELD_PART_FLOAT, &hf_063_090_PRB, NULL }; static const FieldPart *I063_090_PARTS[] = { &I063_090_PRG, &I063_090_PRB, NULL }; static const AsterixField I063_090 = { FIXED, 4, 0, 0, &hf_063_090, I063_090_PARTS, { NULL } }; static int hf_063_091; static int hf_063_091_VALUE; static const FieldPart I063_091_VALUE = { 16, 0.0054931640625, FIELD_PART_FLOAT, &hf_063_091_VALUE, NULL }; static const FieldPart *I063_091_PARTS[] = { &I063_091_VALUE, NULL }; static const AsterixField I063_091 = { FIXED, 2, 0, 0, &hf_063_091, I063_091_PARTS, { NULL } }; static int hf_063_092; static int hf_063_092_VALUE; static const FieldPart I063_092_VALUE = { 16, 0.0054931640625, FIELD_PART_FLOAT, &hf_063_092_VALUE, NULL }; static const FieldPart *I063_092_PARTS[] = { &I063_092_VALUE, NULL }; static const AsterixField I063_092 = { FIXED, 2, 0, 0, &hf_063_092, I063_092_PARTS, { NULL } }; static int hf_063_RE; static const AsterixField I063_RE = { EXP, 0, 0, 1, &hf_063_RE, NULL, { NULL } }; static int hf_063_SP; static const AsterixField I063_SP = { EXP, 0, 0, 1, &hf_063_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I063_V1_6_uap[] = { &I063_V1_6_010, &I063_V1_6_015, &I063_V1_6_030, &I063_V1_6_050, &I063_V1_6_060, &I063_V1_6_070, &I063_V1_6_080, &I063_V1_6_081, &I063_V1_6_090, &I063_V1_6_091, &I063_V1_6_092, &IX_SPARE, &I063_V1_6_RE, &I063_V1_6_SP, NULL }; static const AsterixField **I063_V1_6[] = { I063_V1_6_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I063_uap[] = { &I063_010, &I063_015, &I063_030, &I063_050, &I063_060, &I063_070, &I063_080, &I063_081, &I063_090, &I063_091, &I063_092, &IX_SPARE, &I063_RE, &I063_SP, NULL }; static const AsterixField **I063[] = { I063_uap, NULL }; DIAG_ON_PEDANTIC /* Category 065, edition 1.4 */ static int hf_065_V1_4_000; static int hf_065_V1_4_000_VALUE; static const value_string valstr_065_V1_4_000_VALUE[] = { { 1, "SDPS Status" }, { 2, "End of Batch" }, { 3, "Service Status Report" }, { 0, NULL } }; static const FieldPart I065_V1_4_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_4_000_VALUE, NULL }; static const FieldPart *I065_V1_4_000_PARTS[] = { &I065_V1_4_000_VALUE, NULL }; static const AsterixField I065_V1_4_000 = { FIXED, 1, 0, 0, &hf_065_V1_4_000, I065_V1_4_000_PARTS, { NULL } }; static int hf_065_V1_4_010; static int hf_065_V1_4_010_SAC; static const FieldPart I065_V1_4_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_4_010_SAC, NULL }; static int hf_065_V1_4_010_SIC; static const FieldPart I065_V1_4_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_4_010_SIC, NULL }; static const FieldPart *I065_V1_4_010_PARTS[] = { &I065_V1_4_010_SAC, &I065_V1_4_010_SIC, NULL }; static const AsterixField I065_V1_4_010 = { FIXED, 2, 0, 0, &hf_065_V1_4_010, I065_V1_4_010_PARTS, { NULL } }; static int hf_065_V1_4_015; static int hf_065_V1_4_015_VALUE; static const FieldPart I065_V1_4_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_4_015_VALUE, NULL }; static const FieldPart *I065_V1_4_015_PARTS[] = { &I065_V1_4_015_VALUE, NULL }; static const AsterixField I065_V1_4_015 = { FIXED, 1, 0, 0, &hf_065_V1_4_015, I065_V1_4_015_PARTS, { NULL } }; static int hf_065_V1_4_020; static int hf_065_V1_4_020_VALUE; static const FieldPart I065_V1_4_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_4_020_VALUE, NULL }; static const FieldPart *I065_V1_4_020_PARTS[] = { &I065_V1_4_020_VALUE, NULL }; static const AsterixField I065_V1_4_020 = { FIXED, 1, 0, 0, &hf_065_V1_4_020, I065_V1_4_020_PARTS, { NULL } }; static int hf_065_V1_4_030; static int hf_065_V1_4_030_VALUE; static const FieldPart I065_V1_4_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_065_V1_4_030_VALUE, NULL }; static const FieldPart *I065_V1_4_030_PARTS[] = { &I065_V1_4_030_VALUE, NULL }; static const AsterixField I065_V1_4_030 = { FIXED, 3, 0, 0, &hf_065_V1_4_030, I065_V1_4_030_PARTS, { NULL } }; static int hf_065_V1_4_040; static int hf_065_V1_4_040_NOGO; static const value_string valstr_065_V1_4_040_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "Not currently connected" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I065_V1_4_040_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_065_V1_4_040_NOGO, NULL }; static int hf_065_V1_4_040_OVL; static const value_string valstr_065_V1_4_040_OVL[] = { { 0, "Default" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I065_V1_4_040_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_065_V1_4_040_OVL, NULL }; static int hf_065_V1_4_040_TSV; static const value_string valstr_065_V1_4_040_TSV[] = { { 0, "Default" }, { 1, "Invalid Time Source" }, { 0, NULL } }; static const FieldPart I065_V1_4_040_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_065_V1_4_040_TSV, NULL }; static int hf_065_V1_4_040_PSS; static const value_string valstr_065_V1_4_040_PSS[] = { { 0, "Not applicable" }, { 1, "SDPS-1 selected" }, { 2, "SDPS-2 selected" }, { 3, "SDPS-3 selected" }, { 0, NULL } }; static const FieldPart I065_V1_4_040_PSS = { 2, 1.0, FIELD_PART_UINT, &hf_065_V1_4_040_PSS, NULL }; static int hf_065_V1_4_040_STTN; static const FieldPart I065_V1_4_040_STTN = { 1, 1.0, FIELD_PART_HEX, &hf_065_V1_4_040_STTN, NULL }; static const FieldPart *I065_V1_4_040_PARTS[] = { &I065_V1_4_040_NOGO, &I065_V1_4_040_OVL, &I065_V1_4_040_TSV, &I065_V1_4_040_PSS, &I065_V1_4_040_STTN, &IXXX_1bit_spare, NULL }; static const AsterixField I065_V1_4_040 = { FIXED, 1, 0, 0, &hf_065_V1_4_040, I065_V1_4_040_PARTS, { NULL } }; static int hf_065_V1_4_050; static int hf_065_V1_4_050_VALUE; static const value_string valstr_065_V1_4_050_VALUE[] = { { 1, "Service degradation" }, { 2, "Service degradation ended" }, { 3, "Main radar out of service" }, { 4, "Service interrupted by the operator" }, { 5, "Service interrupted due to contingency" }, { 6, "Ready for service restart after contingency" }, { 7, "Service ended by the operator" }, { 8, "Failure of user main radar" }, { 9, "Service restarted by the operator" }, { 10, "Main radar becoming operational" }, { 11, "Main radar becoming degraded" }, { 12, "Service continuity interrupted due to disconnection with adjacent unit" }, { 13, "Service continuity restarted" }, { 14, "Service synchronised on backup radar" }, { 15, "Service synchronised on main radar" }, { 16, "Main and backup radar, if any, failed" }, { 0, NULL } }; static const FieldPart I065_V1_4_050_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_4_050_VALUE, NULL }; static const FieldPart *I065_V1_4_050_PARTS[] = { &I065_V1_4_050_VALUE, NULL }; static const AsterixField I065_V1_4_050 = { FIXED, 1, 0, 0, &hf_065_V1_4_050, I065_V1_4_050_PARTS, { NULL } }; static int hf_065_V1_4_RE; static const AsterixField I065_V1_4_RE = { EXP, 0, 0, 1, &hf_065_V1_4_RE, NULL, { NULL } }; static int hf_065_V1_4_SP; static const AsterixField I065_V1_4_SP = { EXP, 0, 0, 1, &hf_065_V1_4_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I065_V1_4_uap[] = { &I065_V1_4_010, &I065_V1_4_000, &I065_V1_4_015, &I065_V1_4_030, &I065_V1_4_020, &I065_V1_4_040, &I065_V1_4_050, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I065_V1_4_RE, &I065_V1_4_SP, NULL }; static const AsterixField **I065_V1_4[] = { I065_V1_4_uap, NULL }; DIAG_ON_PEDANTIC /* Category 065, edition 1.5 */ static int hf_065_V1_5_000; static int hf_065_V1_5_000_VALUE; static const value_string valstr_065_V1_5_000_VALUE[] = { { 1, "SDPS Status" }, { 2, "End of Batch" }, { 3, "Service Status Report" }, { 0, NULL } }; static const FieldPart I065_V1_5_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_5_000_VALUE, NULL }; static const FieldPart *I065_V1_5_000_PARTS[] = { &I065_V1_5_000_VALUE, NULL }; static const AsterixField I065_V1_5_000 = { FIXED, 1, 0, 0, &hf_065_V1_5_000, I065_V1_5_000_PARTS, { NULL } }; static int hf_065_V1_5_010; static int hf_065_V1_5_010_SAC; static const FieldPart I065_V1_5_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_5_010_SAC, NULL }; static int hf_065_V1_5_010_SIC; static const FieldPart I065_V1_5_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_5_010_SIC, NULL }; static const FieldPart *I065_V1_5_010_PARTS[] = { &I065_V1_5_010_SAC, &I065_V1_5_010_SIC, NULL }; static const AsterixField I065_V1_5_010 = { FIXED, 2, 0, 0, &hf_065_V1_5_010, I065_V1_5_010_PARTS, { NULL } }; static int hf_065_V1_5_015; static int hf_065_V1_5_015_VALUE; static const FieldPart I065_V1_5_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_5_015_VALUE, NULL }; static const FieldPart *I065_V1_5_015_PARTS[] = { &I065_V1_5_015_VALUE, NULL }; static const AsterixField I065_V1_5_015 = { FIXED, 1, 0, 0, &hf_065_V1_5_015, I065_V1_5_015_PARTS, { NULL } }; static int hf_065_V1_5_020; static int hf_065_V1_5_020_VALUE; static const FieldPart I065_V1_5_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_5_020_VALUE, NULL }; static const FieldPart *I065_V1_5_020_PARTS[] = { &I065_V1_5_020_VALUE, NULL }; static const AsterixField I065_V1_5_020 = { FIXED, 1, 0, 0, &hf_065_V1_5_020, I065_V1_5_020_PARTS, { NULL } }; static int hf_065_V1_5_030; static int hf_065_V1_5_030_VALUE; static const FieldPart I065_V1_5_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_065_V1_5_030_VALUE, NULL }; static const FieldPart *I065_V1_5_030_PARTS[] = { &I065_V1_5_030_VALUE, NULL }; static const AsterixField I065_V1_5_030 = { FIXED, 3, 0, 0, &hf_065_V1_5_030, I065_V1_5_030_PARTS, { NULL } }; static int hf_065_V1_5_040; static int hf_065_V1_5_040_NOGO; static const value_string valstr_065_V1_5_040_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "Not currently connected" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I065_V1_5_040_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_065_V1_5_040_NOGO, NULL }; static int hf_065_V1_5_040_OVL; static const value_string valstr_065_V1_5_040_OVL[] = { { 0, "Default" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I065_V1_5_040_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_065_V1_5_040_OVL, NULL }; static int hf_065_V1_5_040_TSV; static const value_string valstr_065_V1_5_040_TSV[] = { { 0, "Default" }, { 1, "Invalid Time Source" }, { 0, NULL } }; static const FieldPart I065_V1_5_040_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_065_V1_5_040_TSV, NULL }; static int hf_065_V1_5_040_PSS; static const value_string valstr_065_V1_5_040_PSS[] = { { 0, "Not applicable" }, { 1, "SDPS-1 selected" }, { 2, "SDPS-2 selected" }, { 3, "SDPS-3 selected" }, { 0, NULL } }; static const FieldPart I065_V1_5_040_PSS = { 2, 1.0, FIELD_PART_UINT, &hf_065_V1_5_040_PSS, NULL }; static int hf_065_V1_5_040_STTN; static const FieldPart I065_V1_5_040_STTN = { 1, 1.0, FIELD_PART_HEX, &hf_065_V1_5_040_STTN, NULL }; static const FieldPart *I065_V1_5_040_PARTS[] = { &I065_V1_5_040_NOGO, &I065_V1_5_040_OVL, &I065_V1_5_040_TSV, &I065_V1_5_040_PSS, &I065_V1_5_040_STTN, &IXXX_1bit_spare, NULL }; static const AsterixField I065_V1_5_040 = { FIXED, 1, 0, 0, &hf_065_V1_5_040, I065_V1_5_040_PARTS, { NULL } }; static int hf_065_V1_5_050; static int hf_065_V1_5_050_VALUE; static const value_string valstr_065_V1_5_050_VALUE[] = { { 1, "Service degradation" }, { 2, "Service degradation ended" }, { 3, "Main radar out of service" }, { 4, "Service interrupted by the operator" }, { 5, "Service interrupted due to contingency" }, { 6, "Ready for service restart after contingency" }, { 7, "Service ended by the operator" }, { 8, "Failure of user main radar" }, { 9, "Service restarted by the operator" }, { 10, "Main radar becoming operational" }, { 11, "Main radar becoming degraded" }, { 12, "Service continuity interrupted due to disconnection with adjacent unit" }, { 13, "Service continuity restarted" }, { 14, "Service synchronised on backup radar" }, { 15, "Service synchronised on main radar" }, { 16, "Main and backup radar, if any, failed" }, { 0, NULL } }; static const FieldPart I065_V1_5_050_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_5_050_VALUE, NULL }; static const FieldPart *I065_V1_5_050_PARTS[] = { &I065_V1_5_050_VALUE, NULL }; static const AsterixField I065_V1_5_050 = { FIXED, 1, 0, 0, &hf_065_V1_5_050, I065_V1_5_050_PARTS, { NULL } }; static int hf_065_V1_5_RE; static const AsterixField I065_V1_5_RE = { EXP, 0, 0, 1, &hf_065_V1_5_RE, NULL, { NULL } }; static int hf_065_V1_5_SP; static const AsterixField I065_V1_5_SP = { EXP, 0, 0, 1, &hf_065_V1_5_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I065_V1_5_uap[] = { &I065_V1_5_010, &I065_V1_5_000, &I065_V1_5_015, &I065_V1_5_030, &I065_V1_5_020, &I065_V1_5_040, &I065_V1_5_050, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I065_V1_5_RE, &I065_V1_5_SP, NULL }; static const AsterixField **I065_V1_5[] = { I065_V1_5_uap, NULL }; DIAG_ON_PEDANTIC /* Category 065, edition 1.6 */ static int hf_065_V1_6_000; static int hf_065_V1_6_000_VALUE; static const value_string valstr_065_V1_6_000_VALUE[] = { { 1, "SDPS Status" }, { 2, "End of Batch" }, { 3, "Service Status Report" }, { 0, NULL } }; static const FieldPart I065_V1_6_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_6_000_VALUE, NULL }; static const FieldPart *I065_V1_6_000_PARTS[] = { &I065_V1_6_000_VALUE, NULL }; static const AsterixField I065_V1_6_000 = { FIXED, 1, 0, 0, &hf_065_V1_6_000, I065_V1_6_000_PARTS, { NULL } }; static int hf_065_V1_6_010; static int hf_065_V1_6_010_SAC; static const FieldPart I065_V1_6_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_6_010_SAC, NULL }; static int hf_065_V1_6_010_SIC; static const FieldPart I065_V1_6_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_6_010_SIC, NULL }; static const FieldPart *I065_V1_6_010_PARTS[] = { &I065_V1_6_010_SAC, &I065_V1_6_010_SIC, NULL }; static const AsterixField I065_V1_6_010 = { FIXED, 2, 0, 0, &hf_065_V1_6_010, I065_V1_6_010_PARTS, { NULL } }; static int hf_065_V1_6_015; static int hf_065_V1_6_015_VALUE; static const FieldPart I065_V1_6_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_065_V1_6_015_VALUE, NULL }; static const FieldPart *I065_V1_6_015_PARTS[] = { &I065_V1_6_015_VALUE, NULL }; static const AsterixField I065_V1_6_015 = { FIXED, 1, 0, 0, &hf_065_V1_6_015, I065_V1_6_015_PARTS, { NULL } }; static int hf_065_V1_6_020; static int hf_065_V1_6_020_VALUE; static const FieldPart I065_V1_6_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_6_020_VALUE, NULL }; static const FieldPart *I065_V1_6_020_PARTS[] = { &I065_V1_6_020_VALUE, NULL }; static const AsterixField I065_V1_6_020 = { FIXED, 1, 0, 0, &hf_065_V1_6_020, I065_V1_6_020_PARTS, { NULL } }; static int hf_065_V1_6_030; static int hf_065_V1_6_030_VALUE; static const FieldPart I065_V1_6_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_065_V1_6_030_VALUE, NULL }; static const FieldPart *I065_V1_6_030_PARTS[] = { &I065_V1_6_030_VALUE, NULL }; static const AsterixField I065_V1_6_030 = { FIXED, 3, 0, 0, &hf_065_V1_6_030, I065_V1_6_030_PARTS, { NULL } }; static int hf_065_V1_6_040; static int hf_065_V1_6_040_NOGO; static const value_string valstr_065_V1_6_040_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "Not currently connected" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I065_V1_6_040_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_065_V1_6_040_NOGO, NULL }; static int hf_065_V1_6_040_OVL; static const value_string valstr_065_V1_6_040_OVL[] = { { 0, "Default" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I065_V1_6_040_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_065_V1_6_040_OVL, NULL }; static int hf_065_V1_6_040_TSV; static const value_string valstr_065_V1_6_040_TSV[] = { { 0, "Default" }, { 1, "Invalid Time Source" }, { 0, NULL } }; static const FieldPart I065_V1_6_040_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_065_V1_6_040_TSV, NULL }; static int hf_065_V1_6_040_PSS; static const value_string valstr_065_V1_6_040_PSS[] = { { 0, "Not applicable" }, { 1, "SDPS-1 selected" }, { 2, "SDPS-2 selected" }, { 3, "SDPS-3 selected" }, { 0, NULL } }; static const FieldPart I065_V1_6_040_PSS = { 2, 1.0, FIELD_PART_UINT, &hf_065_V1_6_040_PSS, NULL }; static int hf_065_V1_6_040_STTN; static const FieldPart I065_V1_6_040_STTN = { 1, 1.0, FIELD_PART_HEX, &hf_065_V1_6_040_STTN, NULL }; static const FieldPart *I065_V1_6_040_PARTS[] = { &I065_V1_6_040_NOGO, &I065_V1_6_040_OVL, &I065_V1_6_040_TSV, &I065_V1_6_040_PSS, &I065_V1_6_040_STTN, &IXXX_1bit_spare, NULL }; static const AsterixField I065_V1_6_040 = { FIXED, 1, 0, 0, &hf_065_V1_6_040, I065_V1_6_040_PARTS, { NULL } }; static int hf_065_V1_6_050; static int hf_065_V1_6_050_VALUE; static const value_string valstr_065_V1_6_050_VALUE[] = { { 1, "Service degradation" }, { 2, "Service degradation ended" }, { 3, "Main radar out of service" }, { 4, "Service interrupted by the operator" }, { 5, "Service interrupted due to contingency" }, { 6, "Ready for service restart after contingency" }, { 7, "Service ended by the operator" }, { 8, "Failure of user main radar" }, { 9, "Service restarted by the operator" }, { 10, "Main radar becoming operational" }, { 11, "Main radar becoming degraded" }, { 12, "Service continuity interrupted due to disconnection with adjacent unit" }, { 13, "Service continuity restarted" }, { 14, "Service synchronised on backup radar" }, { 15, "Service synchronised on main radar" }, { 16, "Main and backup radar, if any, failed" }, { 0, NULL } }; static const FieldPart I065_V1_6_050_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_V1_6_050_VALUE, NULL }; static const FieldPart *I065_V1_6_050_PARTS[] = { &I065_V1_6_050_VALUE, NULL }; static const AsterixField I065_V1_6_050 = { FIXED, 1, 0, 0, &hf_065_V1_6_050, I065_V1_6_050_PARTS, { NULL } }; static int hf_065_V1_6_RE; static const AsterixField I065_V1_6_RE = { EXP, 0, 0, 1, &hf_065_V1_6_RE, NULL, { NULL } }; static int hf_065_V1_6_SP; static const AsterixField I065_V1_6_SP = { EXP, 0, 0, 1, &hf_065_V1_6_SP, NULL, { NULL } }; /* Category 065, edition 1.6 (latest) */ static int hf_065_000; static int hf_065_000_VALUE; static const value_string valstr_065_000_VALUE[] = { { 1, "SDPS Status" }, { 2, "End of Batch" }, { 3, "Service Status Report" }, { 0, NULL } }; static const FieldPart I065_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_000_VALUE, NULL }; static const FieldPart *I065_000_PARTS[] = { &I065_000_VALUE, NULL }; static const AsterixField I065_000 = { FIXED, 1, 0, 0, &hf_065_000, I065_000_PARTS, { NULL } }; static int hf_065_010; static int hf_065_010_SAC; static const FieldPart I065_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_065_010_SAC, NULL }; static int hf_065_010_SIC; static const FieldPart I065_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_065_010_SIC, NULL }; static const FieldPart *I065_010_PARTS[] = { &I065_010_SAC, &I065_010_SIC, NULL }; static const AsterixField I065_010 = { FIXED, 2, 0, 0, &hf_065_010, I065_010_PARTS, { NULL } }; static int hf_065_015; static int hf_065_015_VALUE; static const FieldPart I065_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_065_015_VALUE, NULL }; static const FieldPart *I065_015_PARTS[] = { &I065_015_VALUE, NULL }; static const AsterixField I065_015 = { FIXED, 1, 0, 0, &hf_065_015, I065_015_PARTS, { NULL } }; static int hf_065_020; static int hf_065_020_VALUE; static const FieldPart I065_020_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_020_VALUE, NULL }; static const FieldPart *I065_020_PARTS[] = { &I065_020_VALUE, NULL }; static const AsterixField I065_020 = { FIXED, 1, 0, 0, &hf_065_020, I065_020_PARTS, { NULL } }; static int hf_065_030; static int hf_065_030_VALUE; static const FieldPart I065_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_065_030_VALUE, NULL }; static const FieldPart *I065_030_PARTS[] = { &I065_030_VALUE, NULL }; static const AsterixField I065_030 = { FIXED, 3, 0, 0, &hf_065_030, I065_030_PARTS, { NULL } }; static int hf_065_040; static int hf_065_040_NOGO; static const value_string valstr_065_040_NOGO[] = { { 0, "Operational" }, { 1, "Degraded" }, { 2, "Not currently connected" }, { 3, "Unknown" }, { 0, NULL } }; static const FieldPart I065_040_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_065_040_NOGO, NULL }; static int hf_065_040_OVL; static const value_string valstr_065_040_OVL[] = { { 0, "Default" }, { 1, "Overload" }, { 0, NULL } }; static const FieldPart I065_040_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_065_040_OVL, NULL }; static int hf_065_040_TSV; static const value_string valstr_065_040_TSV[] = { { 0, "Default" }, { 1, "Invalid Time Source" }, { 0, NULL } }; static const FieldPart I065_040_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_065_040_TSV, NULL }; static int hf_065_040_PSS; static const value_string valstr_065_040_PSS[] = { { 0, "Not applicable" }, { 1, "SDPS-1 selected" }, { 2, "SDPS-2 selected" }, { 3, "SDPS-3 selected" }, { 0, NULL } }; static const FieldPart I065_040_PSS = { 2, 1.0, FIELD_PART_UINT, &hf_065_040_PSS, NULL }; static int hf_065_040_STTN; static const FieldPart I065_040_STTN = { 1, 1.0, FIELD_PART_HEX, &hf_065_040_STTN, NULL }; static const FieldPart *I065_040_PARTS[] = { &I065_040_NOGO, &I065_040_OVL, &I065_040_TSV, &I065_040_PSS, &I065_040_STTN, &IXXX_1bit_spare, NULL }; static const AsterixField I065_040 = { FIXED, 1, 0, 0, &hf_065_040, I065_040_PARTS, { NULL } }; static int hf_065_050; static int hf_065_050_VALUE; static const value_string valstr_065_050_VALUE[] = { { 1, "Service degradation" }, { 2, "Service degradation ended" }, { 3, "Main radar out of service" }, { 4, "Service interrupted by the operator" }, { 5, "Service interrupted due to contingency" }, { 6, "Ready for service restart after contingency" }, { 7, "Service ended by the operator" }, { 8, "Failure of user main radar" }, { 9, "Service restarted by the operator" }, { 10, "Main radar becoming operational" }, { 11, "Main radar becoming degraded" }, { 12, "Service continuity interrupted due to disconnection with adjacent unit" }, { 13, "Service continuity restarted" }, { 14, "Service synchronised on backup radar" }, { 15, "Service synchronised on main radar" }, { 16, "Main and backup radar, if any, failed" }, { 0, NULL } }; static const FieldPart I065_050_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_065_050_VALUE, NULL }; static const FieldPart *I065_050_PARTS[] = { &I065_050_VALUE, NULL }; static const AsterixField I065_050 = { FIXED, 1, 0, 0, &hf_065_050, I065_050_PARTS, { NULL } }; static int hf_065_RE; static const AsterixField I065_RE = { EXP, 0, 0, 1, &hf_065_RE, NULL, { NULL } }; static int hf_065_SP; static const AsterixField I065_SP = { EXP, 0, 0, 1, &hf_065_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I065_V1_6_uap[] = { &I065_V1_6_010, &I065_V1_6_000, &I065_V1_6_015, &I065_V1_6_030, &I065_V1_6_020, &I065_V1_6_040, &I065_V1_6_050, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I065_V1_6_RE, &I065_V1_6_SP, NULL }; static const AsterixField **I065_V1_6[] = { I065_V1_6_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I065_uap[] = { &I065_010, &I065_000, &I065_015, &I065_030, &I065_020, &I065_040, &I065_050, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I065_RE, &I065_SP, NULL }; static const AsterixField **I065[] = { I065_uap, NULL }; DIAG_ON_PEDANTIC /* Category 205, edition 1.0 */ static int hf_205_V1_0_000; static int hf_205_V1_0_000_VALUE; static const value_string valstr_205_V1_0_000_VALUE[] = { { 1, "System Position Report" }, { 2, "System Bearing Report" }, { 3, "System Position Report of conflicting transmission" }, { 4, "System Detection End Report" }, { 5, "Sensor Data Report" }, { 0, NULL } }; static const FieldPart I205_V1_0_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_205_V1_0_000_VALUE, NULL }; static const FieldPart *I205_V1_0_000_PARTS[] = { &I205_V1_0_000_VALUE, NULL }; static const AsterixField I205_V1_0_000 = { FIXED, 1, 0, 0, &hf_205_V1_0_000, I205_V1_0_000_PARTS, { NULL } }; static int hf_205_V1_0_010; static int hf_205_V1_0_010_SAC; static const FieldPart I205_V1_0_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_010_SAC, NULL }; static int hf_205_V1_0_010_SIC; static const FieldPart I205_V1_0_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_010_SIC, NULL }; static const FieldPart *I205_V1_0_010_PARTS[] = { &I205_V1_0_010_SAC, &I205_V1_0_010_SIC, NULL }; static const AsterixField I205_V1_0_010 = { FIXED, 2, 0, 0, &hf_205_V1_0_010, I205_V1_0_010_PARTS, { NULL } }; static int hf_205_V1_0_015; static int hf_205_V1_0_015_VALUE; static const FieldPart I205_V1_0_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_015_VALUE, NULL }; static const FieldPart *I205_V1_0_015_PARTS[] = { &I205_V1_0_015_VALUE, NULL }; static const AsterixField I205_V1_0_015 = { FIXED, 1, 0, 0, &hf_205_V1_0_015, I205_V1_0_015_PARTS, { NULL } }; static int hf_205_V1_0_030; static int hf_205_V1_0_030_VALUE; static const FieldPart I205_V1_0_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_205_V1_0_030_VALUE, NULL }; static const FieldPart *I205_V1_0_030_PARTS[] = { &I205_V1_0_030_VALUE, NULL }; static const AsterixField I205_V1_0_030 = { FIXED, 3, 0, 0, &hf_205_V1_0_030, I205_V1_0_030_PARTS, { NULL } }; static int hf_205_V1_0_040; static int hf_205_V1_0_040_VALUE; static const FieldPart I205_V1_0_040_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_040_VALUE, NULL }; static const FieldPart *I205_V1_0_040_PARTS[] = { &I205_V1_0_040_VALUE, NULL }; static const AsterixField I205_V1_0_040 = { FIXED, 1, 0, 0, &hf_205_V1_0_040, I205_V1_0_040_PARTS, { NULL } }; static int hf_205_V1_0_050; static int hf_205_V1_0_050_LAT; static const FieldPart I205_V1_0_050_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_V1_0_050_LAT, NULL }; static int hf_205_V1_0_050_LON; static const FieldPart I205_V1_0_050_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_V1_0_050_LON, NULL }; static const FieldPart *I205_V1_0_050_PARTS[] = { &I205_V1_0_050_LAT, &I205_V1_0_050_LON, NULL }; static const AsterixField I205_V1_0_050 = { FIXED, 8, 0, 0, &hf_205_V1_0_050, I205_V1_0_050_PARTS, { NULL } }; static int hf_205_V1_0_060; static int hf_205_V1_0_060_X; static const FieldPart I205_V1_0_060_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_V1_0_060_X, NULL }; static int hf_205_V1_0_060_Y; static const FieldPart I205_V1_0_060_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_V1_0_060_Y, NULL }; static const FieldPart *I205_V1_0_060_PARTS[] = { &I205_V1_0_060_X, &I205_V1_0_060_Y, NULL }; static const AsterixField I205_V1_0_060 = { FIXED, 6, 0, 0, &hf_205_V1_0_060, I205_V1_0_060_PARTS, { NULL } }; static int hf_205_V1_0_070; static int hf_205_V1_0_070_VALUE; static const FieldPart I205_V1_0_070_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_205_V1_0_070_VALUE, NULL }; static const FieldPart *I205_V1_0_070_PARTS[] = { &I205_V1_0_070_VALUE, NULL }; static const AsterixField I205_V1_0_070 = { FIXED, 2, 0, 0, &hf_205_V1_0_070, I205_V1_0_070_PARTS, { NULL } }; static int hf_205_V1_0_080; static int hf_205_V1_0_080_VALUE; static const FieldPart I205_V1_0_080_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_205_V1_0_080_VALUE, NULL }; static const FieldPart *I205_V1_0_080_PARTS[] = { &I205_V1_0_080_VALUE, NULL }; static const AsterixField I205_V1_0_080 = { FIXED, 2, 0, 0, &hf_205_V1_0_080, I205_V1_0_080_PARTS, { NULL } }; static int hf_205_V1_0_090; static int hf_205_V1_0_090_VALUE; static const FieldPart I205_V1_0_090_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_205_V1_0_090_VALUE, NULL }; static const FieldPart *I205_V1_0_090_PARTS[] = { &I205_V1_0_090_VALUE, NULL }; static const AsterixField I205_V1_0_090 = { FIXED, 7, 0, 0, &hf_205_V1_0_090, I205_V1_0_090_PARTS, { NULL } }; static int hf_205_V1_0_100; static int hf_205_V1_0_100_VALUE; static const FieldPart I205_V1_0_100_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_100_VALUE, NULL }; static const FieldPart *I205_V1_0_100_PARTS[] = { &I205_V1_0_100_VALUE, NULL }; static const AsterixField I205_V1_0_100 = { FIXED, 1, 0, 0, &hf_205_V1_0_100, I205_V1_0_100_PARTS, { NULL } }; static int hf_205_V1_0_110; static int hf_205_V1_0_110_VALUE; static const FieldPart I205_V1_0_110_VALUE = { 8, 100.0, FIELD_PART_UFLOAT, &hf_205_V1_0_110_VALUE, NULL }; static const FieldPart *I205_V1_0_110_PARTS[] = { &I205_V1_0_110_VALUE, NULL }; static const AsterixField I205_V1_0_110 = { FIXED, 1, 0, 0, &hf_205_V1_0_110, I205_V1_0_110_PARTS, { NULL } }; static int hf_205_V1_0_120; static int hf_205_V1_0_120_VALUE; static const FieldPart I205_V1_0_120_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_120_VALUE, NULL }; static const FieldPart *I205_V1_0_120_PARTS[] = { &I205_V1_0_120_VALUE, NULL }; static const AsterixField I205_V1_0_120 = { REPETITIVE, 1, 1, 0, &hf_205_V1_0_120, I205_V1_0_120_PARTS, { NULL } }; static int hf_205_V1_0_130; static int hf_205_V1_0_130_LAT; static const FieldPart I205_V1_0_130_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_V1_0_130_LAT, NULL }; static int hf_205_V1_0_130_LON; static const FieldPart I205_V1_0_130_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_V1_0_130_LON, NULL }; static const FieldPart *I205_V1_0_130_PARTS[] = { &I205_V1_0_130_LAT, &I205_V1_0_130_LON, NULL }; static const AsterixField I205_V1_0_130 = { FIXED, 8, 0, 0, &hf_205_V1_0_130, I205_V1_0_130_PARTS, { NULL } }; static int hf_205_V1_0_140; static int hf_205_V1_0_140_X; static const FieldPart I205_V1_0_140_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_V1_0_140_X, NULL }; static int hf_205_V1_0_140_Y; static const FieldPart I205_V1_0_140_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_V1_0_140_Y, NULL }; static const FieldPart *I205_V1_0_140_PARTS[] = { &I205_V1_0_140_X, &I205_V1_0_140_Y, NULL }; static const AsterixField I205_V1_0_140 = { FIXED, 6, 0, 0, &hf_205_V1_0_140, I205_V1_0_140_PARTS, { NULL } }; static int hf_205_V1_0_150; static int hf_205_V1_0_150_VALUE; static const FieldPart I205_V1_0_150_VALUE = { 8, 100.0, FIELD_PART_UFLOAT, &hf_205_V1_0_150_VALUE, NULL }; static const FieldPart *I205_V1_0_150_PARTS[] = { &I205_V1_0_150_VALUE, NULL }; static const AsterixField I205_V1_0_150 = { FIXED, 1, 0, 0, &hf_205_V1_0_150, I205_V1_0_150_PARTS, { NULL } }; static int hf_205_V1_0_160; static int hf_205_V1_0_160_VALUE; static const FieldPart I205_V1_0_160_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_205_V1_0_160_VALUE, NULL }; static const FieldPart *I205_V1_0_160_PARTS[] = { &I205_V1_0_160_VALUE, NULL }; static const AsterixField I205_V1_0_160 = { FIXED, 2, 0, 0, &hf_205_V1_0_160, I205_V1_0_160_PARTS, { NULL } }; static int hf_205_V1_0_170; static int hf_205_V1_0_170_VALUE; static const FieldPart I205_V1_0_170_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_170_VALUE, NULL }; static const FieldPart *I205_V1_0_170_PARTS[] = { &I205_V1_0_170_VALUE, NULL }; static const AsterixField I205_V1_0_170 = { FIXED, 1, 0, 0, &hf_205_V1_0_170, I205_V1_0_170_PARTS, { NULL } }; static int hf_205_V1_0_180; static int hf_205_V1_0_180_VALUE; static const FieldPart I205_V1_0_180_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_205_V1_0_180_VALUE, NULL }; static const FieldPart *I205_V1_0_180_PARTS[] = { &I205_V1_0_180_VALUE, NULL }; static const AsterixField I205_V1_0_180 = { FIXED, 2, 0, 0, &hf_205_V1_0_180, I205_V1_0_180_PARTS, { NULL } }; static int hf_205_V1_0_190; static int hf_205_V1_0_190_VALUE; static const FieldPart I205_V1_0_190_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_V1_0_190_VALUE, NULL }; static const FieldPart *I205_V1_0_190_PARTS[] = { &I205_V1_0_190_VALUE, NULL }; static const AsterixField I205_V1_0_190 = { FIXED, 1, 0, 0, &hf_205_V1_0_190, I205_V1_0_190_PARTS, { NULL } }; static int hf_205_V1_0_200; static int hf_205_V1_0_200_VALUE; static const FieldPart I205_V1_0_200_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_205_V1_0_200_VALUE, NULL }; static const FieldPart *I205_V1_0_200_PARTS[] = { &I205_V1_0_200_VALUE, NULL }; static const AsterixField I205_V1_0_200 = { FIXED, 2, 0, 0, &hf_205_V1_0_200, I205_V1_0_200_PARTS, { NULL } }; static int hf_205_V1_0_SP; static const AsterixField I205_V1_0_SP = { EXP, 0, 0, 1, &hf_205_V1_0_SP, NULL, { NULL } }; /* Category 205, edition 1.0 (latest) */ static int hf_205_000; static int hf_205_000_VALUE; static const value_string valstr_205_000_VALUE[] = { { 1, "System Position Report" }, { 2, "System Bearing Report" }, { 3, "System Position Report of conflicting transmission" }, { 4, "System Detection End Report" }, { 5, "Sensor Data Report" }, { 0, NULL } }; static const FieldPart I205_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_205_000_VALUE, NULL }; static const FieldPart *I205_000_PARTS[] = { &I205_000_VALUE, NULL }; static const AsterixField I205_000 = { FIXED, 1, 0, 0, &hf_205_000, I205_000_PARTS, { NULL } }; static int hf_205_010; static int hf_205_010_SAC; static const FieldPart I205_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_205_010_SAC, NULL }; static int hf_205_010_SIC; static const FieldPart I205_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_205_010_SIC, NULL }; static const FieldPart *I205_010_PARTS[] = { &I205_010_SAC, &I205_010_SIC, NULL }; static const AsterixField I205_010 = { FIXED, 2, 0, 0, &hf_205_010, I205_010_PARTS, { NULL } }; static int hf_205_015; static int hf_205_015_VALUE; static const FieldPart I205_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_015_VALUE, NULL }; static const FieldPart *I205_015_PARTS[] = { &I205_015_VALUE, NULL }; static const AsterixField I205_015 = { FIXED, 1, 0, 0, &hf_205_015, I205_015_PARTS, { NULL } }; static int hf_205_030; static int hf_205_030_VALUE; static const FieldPart I205_030_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_205_030_VALUE, NULL }; static const FieldPart *I205_030_PARTS[] = { &I205_030_VALUE, NULL }; static const AsterixField I205_030 = { FIXED, 3, 0, 0, &hf_205_030, I205_030_PARTS, { NULL } }; static int hf_205_040; static int hf_205_040_VALUE; static const FieldPart I205_040_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_040_VALUE, NULL }; static const FieldPart *I205_040_PARTS[] = { &I205_040_VALUE, NULL }; static const AsterixField I205_040 = { FIXED, 1, 0, 0, &hf_205_040, I205_040_PARTS, { NULL } }; static int hf_205_050; static int hf_205_050_LAT; static const FieldPart I205_050_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_050_LAT, NULL }; static int hf_205_050_LON; static const FieldPart I205_050_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_050_LON, NULL }; static const FieldPart *I205_050_PARTS[] = { &I205_050_LAT, &I205_050_LON, NULL }; static const AsterixField I205_050 = { FIXED, 8, 0, 0, &hf_205_050, I205_050_PARTS, { NULL } }; static int hf_205_060; static int hf_205_060_X; static const FieldPart I205_060_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_060_X, NULL }; static int hf_205_060_Y; static const FieldPart I205_060_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_060_Y, NULL }; static const FieldPart *I205_060_PARTS[] = { &I205_060_X, &I205_060_Y, NULL }; static const AsterixField I205_060 = { FIXED, 6, 0, 0, &hf_205_060, I205_060_PARTS, { NULL } }; static int hf_205_070; static int hf_205_070_VALUE; static const FieldPart I205_070_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_205_070_VALUE, NULL }; static const FieldPart *I205_070_PARTS[] = { &I205_070_VALUE, NULL }; static const AsterixField I205_070 = { FIXED, 2, 0, 0, &hf_205_070, I205_070_PARTS, { NULL } }; static int hf_205_080; static int hf_205_080_VALUE; static const FieldPart I205_080_VALUE = { 16, 0.01, FIELD_PART_UFLOAT, &hf_205_080_VALUE, NULL }; static const FieldPart *I205_080_PARTS[] = { &I205_080_VALUE, NULL }; static const AsterixField I205_080 = { FIXED, 2, 0, 0, &hf_205_080, I205_080_PARTS, { NULL } }; static int hf_205_090; static int hf_205_090_VALUE; static const FieldPart I205_090_VALUE = { 56, 1.0, FIELD_PART_ASCII, &hf_205_090_VALUE, NULL }; static const FieldPart *I205_090_PARTS[] = { &I205_090_VALUE, NULL }; static const AsterixField I205_090 = { FIXED, 7, 0, 0, &hf_205_090, I205_090_PARTS, { NULL } }; static int hf_205_100; static int hf_205_100_VALUE; static const FieldPart I205_100_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_100_VALUE, NULL }; static const FieldPart *I205_100_PARTS[] = { &I205_100_VALUE, NULL }; static const AsterixField I205_100 = { FIXED, 1, 0, 0, &hf_205_100, I205_100_PARTS, { NULL } }; static int hf_205_110; static int hf_205_110_VALUE; static const FieldPart I205_110_VALUE = { 8, 100.0, FIELD_PART_UFLOAT, &hf_205_110_VALUE, NULL }; static const FieldPart *I205_110_PARTS[] = { &I205_110_VALUE, NULL }; static const AsterixField I205_110 = { FIXED, 1, 0, 0, &hf_205_110, I205_110_PARTS, { NULL } }; static int hf_205_120; static int hf_205_120_VALUE; static const FieldPart I205_120_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_120_VALUE, NULL }; static const FieldPart *I205_120_PARTS[] = { &I205_120_VALUE, NULL }; static const AsterixField I205_120 = { REPETITIVE, 1, 1, 0, &hf_205_120, I205_120_PARTS, { NULL } }; static int hf_205_130; static int hf_205_130_LAT; static const FieldPart I205_130_LAT = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_130_LAT, NULL }; static int hf_205_130_LON; static const FieldPart I205_130_LON = { 32, 5.364418029785156e-06, FIELD_PART_FLOAT, &hf_205_130_LON, NULL }; static const FieldPart *I205_130_PARTS[] = { &I205_130_LAT, &I205_130_LON, NULL }; static const AsterixField I205_130 = { FIXED, 8, 0, 0, &hf_205_130, I205_130_PARTS, { NULL } }; static int hf_205_140; static int hf_205_140_X; static const FieldPart I205_140_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_140_X, NULL }; static int hf_205_140_Y; static const FieldPart I205_140_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_205_140_Y, NULL }; static const FieldPart *I205_140_PARTS[] = { &I205_140_X, &I205_140_Y, NULL }; static const AsterixField I205_140 = { FIXED, 6, 0, 0, &hf_205_140, I205_140_PARTS, { NULL } }; static int hf_205_150; static int hf_205_150_VALUE; static const FieldPart I205_150_VALUE = { 8, 100.0, FIELD_PART_UFLOAT, &hf_205_150_VALUE, NULL }; static const FieldPart *I205_150_PARTS[] = { &I205_150_VALUE, NULL }; static const AsterixField I205_150 = { FIXED, 1, 0, 0, &hf_205_150, I205_150_PARTS, { NULL } }; static int hf_205_160; static int hf_205_160_VALUE; static const FieldPart I205_160_VALUE = { 16, 1.0, FIELD_PART_HEX, &hf_205_160_VALUE, NULL }; static const FieldPart *I205_160_PARTS[] = { &I205_160_VALUE, NULL }; static const AsterixField I205_160 = { FIXED, 2, 0, 0, &hf_205_160, I205_160_PARTS, { NULL } }; static int hf_205_170; static int hf_205_170_VALUE; static const FieldPart I205_170_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_170_VALUE, NULL }; static const FieldPart *I205_170_PARTS[] = { &I205_170_VALUE, NULL }; static const AsterixField I205_170 = { FIXED, 1, 0, 0, &hf_205_170, I205_170_PARTS, { NULL } }; static int hf_205_180; static int hf_205_180_VALUE; static const FieldPart I205_180_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_205_180_VALUE, NULL }; static const FieldPart *I205_180_PARTS[] = { &I205_180_VALUE, NULL }; static const AsterixField I205_180 = { FIXED, 2, 0, 0, &hf_205_180, I205_180_PARTS, { NULL } }; static int hf_205_190; static int hf_205_190_VALUE; static const FieldPart I205_190_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_205_190_VALUE, NULL }; static const FieldPart *I205_190_PARTS[] = { &I205_190_VALUE, NULL }; static const AsterixField I205_190 = { FIXED, 1, 0, 0, &hf_205_190, I205_190_PARTS, { NULL } }; static int hf_205_200; static int hf_205_200_VALUE; static const FieldPart I205_200_VALUE = { 16, 0.01, FIELD_PART_FLOAT, &hf_205_200_VALUE, NULL }; static const FieldPart *I205_200_PARTS[] = { &I205_200_VALUE, NULL }; static const AsterixField I205_200 = { FIXED, 2, 0, 0, &hf_205_200, I205_200_PARTS, { NULL } }; static int hf_205_SP; static const AsterixField I205_SP = { EXP, 0, 0, 1, &hf_205_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I205_V1_0_uap[] = { &I205_V1_0_010, &I205_V1_0_015, &I205_V1_0_000, &I205_V1_0_030, &I205_V1_0_040, &I205_V1_0_090, &I205_V1_0_050, &I205_V1_0_060, &I205_V1_0_070, &I205_V1_0_080, &I205_V1_0_100, &I205_V1_0_110, &I205_V1_0_120, &I205_V1_0_130, &I205_V1_0_140, &I205_V1_0_150, &I205_V1_0_160, &I205_V1_0_170, &I205_V1_0_180, &I205_V1_0_190, &I205_V1_0_200, &I205_V1_0_SP, NULL }; static const AsterixField **I205_V1_0[] = { I205_V1_0_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I205_uap[] = { &I205_010, &I205_015, &I205_000, &I205_030, &I205_040, &I205_090, &I205_050, &I205_060, &I205_070, &I205_080, &I205_100, &I205_110, &I205_120, &I205_130, &I205_140, &I205_150, &I205_160, &I205_170, &I205_180, &I205_190, &I205_200, &I205_SP, NULL }; static const AsterixField **I205[] = { I205_uap, NULL }; DIAG_ON_PEDANTIC /* Category 240, edition 1.3 */ static int hf_240_V1_3_000; static int hf_240_V1_3_000_VALUE; static const value_string valstr_240_V1_3_000_VALUE[] = { { 1, "Video Summary message" }, { 2, "Video message" }, { 0, NULL } }; static const FieldPart I240_V1_3_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_240_V1_3_000_VALUE, NULL }; static const FieldPart *I240_V1_3_000_PARTS[] = { &I240_V1_3_000_VALUE, NULL }; static const AsterixField I240_V1_3_000 = { FIXED, 1, 0, 0, &hf_240_V1_3_000, I240_V1_3_000_PARTS, { NULL } }; static int hf_240_V1_3_010; static int hf_240_V1_3_010_SAC; static const FieldPart I240_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_240_V1_3_010_SAC, NULL }; static int hf_240_V1_3_010_SIC; static const FieldPart I240_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_240_V1_3_010_SIC, NULL }; static const FieldPart *I240_V1_3_010_PARTS[] = { &I240_V1_3_010_SAC, &I240_V1_3_010_SIC, NULL }; static const AsterixField I240_V1_3_010 = { FIXED, 2, 0, 0, &hf_240_V1_3_010, I240_V1_3_010_PARTS, { NULL } }; static int hf_240_V1_3_020; static int hf_240_V1_3_020_VALUE; static const FieldPart I240_V1_3_020_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_240_V1_3_020_VALUE, NULL }; static const FieldPart *I240_V1_3_020_PARTS[] = { &I240_V1_3_020_VALUE, NULL }; static const AsterixField I240_V1_3_020 = { FIXED, 4, 0, 0, &hf_240_V1_3_020, I240_V1_3_020_PARTS, { NULL } }; static int hf_240_V1_3_030; static int hf_240_V1_3_030_VALUE; static const FieldPart I240_V1_3_030_VALUE = { 8, 1.0, FIELD_PART_ASCII, &hf_240_V1_3_030_VALUE, NULL }; static const FieldPart *I240_V1_3_030_PARTS[] = { &I240_V1_3_030_VALUE, NULL }; static const AsterixField I240_V1_3_030 = { REPETITIVE, 1, 1, 0, &hf_240_V1_3_030, I240_V1_3_030_PARTS, { NULL } }; static int hf_240_V1_3_040; static int hf_240_V1_3_040_STARTAZ; static const FieldPart I240_V1_3_040_STARTAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_V1_3_040_STARTAZ, NULL }; static int hf_240_V1_3_040_ENDAZ; static const FieldPart I240_V1_3_040_ENDAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_V1_3_040_ENDAZ, NULL }; static int hf_240_V1_3_040_STARTRG; static const FieldPart I240_V1_3_040_STARTRG = { 32, 1.0, FIELD_PART_UINT, &hf_240_V1_3_040_STARTRG, NULL }; static int hf_240_V1_3_040_CELLDUR; static const FieldPart I240_V1_3_040_CELLDUR = { 32, 1.0, FIELD_PART_UFLOAT, &hf_240_V1_3_040_CELLDUR, NULL }; static const FieldPart *I240_V1_3_040_PARTS[] = { &I240_V1_3_040_STARTAZ, &I240_V1_3_040_ENDAZ, &I240_V1_3_040_STARTRG, &I240_V1_3_040_CELLDUR, NULL }; static const AsterixField I240_V1_3_040 = { FIXED, 12, 0, 0, &hf_240_V1_3_040, I240_V1_3_040_PARTS, { NULL } }; static int hf_240_V1_3_041; static int hf_240_V1_3_041_STARTAZ; static const FieldPart I240_V1_3_041_STARTAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_V1_3_041_STARTAZ, NULL }; static int hf_240_V1_3_041_ENDAZ; static const FieldPart I240_V1_3_041_ENDAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_V1_3_041_ENDAZ, NULL }; static int hf_240_V1_3_041_STARTRG; static const FieldPart I240_V1_3_041_STARTRG = { 32, 1.0, FIELD_PART_UINT, &hf_240_V1_3_041_STARTRG, NULL }; static int hf_240_V1_3_041_CELLDUR; static const FieldPart I240_V1_3_041_CELLDUR = { 32, 1.0, FIELD_PART_UFLOAT, &hf_240_V1_3_041_CELLDUR, NULL }; static const FieldPart *I240_V1_3_041_PARTS[] = { &I240_V1_3_041_STARTAZ, &I240_V1_3_041_ENDAZ, &I240_V1_3_041_STARTRG, &I240_V1_3_041_CELLDUR, NULL }; static const AsterixField I240_V1_3_041 = { FIXED, 12, 0, 0, &hf_240_V1_3_041, I240_V1_3_041_PARTS, { NULL } }; static int hf_240_V1_3_048; static int hf_240_V1_3_048_C; static const value_string valstr_240_V1_3_048_C[] = { { 0, "No compression applied" }, { 1, "Compression applied" }, { 0, NULL } }; static const FieldPart I240_V1_3_048_C = { 1, 1.0, FIELD_PART_UINT, &hf_240_V1_3_048_C, NULL }; static int hf_240_V1_3_048_RES; static const value_string valstr_240_V1_3_048_RES[] = { { 1, "Monobit Resolution (1 bit)" }, { 2, "Low Resolution (2 bits)" }, { 3, "Medium Resolution (4 bits)" }, { 4, "High Resolution (8 bits)" }, { 5, "Very High Resolution (16 bits)" }, { 6, "Ultra High Resolution (32 bits)" }, { 0, NULL } }; static const FieldPart I240_V1_3_048_RES = { 8, 1.0, FIELD_PART_UINT, &hf_240_V1_3_048_RES, NULL }; static const FieldPart *I240_V1_3_048_PARTS[] = { &I240_V1_3_048_C, &IXXX_7bit_spare, &I240_V1_3_048_RES, NULL }; static const AsterixField I240_V1_3_048 = { FIXED, 2, 0, 0, &hf_240_V1_3_048, I240_V1_3_048_PARTS, { NULL } }; static int hf_240_V1_3_049; static int hf_240_V1_3_049_NBVB; static const FieldPart I240_V1_3_049_NBVB = { 16, 1.0, FIELD_PART_UINT, &hf_240_V1_3_049_NBVB, NULL }; static int hf_240_V1_3_049_NBCELLS; static const FieldPart I240_V1_3_049_NBCELLS = { 24, 1.0, FIELD_PART_UINT, &hf_240_V1_3_049_NBCELLS, NULL }; static const FieldPart *I240_V1_3_049_PARTS[] = { &I240_V1_3_049_NBVB, &I240_V1_3_049_NBCELLS, NULL }; static const AsterixField I240_V1_3_049 = { FIXED, 5, 0, 0, &hf_240_V1_3_049, I240_V1_3_049_PARTS, { NULL } }; static int hf_240_V1_3_050; static int hf_240_V1_3_050_VALUE; static const FieldPart I240_V1_3_050_VALUE = { 32, 1.0, FIELD_PART_HEX, &hf_240_V1_3_050_VALUE, NULL }; static const FieldPart *I240_V1_3_050_PARTS[] = { &I240_V1_3_050_VALUE, NULL }; static const AsterixField I240_V1_3_050 = { REPETITIVE, 4, 1, 0, &hf_240_V1_3_050, I240_V1_3_050_PARTS, { NULL } }; static int hf_240_V1_3_051; static int hf_240_V1_3_051_VALUE; static const FieldPart I240_V1_3_051_VALUE = { 512, 1.0, FIELD_PART_HEX, &hf_240_V1_3_051_VALUE, NULL }; static const FieldPart *I240_V1_3_051_PARTS[] = { &I240_V1_3_051_VALUE, NULL }; static const AsterixField I240_V1_3_051 = { REPETITIVE, 64, 1, 0, &hf_240_V1_3_051, I240_V1_3_051_PARTS, { NULL } }; static int hf_240_V1_3_052; static int hf_240_V1_3_052_VALUE; static const FieldPart I240_V1_3_052_VALUE = { 2048, 1.0, FIELD_PART_HEX, &hf_240_V1_3_052_VALUE, NULL }; static const FieldPart *I240_V1_3_052_PARTS[] = { &I240_V1_3_052_VALUE, NULL }; static const AsterixField I240_V1_3_052 = { REPETITIVE, 256, 1, 0, &hf_240_V1_3_052, I240_V1_3_052_PARTS, { NULL } }; static int hf_240_V1_3_140; static int hf_240_V1_3_140_VALUE; static const FieldPart I240_V1_3_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_240_V1_3_140_VALUE, NULL }; static const FieldPart *I240_V1_3_140_PARTS[] = { &I240_V1_3_140_VALUE, NULL }; static const AsterixField I240_V1_3_140 = { FIXED, 3, 0, 0, &hf_240_V1_3_140, I240_V1_3_140_PARTS, { NULL } }; static int hf_240_V1_3_RE; static const AsterixField I240_V1_3_RE = { EXP, 0, 0, 1, &hf_240_V1_3_RE, NULL, { NULL } }; static int hf_240_V1_3_SP; static const AsterixField I240_V1_3_SP = { EXP, 0, 0, 1, &hf_240_V1_3_SP, NULL, { NULL } }; /* Category 240, edition 1.3 (latest) */ static int hf_240_000; static int hf_240_000_VALUE; static const value_string valstr_240_000_VALUE[] = { { 1, "Video Summary message" }, { 2, "Video message" }, { 0, NULL } }; static const FieldPart I240_000_VALUE = { 8, 1.0, FIELD_PART_UINT, &hf_240_000_VALUE, NULL }; static const FieldPart *I240_000_PARTS[] = { &I240_000_VALUE, NULL }; static const AsterixField I240_000 = { FIXED, 1, 0, 0, &hf_240_000, I240_000_PARTS, { NULL } }; static int hf_240_010; static int hf_240_010_SAC; static const FieldPart I240_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_240_010_SAC, NULL }; static int hf_240_010_SIC; static const FieldPart I240_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_240_010_SIC, NULL }; static const FieldPart *I240_010_PARTS[] = { &I240_010_SAC, &I240_010_SIC, NULL }; static const AsterixField I240_010 = { FIXED, 2, 0, 0, &hf_240_010, I240_010_PARTS, { NULL } }; static int hf_240_020; static int hf_240_020_VALUE; static const FieldPart I240_020_VALUE = { 32, 1.0, FIELD_PART_UINT, &hf_240_020_VALUE, NULL }; static const FieldPart *I240_020_PARTS[] = { &I240_020_VALUE, NULL }; static const AsterixField I240_020 = { FIXED, 4, 0, 0, &hf_240_020, I240_020_PARTS, { NULL } }; static int hf_240_030; static int hf_240_030_VALUE; static const FieldPart I240_030_VALUE = { 8, 1.0, FIELD_PART_ASCII, &hf_240_030_VALUE, NULL }; static const FieldPart *I240_030_PARTS[] = { &I240_030_VALUE, NULL }; static const AsterixField I240_030 = { REPETITIVE, 1, 1, 0, &hf_240_030, I240_030_PARTS, { NULL } }; static int hf_240_040; static int hf_240_040_STARTAZ; static const FieldPart I240_040_STARTAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_040_STARTAZ, NULL }; static int hf_240_040_ENDAZ; static const FieldPart I240_040_ENDAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_040_ENDAZ, NULL }; static int hf_240_040_STARTRG; static const FieldPart I240_040_STARTRG = { 32, 1.0, FIELD_PART_UINT, &hf_240_040_STARTRG, NULL }; static int hf_240_040_CELLDUR; static const FieldPart I240_040_CELLDUR = { 32, 1.0, FIELD_PART_UFLOAT, &hf_240_040_CELLDUR, NULL }; static const FieldPart *I240_040_PARTS[] = { &I240_040_STARTAZ, &I240_040_ENDAZ, &I240_040_STARTRG, &I240_040_CELLDUR, NULL }; static const AsterixField I240_040 = { FIXED, 12, 0, 0, &hf_240_040, I240_040_PARTS, { NULL } }; static int hf_240_041; static int hf_240_041_STARTAZ; static const FieldPart I240_041_STARTAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_041_STARTAZ, NULL }; static int hf_240_041_ENDAZ; static const FieldPart I240_041_ENDAZ = { 16, 0.0054931640625, FIELD_PART_UFLOAT, &hf_240_041_ENDAZ, NULL }; static int hf_240_041_STARTRG; static const FieldPart I240_041_STARTRG = { 32, 1.0, FIELD_PART_UINT, &hf_240_041_STARTRG, NULL }; static int hf_240_041_CELLDUR; static const FieldPart I240_041_CELLDUR = { 32, 1.0, FIELD_PART_UFLOAT, &hf_240_041_CELLDUR, NULL }; static const FieldPart *I240_041_PARTS[] = { &I240_041_STARTAZ, &I240_041_ENDAZ, &I240_041_STARTRG, &I240_041_CELLDUR, NULL }; static const AsterixField I240_041 = { FIXED, 12, 0, 0, &hf_240_041, I240_041_PARTS, { NULL } }; static int hf_240_048; static int hf_240_048_C; static const value_string valstr_240_048_C[] = { { 0, "No compression applied" }, { 1, "Compression applied" }, { 0, NULL } }; static const FieldPart I240_048_C = { 1, 1.0, FIELD_PART_UINT, &hf_240_048_C, NULL }; static int hf_240_048_RES; static const value_string valstr_240_048_RES[] = { { 1, "Monobit Resolution (1 bit)" }, { 2, "Low Resolution (2 bits)" }, { 3, "Medium Resolution (4 bits)" }, { 4, "High Resolution (8 bits)" }, { 5, "Very High Resolution (16 bits)" }, { 6, "Ultra High Resolution (32 bits)" }, { 0, NULL } }; static const FieldPart I240_048_RES = { 8, 1.0, FIELD_PART_UINT, &hf_240_048_RES, NULL }; static const FieldPart *I240_048_PARTS[] = { &I240_048_C, &IXXX_7bit_spare, &I240_048_RES, NULL }; static const AsterixField I240_048 = { FIXED, 2, 0, 0, &hf_240_048, I240_048_PARTS, { NULL } }; static int hf_240_049; static int hf_240_049_NBVB; static const FieldPart I240_049_NBVB = { 16, 1.0, FIELD_PART_UINT, &hf_240_049_NBVB, NULL }; static int hf_240_049_NBCELLS; static const FieldPart I240_049_NBCELLS = { 24, 1.0, FIELD_PART_UINT, &hf_240_049_NBCELLS, NULL }; static const FieldPart *I240_049_PARTS[] = { &I240_049_NBVB, &I240_049_NBCELLS, NULL }; static const AsterixField I240_049 = { FIXED, 5, 0, 0, &hf_240_049, I240_049_PARTS, { NULL } }; static int hf_240_050; static int hf_240_050_VALUE; static const FieldPart I240_050_VALUE = { 32, 1.0, FIELD_PART_HEX, &hf_240_050_VALUE, NULL }; static const FieldPart *I240_050_PARTS[] = { &I240_050_VALUE, NULL }; static const AsterixField I240_050 = { REPETITIVE, 4, 1, 0, &hf_240_050, I240_050_PARTS, { NULL } }; static int hf_240_051; static int hf_240_051_VALUE; static const FieldPart I240_051_VALUE = { 512, 1.0, FIELD_PART_HEX, &hf_240_051_VALUE, NULL }; static const FieldPart *I240_051_PARTS[] = { &I240_051_VALUE, NULL }; static const AsterixField I240_051 = { REPETITIVE, 64, 1, 0, &hf_240_051, I240_051_PARTS, { NULL } }; static int hf_240_052; static int hf_240_052_VALUE; static const FieldPart I240_052_VALUE = { 2048, 1.0, FIELD_PART_HEX, &hf_240_052_VALUE, NULL }; static const FieldPart *I240_052_PARTS[] = { &I240_052_VALUE, NULL }; static const AsterixField I240_052 = { REPETITIVE, 256, 1, 0, &hf_240_052, I240_052_PARTS, { NULL } }; static int hf_240_140; static int hf_240_140_VALUE; static const FieldPart I240_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_240_140_VALUE, NULL }; static const FieldPart *I240_140_PARTS[] = { &I240_140_VALUE, NULL }; static const AsterixField I240_140 = { FIXED, 3, 0, 0, &hf_240_140, I240_140_PARTS, { NULL } }; static int hf_240_RE; static const AsterixField I240_RE = { EXP, 0, 0, 1, &hf_240_RE, NULL, { NULL } }; static int hf_240_SP; static const AsterixField I240_SP = { EXP, 0, 0, 1, &hf_240_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I240_V1_3_uap[] = { &I240_V1_3_010, &I240_V1_3_000, &I240_V1_3_020, &I240_V1_3_030, &I240_V1_3_040, &I240_V1_3_041, &I240_V1_3_048, &I240_V1_3_049, &I240_V1_3_050, &I240_V1_3_051, &I240_V1_3_052, &I240_V1_3_140, &I240_V1_3_RE, &I240_V1_3_SP, NULL }; static const AsterixField **I240_V1_3[] = { I240_V1_3_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I240_uap[] = { &I240_010, &I240_000, &I240_020, &I240_030, &I240_040, &I240_041, &I240_048, &I240_049, &I240_050, &I240_051, &I240_052, &I240_140, &I240_RE, &I240_SP, NULL }; static const AsterixField **I240[] = { I240_uap, NULL }; DIAG_ON_PEDANTIC /* Category 247, edition 1.2 */ static int hf_247_V1_2_010; static int hf_247_V1_2_010_SAC; static const FieldPart I247_V1_2_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_247_V1_2_010_SAC, NULL }; static int hf_247_V1_2_010_SIC; static const FieldPart I247_V1_2_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_247_V1_2_010_SIC, NULL }; static const FieldPart *I247_V1_2_010_PARTS[] = { &I247_V1_2_010_SAC, &I247_V1_2_010_SIC, NULL }; static const AsterixField I247_V1_2_010 = { FIXED, 2, 0, 0, &hf_247_V1_2_010, I247_V1_2_010_PARTS, { NULL } }; static int hf_247_V1_2_015; static int hf_247_V1_2_015_VALUE; static const FieldPart I247_V1_2_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_247_V1_2_015_VALUE, NULL }; static const FieldPart *I247_V1_2_015_PARTS[] = { &I247_V1_2_015_VALUE, NULL }; static const AsterixField I247_V1_2_015 = { FIXED, 1, 0, 0, &hf_247_V1_2_015, I247_V1_2_015_PARTS, { NULL } }; static int hf_247_V1_2_140; static int hf_247_V1_2_140_VALUE; static const FieldPart I247_V1_2_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_247_V1_2_140_VALUE, NULL }; static const FieldPart *I247_V1_2_140_PARTS[] = { &I247_V1_2_140_VALUE, NULL }; static const AsterixField I247_V1_2_140 = { FIXED, 3, 0, 0, &hf_247_V1_2_140, I247_V1_2_140_PARTS, { NULL } }; static int hf_247_V1_2_550; static int hf_247_V1_2_550_CAT; static const FieldPart I247_V1_2_550_CAT = { 8, 1.0, FIELD_PART_UINT, &hf_247_V1_2_550_CAT, NULL }; static int hf_247_V1_2_550_MAIN; static const FieldPart I247_V1_2_550_MAIN = { 8, 1.0, FIELD_PART_UINT, &hf_247_V1_2_550_MAIN, NULL }; static int hf_247_V1_2_550_SUB; static const FieldPart I247_V1_2_550_SUB = { 8, 1.0, FIELD_PART_UINT, &hf_247_V1_2_550_SUB, NULL }; static const FieldPart *I247_V1_2_550_PARTS[] = { &I247_V1_2_550_CAT, &I247_V1_2_550_MAIN, &I247_V1_2_550_SUB, NULL }; static const AsterixField I247_V1_2_550 = { REPETITIVE, 3, 1, 0, &hf_247_V1_2_550, I247_V1_2_550_PARTS, { NULL } }; static int hf_247_V1_2_RE; static const AsterixField I247_V1_2_RE = { EXP, 0, 0, 1, &hf_247_V1_2_RE, NULL, { NULL } }; static int hf_247_V1_2_SP; static const AsterixField I247_V1_2_SP = { EXP, 0, 0, 1, &hf_247_V1_2_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I247_V1_2_uap[] = { &I247_V1_2_010, &I247_V1_2_015, &I247_V1_2_140, &I247_V1_2_550, &IX_SPARE, &I247_V1_2_SP, &I247_V1_2_RE, NULL }; static const AsterixField **I247_V1_2[] = { I247_V1_2_uap, NULL }; DIAG_ON_PEDANTIC /* Category 247, edition 1.3 */ static int hf_247_V1_3_010; static int hf_247_V1_3_010_SAC; static const FieldPart I247_V1_3_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_247_V1_3_010_SAC, NULL }; static int hf_247_V1_3_010_SIC; static const FieldPart I247_V1_3_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_247_V1_3_010_SIC, NULL }; static const FieldPart *I247_V1_3_010_PARTS[] = { &I247_V1_3_010_SAC, &I247_V1_3_010_SIC, NULL }; static const AsterixField I247_V1_3_010 = { FIXED, 2, 0, 0, &hf_247_V1_3_010, I247_V1_3_010_PARTS, { NULL } }; static int hf_247_V1_3_015; static int hf_247_V1_3_015_VALUE; static const FieldPart I247_V1_3_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_247_V1_3_015_VALUE, NULL }; static const FieldPart *I247_V1_3_015_PARTS[] = { &I247_V1_3_015_VALUE, NULL }; static const AsterixField I247_V1_3_015 = { FIXED, 1, 0, 0, &hf_247_V1_3_015, I247_V1_3_015_PARTS, { NULL } }; static int hf_247_V1_3_140; static int hf_247_V1_3_140_VALUE; static const FieldPart I247_V1_3_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_247_V1_3_140_VALUE, NULL }; static const FieldPart *I247_V1_3_140_PARTS[] = { &I247_V1_3_140_VALUE, NULL }; static const AsterixField I247_V1_3_140 = { FIXED, 3, 0, 0, &hf_247_V1_3_140, I247_V1_3_140_PARTS, { NULL } }; static int hf_247_V1_3_550; static int hf_247_V1_3_550_CAT; static const FieldPart I247_V1_3_550_CAT = { 8, 1.0, FIELD_PART_UINT, &hf_247_V1_3_550_CAT, NULL }; static int hf_247_V1_3_550_MAIN; static const FieldPart I247_V1_3_550_MAIN = { 8, 1.0, FIELD_PART_UINT, &hf_247_V1_3_550_MAIN, NULL }; static int hf_247_V1_3_550_SUB; static const FieldPart I247_V1_3_550_SUB = { 8, 1.0, FIELD_PART_UINT, &hf_247_V1_3_550_SUB, NULL }; static const FieldPart *I247_V1_3_550_PARTS[] = { &I247_V1_3_550_CAT, &I247_V1_3_550_MAIN, &I247_V1_3_550_SUB, NULL }; static const AsterixField I247_V1_3_550 = { REPETITIVE, 3, 1, 0, &hf_247_V1_3_550, I247_V1_3_550_PARTS, { NULL } }; static int hf_247_V1_3_RE; static const AsterixField I247_V1_3_RE = { EXP, 0, 0, 1, &hf_247_V1_3_RE, NULL, { NULL } }; static int hf_247_V1_3_SP; static const AsterixField I247_V1_3_SP = { EXP, 0, 0, 1, &hf_247_V1_3_SP, NULL, { NULL } }; /* Category 247, edition 1.3 (latest) */ static int hf_247_010; static int hf_247_010_SAC; static const FieldPart I247_010_SAC = { 8, 1.0, FIELD_PART_HEX, &hf_247_010_SAC, NULL }; static int hf_247_010_SIC; static const FieldPart I247_010_SIC = { 8, 1.0, FIELD_PART_HEX, &hf_247_010_SIC, NULL }; static const FieldPart *I247_010_PARTS[] = { &I247_010_SAC, &I247_010_SIC, NULL }; static const AsterixField I247_010 = { FIXED, 2, 0, 0, &hf_247_010, I247_010_PARTS, { NULL } }; static int hf_247_015; static int hf_247_015_VALUE; static const FieldPart I247_015_VALUE = { 8, 1.0, FIELD_PART_HEX, &hf_247_015_VALUE, NULL }; static const FieldPart *I247_015_PARTS[] = { &I247_015_VALUE, NULL }; static const AsterixField I247_015 = { FIXED, 1, 0, 0, &hf_247_015, I247_015_PARTS, { NULL } }; static int hf_247_140; static int hf_247_140_VALUE; static const FieldPart I247_140_VALUE = { 24, 0.0078125, FIELD_PART_UFLOAT, &hf_247_140_VALUE, NULL }; static const FieldPart *I247_140_PARTS[] = { &I247_140_VALUE, NULL }; static const AsterixField I247_140 = { FIXED, 3, 0, 0, &hf_247_140, I247_140_PARTS, { NULL } }; static int hf_247_550; static int hf_247_550_CAT; static const FieldPart I247_550_CAT = { 8, 1.0, FIELD_PART_UINT, &hf_247_550_CAT, NULL }; static int hf_247_550_MAIN; static const FieldPart I247_550_MAIN = { 8, 1.0, FIELD_PART_UINT, &hf_247_550_MAIN, NULL }; static int hf_247_550_SUB; static const FieldPart I247_550_SUB = { 8, 1.0, FIELD_PART_UINT, &hf_247_550_SUB, NULL }; static const FieldPart *I247_550_PARTS[] = { &I247_550_CAT, &I247_550_MAIN, &I247_550_SUB, NULL }; static const AsterixField I247_550 = { REPETITIVE, 3, 1, 0, &hf_247_550, I247_550_PARTS, { NULL } }; static int hf_247_RE; static const AsterixField I247_RE = { EXP, 0, 0, 1, &hf_247_RE, NULL, { NULL } }; static int hf_247_SP; static const AsterixField I247_SP = { EXP, 0, 0, 1, &hf_247_SP, NULL, { NULL } }; DIAG_OFF_PEDANTIC static const AsterixField *I247_V1_3_uap[] = { &I247_V1_3_010, &I247_V1_3_015, &I247_V1_3_140, &I247_V1_3_550, &IX_SPARE, &I247_V1_3_SP, &I247_V1_3_RE, NULL }; static const AsterixField **I247_V1_3[] = { I247_V1_3_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField *I247_uap[] = { &I247_010, &I247_015, &I247_140, &I247_550, &IX_SPARE, &I247_SP, &I247_RE, NULL }; static const AsterixField **I247[] = { I247_uap, NULL }; DIAG_ON_PEDANTIC DIAG_OFF_PEDANTIC static const AsterixField ***I001all[] = { I001, I001_V1_4, I001_V1_3, I001_V1_2 }; DIAG_ON_PEDANTIC static const enum_val_t I001_versions[] = { { "I001", "Version 1.4 (latest)", 0 }, { "I001_v1_4", "Version 1.4", 1 }, { "I001_v1_3", "Version 1.3", 2 }, { "I001_v1_2", "Version 1.2", 3 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I002all[] = { I002, I002_V1_1, I002_V1_0 }; DIAG_ON_PEDANTIC static const enum_val_t I002_versions[] = { { "I002", "Version 1.1 (latest)", 0 }, { "I002_v1_1", "Version 1.1", 1 }, { "I002_v1_0", "Version 1.0", 2 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I004all[] = { I004, I004_V1_12 }; DIAG_ON_PEDANTIC static const enum_val_t I004_versions[] = { { "I004", "Version 1.12 (latest)", 0 }, { "I004_v1_12", "Version 1.12", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I008all[] = { I008, I008_V1_3, I008_V1_2 }; DIAG_ON_PEDANTIC static const enum_val_t I008_versions[] = { { "I008", "Version 1.3 (latest)", 0 }, { "I008_v1_3", "Version 1.3", 1 }, { "I008_v1_2", "Version 1.2", 2 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I009all[] = { I009, I009_V2_1 }; DIAG_ON_PEDANTIC static const enum_val_t I009_versions[] = { { "I009", "Version 2.1 (latest)", 0 }, { "I009_v2_1", "Version 2.1", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I010all[] = { I010, I010_V1_1 }; DIAG_ON_PEDANTIC static const enum_val_t I010_versions[] = { { "I010", "Version 1.1 (latest)", 0 }, { "I010_v1_1", "Version 1.1", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I011all[] = { I011, I011_V1_3, I011_V1_2 }; DIAG_ON_PEDANTIC static const enum_val_t I011_versions[] = { { "I011", "Version 1.3 (latest)", 0 }, { "I011_v1_3", "Version 1.3", 1 }, { "I011_v1_2", "Version 1.2", 2 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I015all[] = { I015, I015_V1_1, I015_V1_0 }; DIAG_ON_PEDANTIC static const enum_val_t I015_versions[] = { { "I015", "Version 1.1 (latest)", 0 }, { "I015_v1_1", "Version 1.1", 1 }, { "I015_v1_0", "Version 1.0", 2 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I016all[] = { I016, I016_V1_0 }; DIAG_ON_PEDANTIC static const enum_val_t I016_versions[] = { { "I016", "Version 1.0 (latest)", 0 }, { "I016_v1_0", "Version 1.0", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I017all[] = { I017, I017_V1_3 }; DIAG_ON_PEDANTIC static const enum_val_t I017_versions[] = { { "I017", "Version 1.3 (latest)", 0 }, { "I017_v1_3", "Version 1.3", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I018all[] = { I018, I018_V1_7 }; DIAG_ON_PEDANTIC static const enum_val_t I018_versions[] = { { "I018", "Version 1.7 (latest)", 0 }, { "I018_v1_7", "Version 1.7", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I019all[] = { I019, I019_V1_3 }; DIAG_ON_PEDANTIC static const enum_val_t I019_versions[] = { { "I019", "Version 1.3 (latest)", 0 }, { "I019_v1_3", "Version 1.3", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I020all[] = { I020, I020_V1_10, I020_V1_9 }; DIAG_ON_PEDANTIC static const enum_val_t I020_versions[] = { { "I020", "Version 1.10 (latest)", 0 }, { "I020_v1_10", "Version 1.10", 1 }, { "I020_v1_9", "Version 1.9", 2 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I021all[] = { I021, I021_V2_6, I021_V2_5, I021_V2_4, I021_V2_3, I021_V2_2, I021_V0_26, I021_V0_25, I021_V0_24, I021_V0_23 }; DIAG_ON_PEDANTIC static const enum_val_t I021_versions[] = { { "I021", "Version 2.6 (latest)", 0 }, { "I021_v2_6", "Version 2.6", 1 }, { "I021_v2_5", "Version 2.5", 2 }, { "I021_v2_4", "Version 2.4", 3 }, { "I021_v2_3", "Version 2.3", 4 }, { "I021_v2_2", "Version 2.2", 5 }, { "I021_v0_26", "Version 0.26", 6 }, { "I021_v0_25", "Version 0.25", 7 }, { "I021_v0_24", "Version 0.24", 8 }, { "I021_v0_23", "Version 0.23", 9 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I023all[] = { I023, I023_V1_3, I023_V1_2 }; DIAG_ON_PEDANTIC static const enum_val_t I023_versions[] = { { "I023", "Version 1.3 (latest)", 0 }, { "I023_v1_3", "Version 1.3", 1 }, { "I023_v1_2", "Version 1.2", 2 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I025all[] = { I025, I025_V1_5 }; DIAG_ON_PEDANTIC static const enum_val_t I025_versions[] = { { "I025", "Version 1.5 (latest)", 0 }, { "I025_v1_5", "Version 1.5", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I032all[] = { I032, I032_V1_1 }; DIAG_ON_PEDANTIC static const enum_val_t I032_versions[] = { { "I032", "Version 1.1 (latest)", 0 }, { "I032_v1_1", "Version 1.1", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I034all[] = { I034, I034_V1_29, I034_V1_28, I034_V1_27 }; DIAG_ON_PEDANTIC static const enum_val_t I034_versions[] = { { "I034", "Version 1.29 (latest)", 0 }, { "I034_v1_29", "Version 1.29", 1 }, { "I034_v1_28", "Version 1.28", 2 }, { "I034_v1_27", "Version 1.27", 3 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I048all[] = { I048, I048_V1_31, I048_V1_30, I048_V1_29, I048_V1_28, I048_V1_27 }; DIAG_ON_PEDANTIC static const enum_val_t I048_versions[] = { { "I048", "Version 1.31 (latest)", 0 }, { "I048_v1_31", "Version 1.31", 1 }, { "I048_v1_30", "Version 1.30", 2 }, { "I048_v1_29", "Version 1.29", 3 }, { "I048_v1_28", "Version 1.28", 4 }, { "I048_v1_27", "Version 1.27", 5 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I062all[] = { I062, I062_V1_20, I062_V1_19, I062_V1_18, I062_V1_17 }; DIAG_ON_PEDANTIC static const enum_val_t I062_versions[] = { { "I062", "Version 1.20 (latest)", 0 }, { "I062_v1_20", "Version 1.20", 1 }, { "I062_v1_19", "Version 1.19", 2 }, { "I062_v1_18", "Version 1.18", 3 }, { "I062_v1_17", "Version 1.17", 4 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I063all[] = { I063, I063_V1_6 }; DIAG_ON_PEDANTIC static const enum_val_t I063_versions[] = { { "I063", "Version 1.6 (latest)", 0 }, { "I063_v1_6", "Version 1.6", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I065all[] = { I065, I065_V1_6, I065_V1_5, I065_V1_4 }; DIAG_ON_PEDANTIC static const enum_val_t I065_versions[] = { { "I065", "Version 1.6 (latest)", 0 }, { "I065_v1_6", "Version 1.6", 1 }, { "I065_v1_5", "Version 1.5", 2 }, { "I065_v1_4", "Version 1.4", 3 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I205all[] = { I205, I205_V1_0 }; DIAG_ON_PEDANTIC static const enum_val_t I205_versions[] = { { "I205", "Version 1.0 (latest)", 0 }, { "I205_v1_0", "Version 1.0", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I240all[] = { I240, I240_V1_3 }; DIAG_ON_PEDANTIC static const enum_val_t I240_versions[] = { { "I240", "Version 1.3 (latest)", 0 }, { "I240_v1_3", "Version 1.3", 1 }, { NULL, NULL, 0 } }; DIAG_OFF_PEDANTIC static const AsterixField ***I247all[] = { I247, I247_V1_3, I247_V1_2 }; DIAG_ON_PEDANTIC static const enum_val_t I247_versions[] = { { "I247", "Version 1.3 (latest)", 0 }, { "I247_v1_3", "Version 1.3", 1 }, { "I247_v1_2", "Version 1.2", 2 }, { NULL, NULL, 0 } }; static const AsterixField ****categories[] = { NULL, /* 000 */ I001all, /* 001 */ I002all, /* 002 */ NULL, /* 003 */ I004all, /* 004 */ NULL, /* 005 */ NULL, /* 006 */ NULL, /* 007 */ I008all, /* 008 */ I009all, /* 009 */ I010all, /* 010 */ I011all, /* 011 */ NULL, /* 012 */ NULL, /* 013 */ NULL, /* 014 */ I015all, /* 015 */ I016all, /* 016 */ I017all, /* 017 */ I018all, /* 018 */ I019all, /* 019 */ I020all, /* 020 */ I021all, /* 021 */ NULL, /* 022 */ I023all, /* 023 */ NULL, /* 024 */ I025all, /* 025 */ NULL, /* 026 */ NULL, /* 027 */ NULL, /* 028 */ NULL, /* 029 */ NULL, /* 030 */ NULL, /* 031 */ I032all, /* 032 */ NULL, /* 033 */ I034all, /* 034 */ NULL, /* 035 */ NULL, /* 036 */ NULL, /* 037 */ NULL, /* 038 */ NULL, /* 039 */ NULL, /* 040 */ NULL, /* 041 */ NULL, /* 042 */ NULL, /* 043 */ NULL, /* 044 */ NULL, /* 045 */ NULL, /* 046 */ NULL, /* 047 */ I048all, /* 048 */ NULL, /* 049 */ NULL, /* 050 */ NULL, /* 051 */ NULL, /* 052 */ NULL, /* 053 */ NULL, /* 054 */ NULL, /* 055 */ NULL, /* 056 */ NULL, /* 057 */ NULL, /* 058 */ NULL, /* 059 */ NULL, /* 060 */ NULL, /* 061 */ I062all, /* 062 */ I063all, /* 063 */ NULL, /* 064 */ I065all, /* 065 */ NULL, /* 066 */ NULL, /* 067 */ NULL, /* 068 */ NULL, /* 069 */ NULL, /* 070 */ NULL, /* 071 */ NULL, /* 072 */ NULL, /* 073 */ NULL, /* 074 */ NULL, /* 075 */ NULL, /* 076 */ NULL, /* 077 */ NULL, /* 078 */ NULL, /* 079 */ NULL, /* 080 */ NULL, /* 081 */ NULL, /* 082 */ NULL, /* 083 */ NULL, /* 084 */ NULL, /* 085 */ NULL, /* 086 */ NULL, /* 087 */ NULL, /* 088 */ NULL, /* 089 */ NULL, /* 090 */ NULL, /* 091 */ NULL, /* 092 */ NULL, /* 093 */ NULL, /* 094 */ NULL, /* 095 */ NULL, /* 096 */ NULL, /* 097 */ NULL, /* 098 */ NULL, /* 099 */ NULL, /* 100 */ NULL, /* 101 */ NULL, /* 102 */ NULL, /* 103 */ NULL, /* 104 */ NULL, /* 105 */ NULL, /* 106 */ NULL, /* 107 */ NULL, /* 108 */ NULL, /* 109 */ NULL, /* 110 */ NULL, /* 111 */ NULL, /* 112 */ NULL, /* 113 */ NULL, /* 114 */ NULL, /* 115 */ NULL, /* 116 */ NULL, /* 117 */ NULL, /* 118 */ NULL, /* 119 */ NULL, /* 120 */ NULL, /* 121 */ NULL, /* 122 */ NULL, /* 123 */ NULL, /* 124 */ NULL, /* 125 */ NULL, /* 126 */ NULL, /* 127 */ NULL, /* 128 */ NULL, /* 129 */ NULL, /* 130 */ NULL, /* 131 */ NULL, /* 132 */ NULL, /* 133 */ NULL, /* 134 */ NULL, /* 135 */ NULL, /* 136 */ NULL, /* 137 */ NULL, /* 138 */ NULL, /* 139 */ NULL, /* 140 */ NULL, /* 141 */ NULL, /* 142 */ NULL, /* 143 */ NULL, /* 144 */ NULL, /* 145 */ NULL, /* 146 */ NULL, /* 147 */ NULL, /* 148 */ NULL, /* 149 */ NULL, /* 150 */ NULL, /* 151 */ NULL, /* 152 */ NULL, /* 153 */ NULL, /* 154 */ NULL, /* 155 */ NULL, /* 156 */ NULL, /* 157 */ NULL, /* 158 */ NULL, /* 159 */ NULL, /* 160 */ NULL, /* 161 */ NULL, /* 162 */ NULL, /* 163 */ NULL, /* 164 */ NULL, /* 165 */ NULL, /* 166 */ NULL, /* 167 */ NULL, /* 168 */ NULL, /* 169 */ NULL, /* 170 */ NULL, /* 171 */ NULL, /* 172 */ NULL, /* 173 */ NULL, /* 174 */ NULL, /* 175 */ NULL, /* 176 */ NULL, /* 177 */ NULL, /* 178 */ NULL, /* 179 */ NULL, /* 180 */ NULL, /* 181 */ NULL, /* 182 */ NULL, /* 183 */ NULL, /* 184 */ NULL, /* 185 */ NULL, /* 186 */ NULL, /* 187 */ NULL, /* 188 */ NULL, /* 189 */ NULL, /* 190 */ NULL, /* 191 */ NULL, /* 192 */ NULL, /* 193 */ NULL, /* 194 */ NULL, /* 195 */ NULL, /* 196 */ NULL, /* 197 */ NULL, /* 198 */ NULL, /* 199 */ NULL, /* 200 */ NULL, /* 201 */ NULL, /* 202 */ NULL, /* 203 */ NULL, /* 204 */ I205all, /* 205 */ NULL, /* 206 */ NULL, /* 207 */ NULL, /* 208 */ NULL, /* 209 */ NULL, /* 210 */ NULL, /* 211 */ NULL, /* 212 */ NULL, /* 213 */ NULL, /* 214 */ NULL, /* 215 */ NULL, /* 216 */ NULL, /* 217 */ NULL, /* 218 */ NULL, /* 219 */ NULL, /* 220 */ NULL, /* 221 */ NULL, /* 222 */ NULL, /* 223 */ NULL, /* 224 */ NULL, /* 225 */ NULL, /* 226 */ NULL, /* 227 */ NULL, /* 228 */ NULL, /* 229 */ NULL, /* 230 */ NULL, /* 231 */ NULL, /* 232 */ NULL, /* 233 */ NULL, /* 234 */ NULL, /* 235 */ NULL, /* 236 */ NULL, /* 237 */ NULL, /* 238 */ NULL, /* 239 */ I240all, /* 240 */ NULL, /* 241 */ NULL, /* 242 */ NULL, /* 243 */ NULL, /* 244 */ NULL, /* 245 */ NULL, /* 246 */ I247all, /* 247 */ NULL, /* 248 */ NULL, /* 249 */ NULL, /* 250 */ NULL, /* 251 */ NULL, /* 252 */ NULL, /* 253 */ NULL, /* 254 */ NULL, /* 255 */ NULL }; /* insert1 */ /* settings which category version to use for each ASTERIX category */ static int global_categories_version[] = { 0, /* 000 */ 0, /* 001 */ 0, /* 002 */ 0, /* 003 */ 0, /* 004 */ 0, /* 005 */ 0, /* 006 */ 0, /* 007 */ 0, /* 008 */ 0, /* 009 */ 0, /* 010 */ 0, /* 011 */ 0, /* 012 */ 0, /* 013 */ 0, /* 014 */ 0, /* 015 */ 0, /* 016 */ 0, /* 017 */ 0, /* 018 */ 0, /* 019 */ 0, /* 020 */ 0, /* 021 */ 0, /* 022 */ 0, /* 023 */ 0, /* 024 */ 0, /* 025 */ 0, /* 026 */ 0, /* 027 */ 0, /* 028 */ 0, /* 029 */ 0, /* 030 */ 0, /* 031 */ 0, /* 032 */ 0, /* 033 */ 0, /* 034 */ 0, /* 035 */ 0, /* 036 */ 0, /* 037 */ 0, /* 038 */ 0, /* 039 */ 0, /* 040 */ 0, /* 041 */ 0, /* 042 */ 0, /* 043 */ 0, /* 044 */ 0, /* 045 */ 0, /* 046 */ 0, /* 047 */ 0, /* 048 */ 0, /* 049 */ 0, /* 050 */ 0, /* 051 */ 0, /* 052 */ 0, /* 053 */ 0, /* 054 */ 0, /* 055 */ 0, /* 056 */ 0, /* 057 */ 0, /* 058 */ 0, /* 059 */ 0, /* 060 */ 0, /* 061 */ 0, /* 062 */ 0, /* 063 */ 0, /* 064 */ 0, /* 065 */ 0, /* 066 */ 0, /* 067 */ 0, /* 068 */ 0, /* 069 */ 0, /* 070 */ 0, /* 071 */ 0, /* 072 */ 0, /* 073 */ 0, /* 074 */ 0, /* 075 */ 0, /* 076 */ 0, /* 077 */ 0, /* 078 */ 0, /* 079 */ 0, /* 080 */ 0, /* 081 */ 0, /* 082 */ 0, /* 083 */ 0, /* 084 */ 0, /* 085 */ 0, /* 086 */ 0, /* 087 */ 0, /* 088 */ 0, /* 089 */ 0, /* 090 */ 0, /* 091 */ 0, /* 092 */ 0, /* 093 */ 0, /* 094 */ 0, /* 095 */ 0, /* 096 */ 0, /* 097 */ 0, /* 098 */ 0, /* 099 */ 0, /* 100 */ 0, /* 101 */ 0, /* 102 */ 0, /* 103 */ 0, /* 104 */ 0, /* 105 */ 0, /* 106 */ 0, /* 107 */ 0, /* 108 */ 0, /* 109 */ 0, /* 110 */ 0, /* 111 */ 0, /* 112 */ 0, /* 113 */ 0, /* 114 */ 0, /* 115 */ 0, /* 116 */ 0, /* 117 */ 0, /* 118 */ 0, /* 119 */ 0, /* 120 */ 0, /* 121 */ 0, /* 122 */ 0, /* 123 */ 0, /* 124 */ 0, /* 125 */ 0, /* 126 */ 0, /* 127 */ 0, /* 128 */ 0, /* 129 */ 0, /* 130 */ 0, /* 131 */ 0, /* 132 */ 0, /* 133 */ 0, /* 134 */ 0, /* 135 */ 0, /* 136 */ 0, /* 137 */ 0, /* 138 */ 0, /* 139 */ 0, /* 140 */ 0, /* 141 */ 0, /* 142 */ 0, /* 143 */ 0, /* 144 */ 0, /* 145 */ 0, /* 146 */ 0, /* 147 */ 0, /* 148 */ 0, /* 149 */ 0, /* 150 */ 0, /* 151 */ 0, /* 152 */ 0, /* 153 */ 0, /* 154 */ 0, /* 155 */ 0, /* 156 */ 0, /* 157 */ 0, /* 158 */ 0, /* 159 */ 0, /* 160 */ 0, /* 161 */ 0, /* 162 */ 0, /* 163 */ 0, /* 164 */ 0, /* 165 */ 0, /* 166 */ 0, /* 167 */ 0, /* 168 */ 0, /* 169 */ 0, /* 170 */ 0, /* 171 */ 0, /* 172 */ 0, /* 173 */ 0, /* 174 */ 0, /* 175 */ 0, /* 176 */ 0, /* 177 */ 0, /* 178 */ 0, /* 179 */ 0, /* 180 */ 0, /* 181 */ 0, /* 182 */ 0, /* 183 */ 0, /* 184 */ 0, /* 185 */ 0, /* 186 */ 0, /* 187 */ 0, /* 188 */ 0, /* 189 */ 0, /* 190 */ 0, /* 191 */ 0, /* 192 */ 0, /* 193 */ 0, /* 194 */ 0, /* 195 */ 0, /* 196 */ 0, /* 197 */ 0, /* 198 */ 0, /* 199 */ 0, /* 200 */ 0, /* 201 */ 0, /* 202 */ 0, /* 203 */ 0, /* 204 */ 0, /* 205 */ 0, /* 206 */ 0, /* 207 */ 0, /* 208 */ 0, /* 209 */ 0, /* 210 */ 0, /* 211 */ 0, /* 212 */ 0, /* 213 */ 0, /* 214 */ 0, /* 215 */ 0, /* 216 */ 0, /* 217 */ 0, /* 218 */ 0, /* 219 */ 0, /* 220 */ 0, /* 221 */ 0, /* 222 */ 0, /* 223 */ 0, /* 224 */ 0, /* 225 */ 0, /* 226 */ 0, /* 227 */ 0, /* 228 */ 0, /* 229 */ 0, /* 230 */ 0, /* 231 */ 0, /* 232 */ 0, /* 233 */ 0, /* 234 */ 0, /* 235 */ 0, /* 236 */ 0, /* 237 */ 0, /* 238 */ 0, /* 239 */ 0, /* 240 */ 0, /* 241 */ 0, /* 242 */ 0, /* 243 */ 0, /* 244 */ 0, /* 245 */ 0, /* 246 */ 0, /* 247 */ 0, /* 248 */ 0, /* 249 */ 0, /* 250 */ 0, /* 251 */ 0, /* 252 */ 0, /* 253 */ 0, /* 254 */ 0 /* 255 */ }; static int dissect_asterix (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) { col_set_str (pinfo->cinfo, COL_PROTOCOL, "ASTERIX"); col_clear (pinfo->cinfo, COL_INFO); if (tree) { /* we are being asked for details */ dissect_asterix_packet (tvb, pinfo, tree); } return tvb_captured_length(tvb); } static void dissect_asterix_packet (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { unsigned i; uint8_t category; uint16_t length; proto_item *asterix_packet_item; proto_tree *asterix_packet_tree; for (i = 0; i < tvb_reported_length (tvb); i += length + 3) { /* all ASTERIX messages have the same structure: * * header: * * 1 byte category even though a category is referenced as I019, * this is just stored as decimal 19 (i.e. 0x13) * 2 bytes length the total length of this ASTERIX message, the * length includes the size of the header. * * Note that the there was a structural change at * one point that changes whether multiple * records can occur after the header or not * (each category specifies this explicitly. All * of the currently supported categories can have * multiple records so this implementation just * assumes that is always the case) * * record (multiple records can exists): * * n bytes FSPEC the field specifier is a bit mask where the * lowest bit of each byte is called the FX bit. * When the FX bit is set this indicates that * the FSPEC extends into the next byte. * Any other bit indicates the presence of the * field that owns that bit (as per the User * Application Profile (UAP)). * X bytes Field Y X is as per the specification for field Y. * etc. * * The User Application Profile (UAP) is simply a mapping from the * FSPEC to fields. Each category has its own UAP. */ category = tvb_get_guint8 (tvb, i); length = (tvb_get_guint8 (tvb, i + 1) << 8) + tvb_get_guint8 (tvb, i + 2) - 3; /* -3 for category and length */ asterix_packet_item = proto_tree_add_item (tree, proto_asterix, tvb, i, length + 3, ENC_NA); proto_item_append_text (asterix_packet_item, ", Category %03d", category); asterix_packet_tree = proto_item_add_subtree (asterix_packet_item, ett_asterix); proto_tree_add_item (asterix_packet_tree, hf_asterix_category, tvb, i, 1, ENC_BIG_ENDIAN); proto_tree_add_item (asterix_packet_tree, hf_asterix_length, tvb, i + 1, 2, ENC_BIG_ENDIAN); dissect_asterix_data_block (tvb, pinfo, i + 3, asterix_packet_tree, category, length); } } static void dissect_asterix_data_block (tvbuff_t *tvb, packet_info *pinfo, unsigned offset, proto_tree *tree, uint8_t category, int length) { uint8_t active_uap; int fspec_len, inner_offset, size, counter; proto_item *asterix_message_item = NULL; proto_tree *asterix_message_tree = NULL; for (counter = 1, inner_offset = 0; inner_offset < length; counter++) { /* This loop handles parsing of each ASTERIX record */ active_uap = asterix_get_active_uap (tvb, offset + inner_offset, category); size = asterix_message_length (tvb, offset + inner_offset, category, active_uap); if (size > 0) { asterix_message_item = proto_tree_add_item (tree, hf_asterix_message, tvb, offset + inner_offset, size, ENC_NA); proto_item_append_text (asterix_message_item, ", #%02d, length: %d", counter, size); asterix_message_tree = proto_item_add_subtree (asterix_message_item, ett_asterix_message); fspec_len = asterix_fspec_len (tvb, offset + inner_offset); /*show_fspec (tvb, asterix_message_tree, offset + inner_offset, fspec_len);*/ proto_tree_add_item (asterix_message_tree, hf_asterix_fspec, tvb, offset + inner_offset, fspec_len, ENC_NA); size = dissect_asterix_fields (tvb, pinfo, offset + inner_offset, asterix_message_tree, category, categories[category][global_categories_version[category]][active_uap]); inner_offset += size + fspec_len; } else { inner_offset = length; } } } static int dissect_asterix_fields (tvbuff_t *tvb, packet_info *pinfo, unsigned offset, proto_tree *tree, uint8_t category, const AsterixField *current_uap[]) { unsigned i, j, size, start, len, inner_offset, fspec_len; uint64_t counter; proto_item *asterix_field_item = NULL; proto_tree *asterix_field_tree = NULL; proto_item *asterix_field_item2 = NULL; proto_tree *asterix_field_tree2 = NULL; if (current_uap == NULL) return 0; for (i = 0, size = 0; current_uap[i] != NULL; i++) { start = asterix_field_offset (tvb, offset, current_uap, i); if (start > 0) { len = asterix_field_length (tvb, offset + start, current_uap[i]); size += len; switch(current_uap[i]->type) { case COMPOUND: asterix_field_item = proto_tree_add_item (tree, *current_uap[i]->hf, tvb, offset + start, len, ENC_NA); asterix_field_tree = proto_item_add_subtree (asterix_field_item, ett_asterix_subtree); fspec_len = asterix_fspec_len (tvb, offset + start); proto_tree_add_item (asterix_field_tree, hf_asterix_fspec, tvb, offset + start, fspec_len, ENC_NA); dissect_asterix_fields (tvb, pinfo, offset + start, asterix_field_tree, category, (const AsterixField **)current_uap[i]->field); break; case REPETITIVE: asterix_field_item = proto_tree_add_item (tree, *current_uap[i]->hf, tvb, offset + start, len, ENC_NA); asterix_field_tree = proto_item_add_subtree (asterix_field_item, ett_asterix_subtree); for (j = 0, counter = 0; j < current_uap[i]->repetition_counter_size; j++) { counter = (counter << 8) + tvb_get_guint8 (tvb, offset + start + j); } proto_tree_add_item (asterix_field_tree, hf_counter, tvb, offset + start, current_uap[i]->repetition_counter_size, ENC_BIG_ENDIAN); for (j = 0, inner_offset = 0; j < counter; j++, inner_offset += current_uap[i]->length) { asterix_field_item2 = proto_tree_add_item (asterix_field_tree, *current_uap[i]->hf, tvb, offset + start + current_uap[i]->repetition_counter_size + inner_offset, current_uap[i]->length, ENC_NA); asterix_field_tree2 = proto_item_add_subtree (asterix_field_item2, ett_asterix_subtree); asterix_build_subtree (tvb, pinfo, offset + start + current_uap[i]->repetition_counter_size + inner_offset, asterix_field_tree2, current_uap[i]); } break; /* currently not generated from asterix-spec*/ /*case EXP: asterix_field_item = proto_tree_add_item (tree, *current_uap[i]->hf, tvb, offset + start, len, ENC_NA); asterix_field_tree = proto_item_add_subtree (asterix_field_item, ett_asterix_subtree); proto_tree_add_item (asterix_field_tree, hf_re_field_len, tvb, offset + start, 1, ENC_BIG_ENDIAN); start++; fspec_len = asterix_fspec_len (tvb, offset + start); proto_tree_add_item (asterix_field_tree, hf_asterix_fspec, tvb, offset + start, fspec_len, ENC_NA); dissect_asterix_fields (tvb, pinfo, offset + start, asterix_field_tree, category, (const AsterixField **)current_uap[i]->field); break;*/ default: /* FIXED, FX, FX_1, FX_UAP */ asterix_field_item = proto_tree_add_item (tree, *current_uap[i]->hf, tvb, offset + start, len, ENC_NA); asterix_field_tree = proto_item_add_subtree (asterix_field_item, ett_asterix_subtree); asterix_build_subtree (tvb, pinfo, offset + start, asterix_field_tree, current_uap[i]); break; } } } return size; } static void asterix_build_subtree (tvbuff_t *tvb, packet_info *pinfo, unsigned offset, proto_tree *parent, const AsterixField *field) { header_field_info* hfi; int bytes_in_type, byte_offset_of_mask; int i, inner_offset, offset_in_tvb, length_in_tvb; uint8_t go_on; int64_t value; char *str_buffer = NULL; double scaling_factor = 1.0; uint8_t *air_speed_im_bit; if (field->part != NULL) { for (i = 0, inner_offset = 0, go_on = 1; go_on && field->part[i] != NULL; i++) { value = tvb_get_bits64 (tvb, offset * 8 + inner_offset, field->part[i]->bit_length, ENC_BIG_ENDIAN); if (field->part[i]->hf != NULL) { offset_in_tvb = offset + inner_offset / 8; length_in_tvb = (inner_offset % 8 + field->part[i]->bit_length + 7) / 8; switch (field->part[i]->type) { case FIELD_PART_FX: if (!value) go_on = 0; /* Fall through */ case FIELD_PART_INT: case FIELD_PART_UINT: case FIELD_PART_HEX: case FIELD_PART_ASCII: case FIELD_PART_SQUAWK: hfi = proto_registrar_get_nth (*field->part[i]->hf); if (hfi->bitmask) { // for a small bit field to decode correctly with // a mask that belongs to a large(r) one we need to // re-adjust offset_in_tvb and length_in_tvb to // correctly align with the given hf mask. // // E.g. the following would not decode correctly: // { &hf_020_050_V, ... FT_UINT16, ... 0x8000, ... // instead one would have to use // { &hf_020_050_V, ... FT_UINT8, ... 0x80, ... // bytes_in_type = ftype_wire_size(hfi->type); if (bytes_in_type > 1) { byte_offset_of_mask = bytes_in_type - (ws_ilog2 (hfi->bitmask) + 8)/8; if (byte_offset_of_mask >= 0) { offset_in_tvb -= byte_offset_of_mask; length_in_tvb = bytes_in_type; } } } proto_tree_add_item (parent, *field->part[i]->hf, tvb, offset_in_tvb, length_in_tvb, ENC_BIG_ENDIAN); break; case FIELD_PART_FLOAT: twos_complement (&value, field->part[i]->bit_length); /* Fall through */ case FIELD_PART_UFLOAT: scaling_factor = field->part[i]->scaling_factor; if (field->part[i]->format_string != NULL) proto_tree_add_double_format_value (parent, *field->part[i]->hf, tvb, offset_in_tvb, length_in_tvb, value * scaling_factor, field->part[i]->format_string, value * scaling_factor); else proto_tree_add_double (parent, *field->part[i]->hf, tvb, offset_in_tvb, length_in_tvb, value * scaling_factor); break; case FIELD_PART_CALLSIGN: str_buffer = wmem_strdup_printf( pinfo->pool, "%c%c%c%c%c%c%c%c", AISCode[(value >> 42) & 63], AISCode[(value >> 36) & 63], AISCode[(value >> 30) & 63], AISCode[(value >> 24) & 63], AISCode[(value >> 18) & 63], AISCode[(value >> 12) & 63], AISCode[(value >> 6) & 63], AISCode[value & 63]); proto_tree_add_string (parent, *field->part[i]->hf, tvb, offset_in_tvb, length_in_tvb, str_buffer); break; case FIELD_PART_IAS_IM: /* special processing for I021/150 and I062/380#4 because Air Speed depends on IM subfield */ air_speed_im_bit = wmem_new (pinfo->pool, uint8_t); *air_speed_im_bit = (tvb_get_guint8 (tvb, offset_in_tvb) & 0x80) >> 7; /* Save IM info for the packet. key = 21150. */ p_add_proto_data (pinfo->pool, pinfo, proto_asterix, 21150, air_speed_im_bit); proto_tree_add_item (parent, *field->part[i]->hf, tvb, offset_in_tvb, length_in_tvb, ENC_BIG_ENDIAN); break; case FIELD_PART_IAS_ASPD: /* special processing for I021/150 and I062/380#4 because Air Speed depends on IM subfield */ air_speed_im_bit = (uint8_t *)p_get_proto_data (pinfo->pool, pinfo, proto_asterix, 21150); if (!air_speed_im_bit || *air_speed_im_bit == 0) scaling_factor = 1.0/16384.0; else scaling_factor = 0.001; proto_tree_add_double (parent, *field->part[i]->hf, tvb, offset_in_tvb, length_in_tvb, value * scaling_factor); break; } } inner_offset += field->part[i]->bit_length; } } /* if not null */ } static uint8_t asterix_bit (uint8_t b, uint8_t bitNo) { return bitNo < 8 && (b & (0x80 >> bitNo)) > 0; } /* Function makes int64_t two's complement. * Only the bit_len bit are set in int64_t. All more significant * bits need to be set to have proper two's complement. * If the number is negative, all other bits must be set to 1. * If the number is positive, all other bits must remain 0. */ static void twos_complement (int64_t *v, int bit_len) { if (*v & (G_GUINT64_CONSTANT(1) << (bit_len - 1))) { *v |= (G_GUINT64_CONSTANT(0xffffffffffffffff) << bit_len); } } static unsigned asterix_fspec_len (tvbuff_t *tvb, unsigned offset) { unsigned i; unsigned max_length = tvb_reported_length (tvb) - offset; for (i = 0; (tvb_get_guint8 (tvb, offset + i) & 1) && i < max_length; i++); return i + 1; } static uint8_t asterix_field_exists (tvbuff_t *tvb, unsigned offset, int bitIndex) { uint8_t bitNo, i; bitNo = bitIndex + bitIndex / 7; for (i = 0; i < bitNo / 8; i++) { if (!(tvb_get_guint8 (tvb, offset + i) & 1)) return 0; } return asterix_bit (tvb_get_guint8 (tvb, offset + i), bitNo % 8); } static int asterix_field_length (tvbuff_t *tvb, unsigned offset, const AsterixField *field) { unsigned size; uint64_t count; uint8_t i; size = 0; switch(field->type) { case FIXED: size = field->length; break; case REPETITIVE: for (i = 0, count = 0; i < field->repetition_counter_size && i < sizeof (count); i++) count = (count << 8) + tvb_get_guint8 (tvb, offset + i); size = (unsigned)(field->repetition_counter_size + count * field->length); break; case FX: for (size = field->length + field->header_length; tvb_get_guint8 (tvb, offset + size - 1) & 1; size += field->length); break; case EXP: for (i = 0, size = 0; i < field->header_length; i++) { size = (size << 8) + tvb_get_guint8 (tvb, offset + i); } break; case COMPOUND: /* FSPEC */ for (size = 0; tvb_get_guint8 (tvb, offset + size) & 1; size++); size++; for (i = 0; field->field[i] != NULL; i++) { if (asterix_field_exists (tvb, offset, i)) size += asterix_field_length (tvb, offset + size, field->field[i]); } break; } return size; } /* This works for category 001. For other it may require changes. */ static uint8_t asterix_get_active_uap (tvbuff_t *tvb, unsigned offset, uint8_t category) { int i, inner_offset; AsterixField **current_uap; if ((category == 1) && (categories[category] != NULL)) { /* if category is supported */ if (categories[category][global_categories_version[category]][1] != NULL) { /* if exists another uap */ current_uap = (AsterixField **)categories[category][global_categories_version[category]][0]; if (current_uap != NULL) { inner_offset = asterix_fspec_len (tvb, offset); for (i = 0; current_uap[i] != NULL; i++) { if (asterix_field_exists (tvb, offset, i)) { if (i == 1) { /* uap selector (I001/020) is always at index '1' */ return tvb_get_guint8 (tvb, offset + inner_offset) >> 7; } inner_offset += asterix_field_length (tvb, offset + inner_offset, current_uap[i]); } } } } } return 0; } static int asterix_field_offset (tvbuff_t *tvb, unsigned offset, const AsterixField *current_uap[], int field_index) { int i, inner_offset; inner_offset = 0; if (asterix_field_exists (tvb, offset, field_index)) { inner_offset = asterix_fspec_len (tvb, offset); for (i = 0; i < field_index; i++) { if (asterix_field_exists (tvb, offset, i)) inner_offset += asterix_field_length (tvb, offset + inner_offset, current_uap[i]); } } return inner_offset; } static int asterix_message_length (tvbuff_t *tvb, unsigned offset, uint8_t category, uint8_t active_uap) { int i, size; AsterixField **current_uap; if (categories[category] != NULL) { /* if category is supported */ current_uap = (AsterixField **)categories[category][global_categories_version[category]][active_uap]; if (current_uap != NULL) { size = asterix_fspec_len (tvb, offset); for (i = 0; current_uap[i] != NULL; i++) { if (asterix_field_exists (tvb, offset, i)) { size += asterix_field_length (tvb, offset + size, current_uap[i]); } } return size; } } return 0; } void proto_register_asterix (void) { static hf_register_info hf[] = { { &hf_asterix_category, { "Category", "asterix.category", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_asterix_length, { "Length", "asterix.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_asterix_message, { "Asterix message", "asterix.message", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_asterix_fspec, { "FSPEC", "asterix.fspec", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_re_field_len, { "RE LEN", "asterix.re_field_len", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_spare, { "Spare", "asterix.spare", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } }, { &hf_counter, { "Counter", "asterix.counter", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, { &hf_XXX_FX, { "FX", "asterix.FX", FT_UINT8, BASE_DEC, VALS (valstr_XXX_FX), 0x01, "Extension into next extent", HFILL } }, /* insert2 */ { &hf_001_V1_2_010, { "010, Data Source Identifier", "asterix.001_V1_2_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_010_SAC, { "SAC, System Area Code", "asterix.001_V1_2_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_010_SIC, { "SIC, System Identification Code", "asterix.001_V1_2_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_020, { "020, Target Report Descriptor", "asterix.001_V1_2_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_020_TYP, { "TYP", "asterix.001_V1_2_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_TYP), 0x80, NULL, HFILL } }, { &hf_001_V1_2_020_SIM, { "SIM", "asterix.001_V1_2_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_SIM), 0x40, NULL, HFILL } }, { &hf_001_V1_2_020_SSRPSR, { "SSRPSR, Radar Detection in Last Antenna Scan", "asterix.001_V1_2_020_SSRPSR", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_SSRPSR), 0x30, NULL, HFILL } }, { &hf_001_V1_2_020_ANT, { "ANT", "asterix.001_V1_2_020_ANT", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_ANT), 0x08, NULL, HFILL } }, { &hf_001_V1_2_020_SPI, { "SPI", "asterix.001_V1_2_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_SPI), 0x04, NULL, HFILL } }, { &hf_001_V1_2_020_RAB, { "RAB", "asterix.001_V1_2_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_RAB), 0x02, NULL, HFILL } }, { &hf_001_V1_2_020_TST, { "TST", "asterix.001_V1_2_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_TST), 0x80, NULL, HFILL } }, { &hf_001_V1_2_020_DS1DS2, { "DS1DS2, Radar Detection in Last Antenna Scan", "asterix.001_V1_2_020_DS1DS2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_DS1DS2), 0x60, NULL, HFILL } }, { &hf_001_V1_2_020_ME, { "ME", "asterix.001_V1_2_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_ME), 0x10, NULL, HFILL } }, { &hf_001_V1_2_020_MI, { "MI", "asterix.001_V1_2_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_020_MI), 0x08, NULL, HFILL } }, { &hf_001_V1_2_030, { "030, Warning/Error Conditions", "asterix.001_V1_2_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_030_Subitem, { "Subitem, Subitem", "asterix.001_V1_2_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_001_V1_2_040, { "040, Measured Position in Polar Co-ordinates", "asterix.001_V1_2_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_040_RHO, { "RHO, [NM]", "asterix.001_V1_2_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_040_THETA, { "THETA, [°]", "asterix.001_V1_2_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.001_V1_2_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_042_X, { "X, X-Component, [NM]", "asterix.001_V1_2_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_042_Y, { "Y, Y-Component, [NM]", "asterix.001_V1_2_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_050, { "050, Mode-2 Code in Octal Representation", "asterix.001_V1_2_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_050_V, { "V", "asterix.001_V1_2_050_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_050_V), 0x80, NULL, HFILL } }, { &hf_001_V1_2_050_G, { "G", "asterix.001_V1_2_050_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_050_G), 0x40, NULL, HFILL } }, { &hf_001_V1_2_050_L, { "L", "asterix.001_V1_2_050_L", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_050_L), 0x20, NULL, HFILL } }, { &hf_001_V1_2_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.001_V1_2_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_2_060, { "060, Mode-2 Code Confidence Indicator", "asterix.001_V1_2_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_060_QA4, { "QA4", "asterix.001_V1_2_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QA4), 0x08, NULL, HFILL } }, { &hf_001_V1_2_060_QA2, { "QA2", "asterix.001_V1_2_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QA2), 0x04, NULL, HFILL } }, { &hf_001_V1_2_060_QA1, { "QA1", "asterix.001_V1_2_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QA1), 0x02, NULL, HFILL } }, { &hf_001_V1_2_060_QB4, { "QB4", "asterix.001_V1_2_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QB4), 0x01, NULL, HFILL } }, { &hf_001_V1_2_060_QB2, { "QB2", "asterix.001_V1_2_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QB2), 0x80, NULL, HFILL } }, { &hf_001_V1_2_060_QB1, { "QB1", "asterix.001_V1_2_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QB1), 0x40, NULL, HFILL } }, { &hf_001_V1_2_060_QC4, { "QC4", "asterix.001_V1_2_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QC4), 0x20, NULL, HFILL } }, { &hf_001_V1_2_060_QC2, { "QC2", "asterix.001_V1_2_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QC2), 0x10, NULL, HFILL } }, { &hf_001_V1_2_060_QC1, { "QC1", "asterix.001_V1_2_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_2_060_QD4, { "QD4", "asterix.001_V1_2_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QD4), 0x04, NULL, HFILL } }, { &hf_001_V1_2_060_QD2, { "QD2", "asterix.001_V1_2_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QD2), 0x02, NULL, HFILL } }, { &hf_001_V1_2_060_QD1, { "QD1", "asterix.001_V1_2_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_060_QD1), 0x01, NULL, HFILL } }, { &hf_001_V1_2_070, { "070, Mode-3/A Code in Octal Representation", "asterix.001_V1_2_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_070_V, { "V", "asterix.001_V1_2_070_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_070_V), 0x80, NULL, HFILL } }, { &hf_001_V1_2_070_G, { "G", "asterix.001_V1_2_070_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_070_G), 0x40, NULL, HFILL } }, { &hf_001_V1_2_070_L, { "L", "asterix.001_V1_2_070_L", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_070_L), 0x20, NULL, HFILL } }, { &hf_001_V1_2_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.001_V1_2_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_2_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.001_V1_2_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_080_QA4, { "QA4", "asterix.001_V1_2_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QA4), 0x08, NULL, HFILL } }, { &hf_001_V1_2_080_QA2, { "QA2", "asterix.001_V1_2_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QA2), 0x04, NULL, HFILL } }, { &hf_001_V1_2_080_QA1, { "QA1", "asterix.001_V1_2_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QA1), 0x02, NULL, HFILL } }, { &hf_001_V1_2_080_QB4, { "QB4", "asterix.001_V1_2_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QB4), 0x01, NULL, HFILL } }, { &hf_001_V1_2_080_QB2, { "QB2", "asterix.001_V1_2_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QB2), 0x80, NULL, HFILL } }, { &hf_001_V1_2_080_QB1, { "QB1", "asterix.001_V1_2_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QB1), 0x40, NULL, HFILL } }, { &hf_001_V1_2_080_QC4, { "QC4", "asterix.001_V1_2_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QC4), 0x20, NULL, HFILL } }, { &hf_001_V1_2_080_QC2, { "QC2", "asterix.001_V1_2_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QC2), 0x10, NULL, HFILL } }, { &hf_001_V1_2_080_QC1, { "QC1", "asterix.001_V1_2_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_2_080_QD4, { "QD4", "asterix.001_V1_2_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QD4), 0x04, NULL, HFILL } }, { &hf_001_V1_2_080_QD2, { "QD2", "asterix.001_V1_2_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QD2), 0x02, NULL, HFILL } }, { &hf_001_V1_2_080_QD1, { "QD1", "asterix.001_V1_2_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_080_QD1), 0x01, NULL, HFILL } }, { &hf_001_V1_2_090, { "090, Mode-C Code in Binary Representation", "asterix.001_V1_2_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_090_V, { "V", "asterix.001_V1_2_090_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_090_V), 0x80, NULL, HFILL } }, { &hf_001_V1_2_090_G, { "G", "asterix.001_V1_2_090_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_090_G), 0x40, NULL, HFILL } }, { &hf_001_V1_2_090_HGT, { "HGT, Mode-C HEIGHT, [FL]", "asterix.001_V1_2_090_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.001_V1_2_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_100_V, { "V", "asterix.001_V1_2_100_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_V), 0x80, NULL, HFILL } }, { &hf_001_V1_2_100_G, { "G", "asterix.001_V1_2_100_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_G), 0x40, NULL, HFILL } }, { &hf_001_V1_2_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.001_V1_2_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_2_100_QC1, { "QC1", "asterix.001_V1_2_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_2_100_QA1, { "QA1", "asterix.001_V1_2_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QA1), 0x04, NULL, HFILL } }, { &hf_001_V1_2_100_QC2, { "QC2", "asterix.001_V1_2_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QC2), 0x02, NULL, HFILL } }, { &hf_001_V1_2_100_QA2, { "QA2", "asterix.001_V1_2_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QA2), 0x01, NULL, HFILL } }, { &hf_001_V1_2_100_QC4, { "QC4", "asterix.001_V1_2_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QC4), 0x80, NULL, HFILL } }, { &hf_001_V1_2_100_QA4, { "QA4", "asterix.001_V1_2_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QA4), 0x40, NULL, HFILL } }, { &hf_001_V1_2_100_QB1, { "QB1", "asterix.001_V1_2_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QB1), 0x20, NULL, HFILL } }, { &hf_001_V1_2_100_QD1, { "QD1", "asterix.001_V1_2_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QD1), 0x10, NULL, HFILL } }, { &hf_001_V1_2_100_QB2, { "QB2", "asterix.001_V1_2_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QB2), 0x08, NULL, HFILL } }, { &hf_001_V1_2_100_QD2, { "QD2", "asterix.001_V1_2_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QD2), 0x04, NULL, HFILL } }, { &hf_001_V1_2_100_QB4, { "QB4", "asterix.001_V1_2_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QB4), 0x02, NULL, HFILL } }, { &hf_001_V1_2_100_QD4, { "QD4", "asterix.001_V1_2_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_100_QD4), 0x01, NULL, HFILL } }, { &hf_001_V1_2_120, { "120, Measured Radial Doppler Speed", "asterix.001_V1_2_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_120_VALUE, { "Measured Radial Doppler Speed, [NM/s]", "asterix.001_V1_2_120_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_130, { "130, Radar Plot Characteristics", "asterix.001_V1_2_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_130_Subitem, { "Subitem, Subitem", "asterix.001_V1_2_130_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_V1_2_131, { "131, Received Power", "asterix.001_V1_2_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_131_VALUE, { "Received Power, [dBm]", "asterix.001_V1_2_131_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_141, { "141, Truncated Time of Day", "asterix.001_V1_2_141", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_141_VALUE, { "Truncated Time of Day, [s]", "asterix.001_V1_2_141_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_150, { "150, Presence of X-Pulse", "asterix.001_V1_2_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_150_XA, { "XA", "asterix.001_V1_2_150_XA", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_150_XA), 0x80, NULL, HFILL } }, { &hf_001_V1_2_150_XC, { "XC", "asterix.001_V1_2_150_XC", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_150_XC), 0x20, NULL, HFILL } }, { &hf_001_V1_2_150_X2, { "X2", "asterix.001_V1_2_150_X2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_150_X2), 0x04, NULL, HFILL } }, { &hf_001_V1_2_161, { "161, Track Plot Number", "asterix.001_V1_2_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_161_VALUE, { "Track Plot Number", "asterix.001_V1_2_161_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_170, { "170, Track Status", "asterix.001_V1_2_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_170_CON, { "CON", "asterix.001_V1_2_170_CON", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_170_CON), 0x80, NULL, HFILL } }, { &hf_001_V1_2_170_RAD, { "RAD", "asterix.001_V1_2_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_170_RAD), 0x40, NULL, HFILL } }, { &hf_001_V1_2_170_MAN, { "MAN", "asterix.001_V1_2_170_MAN", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_170_MAN), 0x20, NULL, HFILL } }, { &hf_001_V1_2_170_DOU, { "DOU", "asterix.001_V1_2_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_170_DOU), 0x10, NULL, HFILL } }, { &hf_001_V1_2_170_RDPC, { "RDPC, Radar Data Processing Chain", "asterix.001_V1_2_170_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_170_RDPC), 0x08, NULL, HFILL } }, { &hf_001_V1_2_170_GHO, { "GHO", "asterix.001_V1_2_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_170_GHO), 0x02, NULL, HFILL } }, { &hf_001_V1_2_170_TRE, { "TRE", "asterix.001_V1_2_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_2_170_TRE), 0x80, NULL, HFILL } }, { &hf_001_V1_2_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.001_V1_2_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.001_V1_2_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.001_V1_2_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_210, { "210, Track Quality", "asterix.001_V1_2_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_2_210_Subitem, { "Subitem, Subitem", "asterix.001_V1_2_210_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_V1_2_SP, { "SP, Special Purpose Field", "asterix.001_V1_2_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_010, { "010, Data Source Identifier", "asterix.001_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_010_SAC, { "SAC, System Area Code", "asterix.001_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.001_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_020, { "020, Target Report Descriptor", "asterix.001_V1_3_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_020_TYP, { "TYP", "asterix.001_V1_3_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_TYP), 0x80, NULL, HFILL } }, { &hf_001_V1_3_020_SIM, { "SIM", "asterix.001_V1_3_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_SIM), 0x40, NULL, HFILL } }, { &hf_001_V1_3_020_SSRPSR, { "SSRPSR, Radar Detection in Last Antenna Scan", "asterix.001_V1_3_020_SSRPSR", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_SSRPSR), 0x30, NULL, HFILL } }, { &hf_001_V1_3_020_ANT, { "ANT", "asterix.001_V1_3_020_ANT", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_ANT), 0x08, NULL, HFILL } }, { &hf_001_V1_3_020_SPI, { "SPI", "asterix.001_V1_3_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_SPI), 0x04, NULL, HFILL } }, { &hf_001_V1_3_020_RAB, { "RAB", "asterix.001_V1_3_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_RAB), 0x02, NULL, HFILL } }, { &hf_001_V1_3_020_TST, { "TST", "asterix.001_V1_3_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_TST), 0x80, NULL, HFILL } }, { &hf_001_V1_3_020_DS1DS2, { "DS1DS2, Radar Detection in Last Antenna Scan", "asterix.001_V1_3_020_DS1DS2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_DS1DS2), 0x60, NULL, HFILL } }, { &hf_001_V1_3_020_ME, { "ME", "asterix.001_V1_3_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_ME), 0x10, NULL, HFILL } }, { &hf_001_V1_3_020_MI, { "MI", "asterix.001_V1_3_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_020_MI), 0x08, NULL, HFILL } }, { &hf_001_V1_3_030, { "030, Warning/Error Conditions", "asterix.001_V1_3_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_030_Subitem, { "Subitem, Subitem", "asterix.001_V1_3_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_001_V1_3_040, { "040, Measured Position in Polar Co-ordinates", "asterix.001_V1_3_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_040_RHO, { "RHO, [NM]", "asterix.001_V1_3_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_040_THETA, { "THETA, [°]", "asterix.001_V1_3_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.001_V1_3_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_042_X, { "X, X-Component, [NM]", "asterix.001_V1_3_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_042_Y, { "Y, Y-Component, [NM]", "asterix.001_V1_3_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_050, { "050, Mode-2 Code in Octal Representation", "asterix.001_V1_3_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_050_V, { "V", "asterix.001_V1_3_050_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_050_V), 0x80, NULL, HFILL } }, { &hf_001_V1_3_050_G, { "G", "asterix.001_V1_3_050_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_050_G), 0x40, NULL, HFILL } }, { &hf_001_V1_3_050_L, { "L", "asterix.001_V1_3_050_L", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_050_L), 0x20, NULL, HFILL } }, { &hf_001_V1_3_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.001_V1_3_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_3_060, { "060, Mode-2 Code Confidence Indicator", "asterix.001_V1_3_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_060_QA4, { "QA4", "asterix.001_V1_3_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QA4), 0x08, NULL, HFILL } }, { &hf_001_V1_3_060_QA2, { "QA2", "asterix.001_V1_3_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QA2), 0x04, NULL, HFILL } }, { &hf_001_V1_3_060_QA1, { "QA1", "asterix.001_V1_3_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QA1), 0x02, NULL, HFILL } }, { &hf_001_V1_3_060_QB4, { "QB4", "asterix.001_V1_3_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QB4), 0x01, NULL, HFILL } }, { &hf_001_V1_3_060_QB2, { "QB2", "asterix.001_V1_3_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QB2), 0x80, NULL, HFILL } }, { &hf_001_V1_3_060_QB1, { "QB1", "asterix.001_V1_3_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QB1), 0x40, NULL, HFILL } }, { &hf_001_V1_3_060_QC4, { "QC4", "asterix.001_V1_3_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QC4), 0x20, NULL, HFILL } }, { &hf_001_V1_3_060_QC2, { "QC2", "asterix.001_V1_3_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QC2), 0x10, NULL, HFILL } }, { &hf_001_V1_3_060_QC1, { "QC1", "asterix.001_V1_3_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_3_060_QD4, { "QD4", "asterix.001_V1_3_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QD4), 0x04, NULL, HFILL } }, { &hf_001_V1_3_060_QD2, { "QD2", "asterix.001_V1_3_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QD2), 0x02, NULL, HFILL } }, { &hf_001_V1_3_060_QD1, { "QD1", "asterix.001_V1_3_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_060_QD1), 0x01, NULL, HFILL } }, { &hf_001_V1_3_070, { "070, Mode-3/A Code in Octal Representation", "asterix.001_V1_3_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_070_V, { "V", "asterix.001_V1_3_070_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_070_V), 0x80, NULL, HFILL } }, { &hf_001_V1_3_070_G, { "G", "asterix.001_V1_3_070_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_070_G), 0x40, NULL, HFILL } }, { &hf_001_V1_3_070_L, { "L", "asterix.001_V1_3_070_L", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_070_L), 0x20, NULL, HFILL } }, { &hf_001_V1_3_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.001_V1_3_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_3_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.001_V1_3_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_080_QA4, { "QA4", "asterix.001_V1_3_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QA4), 0x08, NULL, HFILL } }, { &hf_001_V1_3_080_QA2, { "QA2", "asterix.001_V1_3_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QA2), 0x04, NULL, HFILL } }, { &hf_001_V1_3_080_QA1, { "QA1", "asterix.001_V1_3_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QA1), 0x02, NULL, HFILL } }, { &hf_001_V1_3_080_QB4, { "QB4", "asterix.001_V1_3_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QB4), 0x01, NULL, HFILL } }, { &hf_001_V1_3_080_QB2, { "QB2", "asterix.001_V1_3_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QB2), 0x80, NULL, HFILL } }, { &hf_001_V1_3_080_QB1, { "QB1", "asterix.001_V1_3_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QB1), 0x40, NULL, HFILL } }, { &hf_001_V1_3_080_QC4, { "QC4", "asterix.001_V1_3_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QC4), 0x20, NULL, HFILL } }, { &hf_001_V1_3_080_QC2, { "QC2", "asterix.001_V1_3_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QC2), 0x10, NULL, HFILL } }, { &hf_001_V1_3_080_QC1, { "QC1", "asterix.001_V1_3_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_3_080_QD4, { "QD4", "asterix.001_V1_3_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QD4), 0x04, NULL, HFILL } }, { &hf_001_V1_3_080_QD2, { "QD2", "asterix.001_V1_3_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QD2), 0x02, NULL, HFILL } }, { &hf_001_V1_3_080_QD1, { "QD1", "asterix.001_V1_3_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_080_QD1), 0x01, NULL, HFILL } }, { &hf_001_V1_3_090, { "090, Mode-C Code in Binary Representation", "asterix.001_V1_3_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_090_V, { "V", "asterix.001_V1_3_090_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_090_V), 0x80, NULL, HFILL } }, { &hf_001_V1_3_090_G, { "G", "asterix.001_V1_3_090_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_090_G), 0x40, NULL, HFILL } }, { &hf_001_V1_3_090_HGT, { "HGT, Mode-C HEIGHT, [FL]", "asterix.001_V1_3_090_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.001_V1_3_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_100_V, { "V", "asterix.001_V1_3_100_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_V), 0x80, NULL, HFILL } }, { &hf_001_V1_3_100_G, { "G", "asterix.001_V1_3_100_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_G), 0x40, NULL, HFILL } }, { &hf_001_V1_3_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.001_V1_3_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_3_100_QC1, { "QC1", "asterix.001_V1_3_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_3_100_QA1, { "QA1", "asterix.001_V1_3_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QA1), 0x04, NULL, HFILL } }, { &hf_001_V1_3_100_QC2, { "QC2", "asterix.001_V1_3_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QC2), 0x02, NULL, HFILL } }, { &hf_001_V1_3_100_QA2, { "QA2", "asterix.001_V1_3_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QA2), 0x01, NULL, HFILL } }, { &hf_001_V1_3_100_QC4, { "QC4", "asterix.001_V1_3_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QC4), 0x80, NULL, HFILL } }, { &hf_001_V1_3_100_QA4, { "QA4", "asterix.001_V1_3_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QA4), 0x40, NULL, HFILL } }, { &hf_001_V1_3_100_QB1, { "QB1", "asterix.001_V1_3_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QB1), 0x20, NULL, HFILL } }, { &hf_001_V1_3_100_QD1, { "QD1", "asterix.001_V1_3_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QD1), 0x10, NULL, HFILL } }, { &hf_001_V1_3_100_QB2, { "QB2", "asterix.001_V1_3_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QB2), 0x08, NULL, HFILL } }, { &hf_001_V1_3_100_QD2, { "QD2", "asterix.001_V1_3_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QD2), 0x04, NULL, HFILL } }, { &hf_001_V1_3_100_QB4, { "QB4", "asterix.001_V1_3_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QB4), 0x02, NULL, HFILL } }, { &hf_001_V1_3_100_QD4, { "QD4", "asterix.001_V1_3_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_100_QD4), 0x01, NULL, HFILL } }, { &hf_001_V1_3_120, { "120, Measured Radial Doppler Speed", "asterix.001_V1_3_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_120_VALUE, { "Measured Radial Doppler Speed, [NM/s]", "asterix.001_V1_3_120_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_130, { "130, Radar Plot Characteristics", "asterix.001_V1_3_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_130_Subitem, { "Subitem, Subitem", "asterix.001_V1_3_130_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_V1_3_131, { "131, Received Power", "asterix.001_V1_3_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_131_VALUE, { "Received Power, [dBm]", "asterix.001_V1_3_131_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_141, { "141, Truncated Time of Day", "asterix.001_V1_3_141", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_141_VALUE, { "Truncated Time of Day, [s]", "asterix.001_V1_3_141_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_150, { "150, Presence of X-Pulse", "asterix.001_V1_3_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_150_XA, { "XA", "asterix.001_V1_3_150_XA", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_150_XA), 0x80, NULL, HFILL } }, { &hf_001_V1_3_150_XC, { "XC", "asterix.001_V1_3_150_XC", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_150_XC), 0x20, NULL, HFILL } }, { &hf_001_V1_3_150_X2, { "X2", "asterix.001_V1_3_150_X2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_150_X2), 0x04, NULL, HFILL } }, { &hf_001_V1_3_161, { "161, Track Plot Number", "asterix.001_V1_3_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_161_VALUE, { "Track Plot Number", "asterix.001_V1_3_161_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_170, { "170, Track Status", "asterix.001_V1_3_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_170_CON, { "CON", "asterix.001_V1_3_170_CON", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_170_CON), 0x80, NULL, HFILL } }, { &hf_001_V1_3_170_RAD, { "RAD", "asterix.001_V1_3_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_170_RAD), 0x40, NULL, HFILL } }, { &hf_001_V1_3_170_MAN, { "MAN", "asterix.001_V1_3_170_MAN", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_170_MAN), 0x20, NULL, HFILL } }, { &hf_001_V1_3_170_DOU, { "DOU", "asterix.001_V1_3_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_170_DOU), 0x10, NULL, HFILL } }, { &hf_001_V1_3_170_RDPC, { "RDPC, Radar Data Processing Chain", "asterix.001_V1_3_170_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_170_RDPC), 0x08, NULL, HFILL } }, { &hf_001_V1_3_170_GHO, { "GHO", "asterix.001_V1_3_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_170_GHO), 0x02, NULL, HFILL } }, { &hf_001_V1_3_170_TRE, { "TRE", "asterix.001_V1_3_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_3_170_TRE), 0x80, NULL, HFILL } }, { &hf_001_V1_3_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.001_V1_3_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.001_V1_3_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.001_V1_3_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_210, { "210, Track Quality", "asterix.001_V1_3_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_3_210_Subitem, { "Subitem, Subitem", "asterix.001_V1_3_210_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_V1_3_SP, { "SP, Special Purpose Field", "asterix.001_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_010, { "010, Data Source Identifier", "asterix.001_V1_4_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_010_SAC, { "SAC, System Area Code", "asterix.001_V1_4_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_010_SIC, { "SIC, System Identification Code", "asterix.001_V1_4_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_020, { "020, Target Report Descriptor", "asterix.001_V1_4_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_020_TYP, { "TYP", "asterix.001_V1_4_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_TYP), 0x80, NULL, HFILL } }, { &hf_001_V1_4_020_SIM, { "SIM", "asterix.001_V1_4_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_SIM), 0x40, NULL, HFILL } }, { &hf_001_V1_4_020_SSRPSR, { "SSRPSR, Radar Detection in Last Antenna Scan", "asterix.001_V1_4_020_SSRPSR", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_SSRPSR), 0x30, NULL, HFILL } }, { &hf_001_V1_4_020_ANT, { "ANT", "asterix.001_V1_4_020_ANT", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_ANT), 0x08, NULL, HFILL } }, { &hf_001_V1_4_020_SPI, { "SPI", "asterix.001_V1_4_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_SPI), 0x04, NULL, HFILL } }, { &hf_001_V1_4_020_RAB, { "RAB", "asterix.001_V1_4_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_RAB), 0x02, NULL, HFILL } }, { &hf_001_V1_4_020_TST, { "TST", "asterix.001_V1_4_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_TST), 0x80, NULL, HFILL } }, { &hf_001_V1_4_020_DS1DS2, { "DS1DS2, Radar Detection in Last Antenna Scan", "asterix.001_V1_4_020_DS1DS2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_DS1DS2), 0x60, NULL, HFILL } }, { &hf_001_V1_4_020_ME, { "ME", "asterix.001_V1_4_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_ME), 0x10, NULL, HFILL } }, { &hf_001_V1_4_020_MI, { "MI", "asterix.001_V1_4_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_020_MI), 0x08, NULL, HFILL } }, { &hf_001_V1_4_030, { "030, Warning/Error Conditions", "asterix.001_V1_4_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_030_Subitem, { "Subitem, Subitem", "asterix.001_V1_4_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_001_V1_4_040, { "040, Measured Position in Polar Co-ordinates", "asterix.001_V1_4_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_040_RHO, { "RHO, [NM]", "asterix.001_V1_4_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_040_THETA, { "THETA, [°]", "asterix.001_V1_4_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.001_V1_4_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_042_X, { "X, X-Component, [NM]", "asterix.001_V1_4_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_042_Y, { "Y, Y-Component, [NM]", "asterix.001_V1_4_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_050, { "050, Mode-2 Code in Octal Representation", "asterix.001_V1_4_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_050_V, { "V", "asterix.001_V1_4_050_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_050_V), 0x80, NULL, HFILL } }, { &hf_001_V1_4_050_G, { "G", "asterix.001_V1_4_050_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_050_G), 0x40, NULL, HFILL } }, { &hf_001_V1_4_050_L, { "L", "asterix.001_V1_4_050_L", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_050_L), 0x20, NULL, HFILL } }, { &hf_001_V1_4_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.001_V1_4_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_4_060, { "060, Mode-2 Code Confidence Indicator", "asterix.001_V1_4_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_060_QA4, { "QA4", "asterix.001_V1_4_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QA4), 0x08, NULL, HFILL } }, { &hf_001_V1_4_060_QA2, { "QA2", "asterix.001_V1_4_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QA2), 0x04, NULL, HFILL } }, { &hf_001_V1_4_060_QA1, { "QA1", "asterix.001_V1_4_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QA1), 0x02, NULL, HFILL } }, { &hf_001_V1_4_060_QB4, { "QB4", "asterix.001_V1_4_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QB4), 0x01, NULL, HFILL } }, { &hf_001_V1_4_060_QB2, { "QB2", "asterix.001_V1_4_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QB2), 0x80, NULL, HFILL } }, { &hf_001_V1_4_060_QB1, { "QB1", "asterix.001_V1_4_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QB1), 0x40, NULL, HFILL } }, { &hf_001_V1_4_060_QC4, { "QC4", "asterix.001_V1_4_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QC4), 0x20, NULL, HFILL } }, { &hf_001_V1_4_060_QC2, { "QC2", "asterix.001_V1_4_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QC2), 0x10, NULL, HFILL } }, { &hf_001_V1_4_060_QC1, { "QC1", "asterix.001_V1_4_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_4_060_QD4, { "QD4", "asterix.001_V1_4_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QD4), 0x04, NULL, HFILL } }, { &hf_001_V1_4_060_QD2, { "QD2", "asterix.001_V1_4_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QD2), 0x02, NULL, HFILL } }, { &hf_001_V1_4_060_QD1, { "QD1", "asterix.001_V1_4_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_060_QD1), 0x01, NULL, HFILL } }, { &hf_001_V1_4_070, { "070, Mode-3/A Code in Octal Representation", "asterix.001_V1_4_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_070_V, { "V", "asterix.001_V1_4_070_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_070_V), 0x80, NULL, HFILL } }, { &hf_001_V1_4_070_G, { "G", "asterix.001_V1_4_070_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_070_G), 0x40, NULL, HFILL } }, { &hf_001_V1_4_070_L, { "L", "asterix.001_V1_4_070_L", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_070_L), 0x20, NULL, HFILL } }, { &hf_001_V1_4_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.001_V1_4_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_4_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.001_V1_4_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_080_QA4, { "QA4", "asterix.001_V1_4_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QA4), 0x08, NULL, HFILL } }, { &hf_001_V1_4_080_QA2, { "QA2", "asterix.001_V1_4_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QA2), 0x04, NULL, HFILL } }, { &hf_001_V1_4_080_QA1, { "QA1", "asterix.001_V1_4_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QA1), 0x02, NULL, HFILL } }, { &hf_001_V1_4_080_QB4, { "QB4", "asterix.001_V1_4_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QB4), 0x01, NULL, HFILL } }, { &hf_001_V1_4_080_QB2, { "QB2", "asterix.001_V1_4_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QB2), 0x80, NULL, HFILL } }, { &hf_001_V1_4_080_QB1, { "QB1", "asterix.001_V1_4_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QB1), 0x40, NULL, HFILL } }, { &hf_001_V1_4_080_QC4, { "QC4", "asterix.001_V1_4_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QC4), 0x20, NULL, HFILL } }, { &hf_001_V1_4_080_QC2, { "QC2", "asterix.001_V1_4_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QC2), 0x10, NULL, HFILL } }, { &hf_001_V1_4_080_QC1, { "QC1", "asterix.001_V1_4_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_4_080_QD4, { "QD4", "asterix.001_V1_4_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QD4), 0x04, NULL, HFILL } }, { &hf_001_V1_4_080_QD2, { "QD2", "asterix.001_V1_4_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QD2), 0x02, NULL, HFILL } }, { &hf_001_V1_4_080_QD1, { "QD1", "asterix.001_V1_4_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_080_QD1), 0x01, NULL, HFILL } }, { &hf_001_V1_4_090, { "090, Mode-C Code in Binary Representation", "asterix.001_V1_4_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_090_V, { "V", "asterix.001_V1_4_090_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_090_V), 0x80, NULL, HFILL } }, { &hf_001_V1_4_090_G, { "G", "asterix.001_V1_4_090_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_090_G), 0x40, NULL, HFILL } }, { &hf_001_V1_4_090_HGT, { "HGT, Mode-C HEIGHT, [FL]", "asterix.001_V1_4_090_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.001_V1_4_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_100_V, { "V", "asterix.001_V1_4_100_V", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_V), 0x80, NULL, HFILL } }, { &hf_001_V1_4_100_G, { "G", "asterix.001_V1_4_100_G", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_G), 0x40, NULL, HFILL } }, { &hf_001_V1_4_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.001_V1_4_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_V1_4_100_QC1, { "QC1", "asterix.001_V1_4_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QC1), 0x08, NULL, HFILL } }, { &hf_001_V1_4_100_QA1, { "QA1", "asterix.001_V1_4_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QA1), 0x04, NULL, HFILL } }, { &hf_001_V1_4_100_QC2, { "QC2", "asterix.001_V1_4_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QC2), 0x02, NULL, HFILL } }, { &hf_001_V1_4_100_QA2, { "QA2", "asterix.001_V1_4_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QA2), 0x01, NULL, HFILL } }, { &hf_001_V1_4_100_QC4, { "QC4", "asterix.001_V1_4_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QC4), 0x80, NULL, HFILL } }, { &hf_001_V1_4_100_QA4, { "QA4", "asterix.001_V1_4_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QA4), 0x40, NULL, HFILL } }, { &hf_001_V1_4_100_QB1, { "QB1", "asterix.001_V1_4_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QB1), 0x20, NULL, HFILL } }, { &hf_001_V1_4_100_QD1, { "QD1", "asterix.001_V1_4_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QD1), 0x10, NULL, HFILL } }, { &hf_001_V1_4_100_QB2, { "QB2", "asterix.001_V1_4_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QB2), 0x08, NULL, HFILL } }, { &hf_001_V1_4_100_QD2, { "QD2", "asterix.001_V1_4_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QD2), 0x04, NULL, HFILL } }, { &hf_001_V1_4_100_QB4, { "QB4", "asterix.001_V1_4_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QB4), 0x02, NULL, HFILL } }, { &hf_001_V1_4_100_QD4, { "QD4", "asterix.001_V1_4_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_100_QD4), 0x01, NULL, HFILL } }, { &hf_001_V1_4_120, { "120, Measured Radial Doppler Speed", "asterix.001_V1_4_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_120_VALUE, { "Measured Radial Doppler Speed, [NM/s]", "asterix.001_V1_4_120_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_130, { "130, Radar Plot Characteristics", "asterix.001_V1_4_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_130_Subitem, { "Subitem, Subitem", "asterix.001_V1_4_130_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_V1_4_131, { "131, Received Power", "asterix.001_V1_4_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_131_VALUE, { "Received Power, [dBm]", "asterix.001_V1_4_131_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_141, { "141, Truncated Time of Day", "asterix.001_V1_4_141", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_141_VALUE, { "Truncated Time of Day, [s]", "asterix.001_V1_4_141_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_150, { "150, Presence of X-Pulse", "asterix.001_V1_4_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_150_XA, { "XA", "asterix.001_V1_4_150_XA", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_150_XA), 0x80, NULL, HFILL } }, { &hf_001_V1_4_150_XC, { "XC", "asterix.001_V1_4_150_XC", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_150_XC), 0x20, NULL, HFILL } }, { &hf_001_V1_4_150_X2, { "X2", "asterix.001_V1_4_150_X2", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_150_X2), 0x04, NULL, HFILL } }, { &hf_001_V1_4_161, { "161, Track Plot Number", "asterix.001_V1_4_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_161_VALUE, { "Track Plot Number", "asterix.001_V1_4_161_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_170, { "170, Track Status", "asterix.001_V1_4_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_170_CON, { "CON", "asterix.001_V1_4_170_CON", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_170_CON), 0x80, NULL, HFILL } }, { &hf_001_V1_4_170_RAD, { "RAD", "asterix.001_V1_4_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_170_RAD), 0x40, NULL, HFILL } }, { &hf_001_V1_4_170_MAN, { "MAN", "asterix.001_V1_4_170_MAN", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_170_MAN), 0x20, NULL, HFILL } }, { &hf_001_V1_4_170_DOU, { "DOU", "asterix.001_V1_4_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_170_DOU), 0x10, NULL, HFILL } }, { &hf_001_V1_4_170_RDPC, { "RDPC, Radar Data Processing Chain", "asterix.001_V1_4_170_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_170_RDPC), 0x08, NULL, HFILL } }, { &hf_001_V1_4_170_GHO, { "GHO", "asterix.001_V1_4_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_170_GHO), 0x02, NULL, HFILL } }, { &hf_001_V1_4_170_TRE, { "TRE", "asterix.001_V1_4_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_001_V1_4_170_TRE), 0x80, NULL, HFILL } }, { &hf_001_V1_4_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.001_V1_4_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.001_V1_4_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.001_V1_4_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_210, { "210, Track Quality", "asterix.001_V1_4_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_V1_4_210_Subitem, { "Subitem, Subitem", "asterix.001_V1_4_210_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_V1_4_SP, { "SP, Special Purpose Field", "asterix.001_V1_4_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_010, { "010, Data Source Identifier", "asterix.001_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_010_SAC, { "SAC, System Area Code", "asterix.001_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_010_SIC, { "SIC, System Identification Code", "asterix.001_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_020, { "020, Target Report Descriptor", "asterix.001_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_020_TYP, { "TYP", "asterix.001_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_001_020_TYP), 0x80, NULL, HFILL } }, { &hf_001_020_SIM, { "SIM", "asterix.001_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_001_020_SIM), 0x40, NULL, HFILL } }, { &hf_001_020_SSRPSR, { "SSRPSR, Radar Detection in Last Antenna Scan", "asterix.001_020_SSRPSR", FT_UINT8, BASE_DEC, VALS (valstr_001_020_SSRPSR), 0x30, NULL, HFILL } }, { &hf_001_020_ANT, { "ANT", "asterix.001_020_ANT", FT_UINT8, BASE_DEC, VALS (valstr_001_020_ANT), 0x08, NULL, HFILL } }, { &hf_001_020_SPI, { "SPI", "asterix.001_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_001_020_SPI), 0x04, NULL, HFILL } }, { &hf_001_020_RAB, { "RAB", "asterix.001_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_001_020_RAB), 0x02, NULL, HFILL } }, { &hf_001_020_TST, { "TST", "asterix.001_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_001_020_TST), 0x80, NULL, HFILL } }, { &hf_001_020_DS1DS2, { "DS1DS2, Radar Detection in Last Antenna Scan", "asterix.001_020_DS1DS2", FT_UINT8, BASE_DEC, VALS (valstr_001_020_DS1DS2), 0x60, NULL, HFILL } }, { &hf_001_020_ME, { "ME", "asterix.001_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_001_020_ME), 0x10, NULL, HFILL } }, { &hf_001_020_MI, { "MI", "asterix.001_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_001_020_MI), 0x08, NULL, HFILL } }, { &hf_001_030, { "030, Warning/Error Conditions", "asterix.001_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_030_Subitem, { "Subitem, Subitem", "asterix.001_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_001_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_001_040, { "040, Measured Position in Polar Co-ordinates", "asterix.001_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_040_RHO, { "RHO, [NM]", "asterix.001_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_040_THETA, { "THETA, [°]", "asterix.001_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.001_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_042_X, { "X, X-Component, [NM]", "asterix.001_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_042_Y, { "Y, Y-Component, [NM]", "asterix.001_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_050, { "050, Mode-2 Code in Octal Representation", "asterix.001_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_050_V, { "V", "asterix.001_050_V", FT_UINT8, BASE_DEC, VALS (valstr_001_050_V), 0x80, NULL, HFILL } }, { &hf_001_050_G, { "G", "asterix.001_050_G", FT_UINT8, BASE_DEC, VALS (valstr_001_050_G), 0x40, NULL, HFILL } }, { &hf_001_050_L, { "L", "asterix.001_050_L", FT_UINT8, BASE_DEC, VALS (valstr_001_050_L), 0x20, NULL, HFILL } }, { &hf_001_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.001_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_060, { "060, Mode-2 Code Confidence Indicator", "asterix.001_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_060_QA4, { "QA4", "asterix.001_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QA4), 0x08, NULL, HFILL } }, { &hf_001_060_QA2, { "QA2", "asterix.001_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QA2), 0x04, NULL, HFILL } }, { &hf_001_060_QA1, { "QA1", "asterix.001_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QA1), 0x02, NULL, HFILL } }, { &hf_001_060_QB4, { "QB4", "asterix.001_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QB4), 0x01, NULL, HFILL } }, { &hf_001_060_QB2, { "QB2", "asterix.001_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QB2), 0x80, NULL, HFILL } }, { &hf_001_060_QB1, { "QB1", "asterix.001_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QB1), 0x40, NULL, HFILL } }, { &hf_001_060_QC4, { "QC4", "asterix.001_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QC4), 0x20, NULL, HFILL } }, { &hf_001_060_QC2, { "QC2", "asterix.001_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QC2), 0x10, NULL, HFILL } }, { &hf_001_060_QC1, { "QC1", "asterix.001_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QC1), 0x08, NULL, HFILL } }, { &hf_001_060_QD4, { "QD4", "asterix.001_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QD4), 0x04, NULL, HFILL } }, { &hf_001_060_QD2, { "QD2", "asterix.001_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QD2), 0x02, NULL, HFILL } }, { &hf_001_060_QD1, { "QD1", "asterix.001_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_QD1), 0x01, NULL, HFILL } }, { &hf_001_070, { "070, Mode-3/A Code in Octal Representation", "asterix.001_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_070_V, { "V", "asterix.001_070_V", FT_UINT8, BASE_DEC, VALS (valstr_001_070_V), 0x80, NULL, HFILL } }, { &hf_001_070_G, { "G", "asterix.001_070_G", FT_UINT8, BASE_DEC, VALS (valstr_001_070_G), 0x40, NULL, HFILL } }, { &hf_001_070_L, { "L", "asterix.001_070_L", FT_UINT8, BASE_DEC, VALS (valstr_001_070_L), 0x20, NULL, HFILL } }, { &hf_001_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.001_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.001_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_080_QA4, { "QA4", "asterix.001_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QA4), 0x08, NULL, HFILL } }, { &hf_001_080_QA2, { "QA2", "asterix.001_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QA2), 0x04, NULL, HFILL } }, { &hf_001_080_QA1, { "QA1", "asterix.001_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QA1), 0x02, NULL, HFILL } }, { &hf_001_080_QB4, { "QB4", "asterix.001_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QB4), 0x01, NULL, HFILL } }, { &hf_001_080_QB2, { "QB2", "asterix.001_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QB2), 0x80, NULL, HFILL } }, { &hf_001_080_QB1, { "QB1", "asterix.001_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QB1), 0x40, NULL, HFILL } }, { &hf_001_080_QC4, { "QC4", "asterix.001_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QC4), 0x20, NULL, HFILL } }, { &hf_001_080_QC2, { "QC2", "asterix.001_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QC2), 0x10, NULL, HFILL } }, { &hf_001_080_QC1, { "QC1", "asterix.001_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QC1), 0x08, NULL, HFILL } }, { &hf_001_080_QD4, { "QD4", "asterix.001_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QD4), 0x04, NULL, HFILL } }, { &hf_001_080_QD2, { "QD2", "asterix.001_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QD2), 0x02, NULL, HFILL } }, { &hf_001_080_QD1, { "QD1", "asterix.001_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_QD1), 0x01, NULL, HFILL } }, { &hf_001_090, { "090, Mode-C Code in Binary Representation", "asterix.001_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_090_V, { "V", "asterix.001_090_V", FT_UINT8, BASE_DEC, VALS (valstr_001_090_V), 0x80, NULL, HFILL } }, { &hf_001_090_G, { "G", "asterix.001_090_G", FT_UINT8, BASE_DEC, VALS (valstr_001_090_G), 0x40, NULL, HFILL } }, { &hf_001_090_HGT, { "HGT, Mode-C HEIGHT, [FL]", "asterix.001_090_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.001_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_100_V, { "V", "asterix.001_100_V", FT_UINT8, BASE_DEC, VALS (valstr_001_100_V), 0x80, NULL, HFILL } }, { &hf_001_100_G, { "G", "asterix.001_100_G", FT_UINT8, BASE_DEC, VALS (valstr_001_100_G), 0x40, NULL, HFILL } }, { &hf_001_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.001_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_001_100_QC1, { "QC1", "asterix.001_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QC1), 0x08, NULL, HFILL } }, { &hf_001_100_QA1, { "QA1", "asterix.001_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QA1), 0x04, NULL, HFILL } }, { &hf_001_100_QC2, { "QC2", "asterix.001_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QC2), 0x02, NULL, HFILL } }, { &hf_001_100_QA2, { "QA2", "asterix.001_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QA2), 0x01, NULL, HFILL } }, { &hf_001_100_QC4, { "QC4", "asterix.001_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QC4), 0x80, NULL, HFILL } }, { &hf_001_100_QA4, { "QA4", "asterix.001_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QA4), 0x40, NULL, HFILL } }, { &hf_001_100_QB1, { "QB1", "asterix.001_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QB1), 0x20, NULL, HFILL } }, { &hf_001_100_QD1, { "QD1", "asterix.001_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QD1), 0x10, NULL, HFILL } }, { &hf_001_100_QB2, { "QB2", "asterix.001_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QB2), 0x08, NULL, HFILL } }, { &hf_001_100_QD2, { "QD2", "asterix.001_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QD2), 0x04, NULL, HFILL } }, { &hf_001_100_QB4, { "QB4", "asterix.001_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QB4), 0x02, NULL, HFILL } }, { &hf_001_100_QD4, { "QD4", "asterix.001_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_QD4), 0x01, NULL, HFILL } }, { &hf_001_120, { "120, Measured Radial Doppler Speed", "asterix.001_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_120_VALUE, { "Measured Radial Doppler Speed, [NM/s]", "asterix.001_120_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_130, { "130, Radar Plot Characteristics", "asterix.001_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_130_Subitem, { "Subitem, Subitem", "asterix.001_130_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_131, { "131, Received Power", "asterix.001_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_131_VALUE, { "Received Power, [dBm]", "asterix.001_131_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_141, { "141, Truncated Time of Day", "asterix.001_141", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_141_VALUE, { "Truncated Time of Day, [s]", "asterix.001_141_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_150, { "150, Presence of X-Pulse", "asterix.001_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_150_XA, { "XA", "asterix.001_150_XA", FT_UINT8, BASE_DEC, VALS (valstr_001_150_XA), 0x80, NULL, HFILL } }, { &hf_001_150_XC, { "XC", "asterix.001_150_XC", FT_UINT8, BASE_DEC, VALS (valstr_001_150_XC), 0x20, NULL, HFILL } }, { &hf_001_150_X2, { "X2", "asterix.001_150_X2", FT_UINT8, BASE_DEC, VALS (valstr_001_150_X2), 0x04, NULL, HFILL } }, { &hf_001_161, { "161, Track Plot Number", "asterix.001_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_161_VALUE, { "Track Plot Number", "asterix.001_161_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_001_170, { "170, Track Status", "asterix.001_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_170_CON, { "CON", "asterix.001_170_CON", FT_UINT8, BASE_DEC, VALS (valstr_001_170_CON), 0x80, NULL, HFILL } }, { &hf_001_170_RAD, { "RAD", "asterix.001_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_001_170_RAD), 0x40, NULL, HFILL } }, { &hf_001_170_MAN, { "MAN", "asterix.001_170_MAN", FT_UINT8, BASE_DEC, VALS (valstr_001_170_MAN), 0x20, NULL, HFILL } }, { &hf_001_170_DOU, { "DOU", "asterix.001_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_001_170_DOU), 0x10, NULL, HFILL } }, { &hf_001_170_RDPC, { "RDPC, Radar Data Processing Chain", "asterix.001_170_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_001_170_RDPC), 0x08, NULL, HFILL } }, { &hf_001_170_GHO, { "GHO", "asterix.001_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_001_170_GHO), 0x02, NULL, HFILL } }, { &hf_001_170_TRE, { "TRE", "asterix.001_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_001_170_TRE), 0x80, NULL, HFILL } }, { &hf_001_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.001_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.001_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.001_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_210, { "210, Track Quality", "asterix.001_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_001_210_Subitem, { "Subitem, Subitem", "asterix.001_210_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_001_SP, { "SP, Special Purpose Field", "asterix.001_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_000, { "000, Message Type", "asterix.002_V1_0_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_000_VALUE, { "Message Type", "asterix.002_V1_0_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_002_V1_0_000_VALUE), 0x00, NULL, HFILL } }, { &hf_002_V1_0_010, { "010, Data Source Identifier", "asterix.002_V1_0_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_010_SAC, { "SAC, System Area Code", "asterix.002_V1_0_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_010_SIC, { "SIC, System Identification Code", "asterix.002_V1_0_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_020, { "020, Sector Number", "asterix.002_V1_0_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_020_VALUE, { "Sector Number, [°]", "asterix.002_V1_0_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_030, { "030, Time of Day", "asterix.002_V1_0_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_030_VALUE, { "Time of Day, [s]", "asterix.002_V1_0_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_041, { "041, Antenna Rotation Speed", "asterix.002_V1_0_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_041_VALUE, { "Antenna Rotation Speed, [s]", "asterix.002_V1_0_041_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_050, { "050, Station Configuration Status", "asterix.002_V1_0_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_050_Subitem, { "Subitem, Subitem", "asterix.002_V1_0_050_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_V1_0_060, { "060, Station Processing Mode", "asterix.002_V1_0_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_060_Subitem, { "Subitem, Subitem", "asterix.002_V1_0_060_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_V1_0_070, { "070, Plot Count Values", "asterix.002_V1_0_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_070_A, { "A, Aerial Identification", "asterix.002_V1_0_070_A", FT_UINT8, BASE_DEC, VALS (valstr_002_V1_0_070_A), 0x80, NULL, HFILL } }, { &hf_002_V1_0_070_IDENT, { "IDENT", "asterix.002_V1_0_070_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_002_V1_0_070_IDENT), 0x7c, NULL, HFILL } }, { &hf_002_V1_0_070_COUNTER, { "COUNTER", "asterix.002_V1_0_070_COUNTER", FT_UINT16, BASE_DEC, NULL, 0x03ff, NULL, HFILL } }, { &hf_002_V1_0_080, { "080, Warning/Error Conditions", "asterix.002_V1_0_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_080_Subitem, { "Subitem, Subitem", "asterix.002_V1_0_080_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_V1_0_090, { "090, Collimation Error", "asterix.002_V1_0_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_090_RE, { "RE, Range Error, [NM]", "asterix.002_V1_0_090_RE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_090_AE, { "AE, Azimuth Error, [°]", "asterix.002_V1_0_090_AE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_100, { "100, Dynamic Window Type 1", "asterix.002_V1_0_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_100_RS, { "RS, Rho Start, [NM]", "asterix.002_V1_0_100_RS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_100_RE, { "RE, Rho End, [NM]", "asterix.002_V1_0_100_RE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_100_TS, { "TS, Theta Start, [°]", "asterix.002_V1_0_100_TS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_100_TE, { "TE, Theta End, [°]", "asterix.002_V1_0_100_TE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_0_SP, { "SP, Special Purpose Field", "asterix.002_V1_0_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_000, { "000, Message Type", "asterix.002_V1_1_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_000_VALUE, { "Message Type", "asterix.002_V1_1_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_002_V1_1_000_VALUE), 0x00, NULL, HFILL } }, { &hf_002_V1_1_010, { "010, Data Source Identifier", "asterix.002_V1_1_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_010_SAC, { "SAC, System Area Code", "asterix.002_V1_1_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_010_SIC, { "SIC, System Identification Code", "asterix.002_V1_1_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_020, { "020, Sector Number", "asterix.002_V1_1_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_020_VALUE, { "Sector Number, [°]", "asterix.002_V1_1_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_030, { "030, Time of Day", "asterix.002_V1_1_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_030_VALUE, { "Time of Day, [s]", "asterix.002_V1_1_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_041, { "041, Antenna Rotation Speed", "asterix.002_V1_1_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_041_VALUE, { "Antenna Rotation Speed, [s]", "asterix.002_V1_1_041_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_050, { "050, Station Configuration Status", "asterix.002_V1_1_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_050_Subitem, { "Subitem, Subitem", "asterix.002_V1_1_050_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_V1_1_060, { "060, Station Processing Mode", "asterix.002_V1_1_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_060_Subitem, { "Subitem, Subitem", "asterix.002_V1_1_060_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_V1_1_070, { "070, Plot Count Values", "asterix.002_V1_1_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_070_A, { "A, Aerial Identification", "asterix.002_V1_1_070_A", FT_UINT8, BASE_DEC, VALS (valstr_002_V1_1_070_A), 0x80, NULL, HFILL } }, { &hf_002_V1_1_070_IDENT, { "IDENT", "asterix.002_V1_1_070_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_002_V1_1_070_IDENT), 0x7c, NULL, HFILL } }, { &hf_002_V1_1_070_COUNTER, { "COUNTER", "asterix.002_V1_1_070_COUNTER", FT_UINT16, BASE_DEC, NULL, 0x03ff, NULL, HFILL } }, { &hf_002_V1_1_080, { "080, Warning/Error Conditions", "asterix.002_V1_1_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_080_Subitem, { "Subitem, Subitem", "asterix.002_V1_1_080_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_V1_1_090, { "090, Collimation Error", "asterix.002_V1_1_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_090_RE, { "RE, Range Error, [NM]", "asterix.002_V1_1_090_RE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_090_AE, { "AE, Azimuth Error, [°]", "asterix.002_V1_1_090_AE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_100, { "100, Dynamic Window Type 1", "asterix.002_V1_1_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_100_RS, { "RS, Rho Start, [NM]", "asterix.002_V1_1_100_RS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_100_RE, { "RE, Rho End, [NM]", "asterix.002_V1_1_100_RE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_100_TS, { "TS, Theta Start, [°]", "asterix.002_V1_1_100_TS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_100_TE, { "TE, Theta End, [°]", "asterix.002_V1_1_100_TE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_V1_1_SP, { "SP, Special Purpose Field", "asterix.002_V1_1_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_000, { "000, Message Type", "asterix.002_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_000_VALUE, { "Message Type", "asterix.002_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_002_000_VALUE), 0x00, NULL, HFILL } }, { &hf_002_010, { "010, Data Source Identifier", "asterix.002_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_010_SAC, { "SAC, System Area Code", "asterix.002_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_002_010_SIC, { "SIC, System Identification Code", "asterix.002_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_002_020, { "020, Sector Number", "asterix.002_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_020_VALUE, { "Sector Number, [°]", "asterix.002_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_030, { "030, Time of Day", "asterix.002_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_030_VALUE, { "Time of Day, [s]", "asterix.002_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_041, { "041, Antenna Rotation Speed", "asterix.002_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_041_VALUE, { "Antenna Rotation Speed, [s]", "asterix.002_041_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_050, { "050, Station Configuration Status", "asterix.002_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_050_Subitem, { "Subitem, Subitem", "asterix.002_050_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_060, { "060, Station Processing Mode", "asterix.002_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_060_Subitem, { "Subitem, Subitem", "asterix.002_060_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_070, { "070, Plot Count Values", "asterix.002_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_070_A, { "A, Aerial Identification", "asterix.002_070_A", FT_UINT8, BASE_DEC, VALS (valstr_002_070_A), 0x80, NULL, HFILL } }, { &hf_002_070_IDENT, { "IDENT", "asterix.002_070_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_002_070_IDENT), 0x7c, NULL, HFILL } }, { &hf_002_070_COUNTER, { "COUNTER", "asterix.002_070_COUNTER", FT_UINT16, BASE_DEC, NULL, 0x03ff, NULL, HFILL } }, { &hf_002_080, { "080, Warning/Error Conditions", "asterix.002_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_080_Subitem, { "Subitem, Subitem", "asterix.002_080_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_002_090, { "090, Collimation Error", "asterix.002_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_090_RE, { "RE, Range Error, [NM]", "asterix.002_090_RE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_090_AE, { "AE, Azimuth Error, [°]", "asterix.002_090_AE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_100, { "100, Dynamic Window Type 1", "asterix.002_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_100_RS, { "RS, Rho Start, [NM]", "asterix.002_100_RS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_100_RE, { "RE, Rho End, [NM]", "asterix.002_100_RE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_100_TS, { "TS, Theta Start, [°]", "asterix.002_100_TS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_100_TE, { "TE, Theta End, [°]", "asterix.002_100_TE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_002_SP, { "SP, Special Purpose Field", "asterix.002_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_000, { "000, Message Type", "asterix.004_V1_12_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_000_VALUE, { "Message Type", "asterix.004_V1_12_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_000_VALUE), 0x00, NULL, HFILL } }, { &hf_004_V1_12_010, { "010, Data Source Identifier", "asterix.004_V1_12_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_010_SAC, { "SAC, System Area Code", "asterix.004_V1_12_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_010_SIC, { "SIC, System Identification Code", "asterix.004_V1_12_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_015, { "015, SDPS Identifier", "asterix.004_V1_12_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_015_SAC, { "SAC, System Area Code", "asterix.004_V1_12_015_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_015_SIC, { "SIC, System Identification Code", "asterix.004_V1_12_015_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_020, { "020, Time of Message", "asterix.004_V1_12_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_020_VALUE, { "Time of Message, [s]", "asterix.004_V1_12_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_030, { "030, Track Number 1", "asterix.004_V1_12_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_030_VALUE, { "Track Number 1", "asterix.004_V1_12_030_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_035, { "035, Track Number 2", "asterix.004_V1_12_035", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_035_VALUE, { "Track Number 2", "asterix.004_V1_12_035_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_040, { "040, Alert Identifier", "asterix.004_V1_12_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_040_VALUE, { "Alert Identifier", "asterix.004_V1_12_040_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_045, { "045, Alert Status", "asterix.004_V1_12_045", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_045_STAT, { "STAT, Status of the Alert", "asterix.004_V1_12_045_STAT", FT_UINT8, BASE_DEC, NULL, 0x0e, NULL, HFILL } }, { &hf_004_V1_12_060, { "060, Safety Net Function and System Status", "asterix.004_V1_12_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_060_MRVA, { "MRVA", "asterix.004_V1_12_060_MRVA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_MRVA), 0x80, NULL, HFILL } }, { &hf_004_V1_12_060_RAMLD, { "RAMLD", "asterix.004_V1_12_060_RAMLD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_RAMLD), 0x40, NULL, HFILL } }, { &hf_004_V1_12_060_RAMHD, { "RAMHD", "asterix.004_V1_12_060_RAMHD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_RAMHD), 0x20, NULL, HFILL } }, { &hf_004_V1_12_060_MSAW, { "MSAW", "asterix.004_V1_12_060_MSAW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_MSAW), 0x10, NULL, HFILL } }, { &hf_004_V1_12_060_APW, { "APW", "asterix.004_V1_12_060_APW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_APW), 0x08, NULL, HFILL } }, { &hf_004_V1_12_060_CLAM, { "CLAM", "asterix.004_V1_12_060_CLAM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_CLAM), 0x04, NULL, HFILL } }, { &hf_004_V1_12_060_STCA, { "STCA", "asterix.004_V1_12_060_STCA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_STCA), 0x02, NULL, HFILL } }, { &hf_004_V1_12_060_APM, { "APM", "asterix.004_V1_12_060_APM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_APM), 0x80, NULL, HFILL } }, { &hf_004_V1_12_060_RIMCA, { "RIMCA", "asterix.004_V1_12_060_RIMCA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_RIMCA), 0x40, NULL, HFILL } }, { &hf_004_V1_12_060_ACASRA, { "ACASRA", "asterix.004_V1_12_060_ACASRA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_ACASRA), 0x20, NULL, HFILL } }, { &hf_004_V1_12_060_NTCA, { "NTCA", "asterix.004_V1_12_060_NTCA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_NTCA), 0x10, NULL, HFILL } }, { &hf_004_V1_12_060_DG, { "DG", "asterix.004_V1_12_060_DG", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_DG), 0x08, NULL, HFILL } }, { &hf_004_V1_12_060_OF, { "OF", "asterix.004_V1_12_060_OF", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_OF), 0x04, NULL, HFILL } }, { &hf_004_V1_12_060_OL, { "OL", "asterix.004_V1_12_060_OL", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_OL), 0x02, NULL, HFILL } }, { &hf_004_V1_12_060_AIW, { "AIW", "asterix.004_V1_12_060_AIW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_AIW), 0x80, NULL, HFILL } }, { &hf_004_V1_12_060_PAIW, { "PAIW", "asterix.004_V1_12_060_PAIW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_PAIW), 0x40, NULL, HFILL } }, { &hf_004_V1_12_060_OCAT, { "OCAT", "asterix.004_V1_12_060_OCAT", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_OCAT), 0x20, NULL, HFILL } }, { &hf_004_V1_12_060_SAM, { "SAM", "asterix.004_V1_12_060_SAM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_SAM), 0x10, NULL, HFILL } }, { &hf_004_V1_12_060_VCD, { "VCD", "asterix.004_V1_12_060_VCD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_VCD), 0x08, NULL, HFILL } }, { &hf_004_V1_12_060_CHAM, { "CHAM", "asterix.004_V1_12_060_CHAM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_CHAM), 0x04, NULL, HFILL } }, { &hf_004_V1_12_060_DSAM, { "DSAM", "asterix.004_V1_12_060_DSAM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_DSAM), 0x02, NULL, HFILL } }, { &hf_004_V1_12_060_DBPSMARR, { "DBPSMARR", "asterix.004_V1_12_060_DBPSMARR", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_DBPSMARR), 0x80, NULL, HFILL } }, { &hf_004_V1_12_060_DBPSMDEP, { "DBPSMDEP", "asterix.004_V1_12_060_DBPSMDEP", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_DBPSMDEP), 0x40, NULL, HFILL } }, { &hf_004_V1_12_060_DBPSMTL, { "DBPSMTL", "asterix.004_V1_12_060_DBPSMTL", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_DBPSMTL), 0x20, NULL, HFILL } }, { &hf_004_V1_12_060_VRAMCRM, { "VRAMCRM", "asterix.004_V1_12_060_VRAMCRM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_VRAMCRM), 0x10, NULL, HFILL } }, { &hf_004_V1_12_060_VRAMVTM, { "VRAMVTM", "asterix.004_V1_12_060_VRAMVTM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_VRAMVTM), 0x08, NULL, HFILL } }, { &hf_004_V1_12_060_VRAMVRM, { "VRAMVRM", "asterix.004_V1_12_060_VRAMVRM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_VRAMVRM), 0x04, NULL, HFILL } }, { &hf_004_V1_12_060_HAMHD, { "HAMHD", "asterix.004_V1_12_060_HAMHD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_HAMHD), 0x02, NULL, HFILL } }, { &hf_004_V1_12_060_HAMRD, { "HAMRD", "asterix.004_V1_12_060_HAMRD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_HAMRD), 0x80, NULL, HFILL } }, { &hf_004_V1_12_060_HAMVD, { "HAMVD", "asterix.004_V1_12_060_HAMVD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_HAMVD), 0x40, NULL, HFILL } }, { &hf_004_V1_12_060_HVI, { "HVI", "asterix.004_V1_12_060_HVI", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_HVI), 0x20, NULL, HFILL } }, { &hf_004_V1_12_060_LTW, { "LTW", "asterix.004_V1_12_060_LTW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_LTW), 0x10, NULL, HFILL } }, { &hf_004_V1_12_060_VPM, { "VPM", "asterix.004_V1_12_060_VPM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_VPM), 0x08, NULL, HFILL } }, { &hf_004_V1_12_060_TTA, { "TTA", "asterix.004_V1_12_060_TTA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_TTA), 0x04, NULL, HFILL } }, { &hf_004_V1_12_060_CRA, { "CRA", "asterix.004_V1_12_060_CRA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_CRA), 0x02, NULL, HFILL } }, { &hf_004_V1_12_060_ASM, { "ASM", "asterix.004_V1_12_060_ASM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_ASM), 0x80, NULL, HFILL } }, { &hf_004_V1_12_060_IAVM, { "IAVM", "asterix.004_V1_12_060_IAVM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_IAVM), 0x40, NULL, HFILL } }, { &hf_004_V1_12_060_FTD, { "FTD", "asterix.004_V1_12_060_FTD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_FTD), 0x20, NULL, HFILL } }, { &hf_004_V1_12_060_ITD, { "ITD", "asterix.004_V1_12_060_ITD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_ITD), 0x10, NULL, HFILL } }, { &hf_004_V1_12_060_IIA, { "IIA", "asterix.004_V1_12_060_IIA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_IIA), 0x08, NULL, HFILL } }, { &hf_004_V1_12_060_SQW, { "SQW", "asterix.004_V1_12_060_SQW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_SQW), 0x04, NULL, HFILL } }, { &hf_004_V1_12_060_CUW, { "CUW", "asterix.004_V1_12_060_CUW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_CUW), 0x02, NULL, HFILL } }, { &hf_004_V1_12_060_CATC, { "CATC", "asterix.004_V1_12_060_CATC", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_CATC), 0x80, NULL, HFILL } }, { &hf_004_V1_12_060_NOCLR, { "NOCLR", "asterix.004_V1_12_060_NOCLR", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_NOCLR), 0x40, NULL, HFILL } }, { &hf_004_V1_12_060_NOMOV, { "NOMOV", "asterix.004_V1_12_060_NOMOV", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_NOMOV), 0x20, NULL, HFILL } }, { &hf_004_V1_12_060_NOH, { "NOH", "asterix.004_V1_12_060_NOH", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_NOH), 0x10, NULL, HFILL } }, { &hf_004_V1_12_060_WRTY, { "WRTY", "asterix.004_V1_12_060_WRTY", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_WRTY), 0x08, NULL, HFILL } }, { &hf_004_V1_12_060_STOCC, { "STOCC", "asterix.004_V1_12_060_STOCC", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_STOCC), 0x04, NULL, HFILL } }, { &hf_004_V1_12_060_ONGOING, { "ONGOING", "asterix.004_V1_12_060_ONGOING", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_060_ONGOING), 0x02, NULL, HFILL } }, { &hf_004_V1_12_070, { "070, Conflict Timing and Separation", "asterix.004_V1_12_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_TC, { "TC, Time to Conflict", "asterix.004_V1_12_070_TC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_TC_VALUE, { "Time to Conflict, [s]", "asterix.004_V1_12_070_TC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_TCA, { "TCA, Time to Closest Approach", "asterix.004_V1_12_070_TCA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_TCA_VALUE, { "Time to Closest Approach, [s]", "asterix.004_V1_12_070_TCA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_CHS, { "CHS, Current Horizontal Separation", "asterix.004_V1_12_070_CHS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_CHS_VALUE, { "Current Horizontal Separation, [m]", "asterix.004_V1_12_070_CHS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_MHS, { "MHS, Estimated Minimum Horizontal Separation", "asterix.004_V1_12_070_MHS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_MHS_VALUE, { "Estimated Minimum Horizontal Separation, [m]", "asterix.004_V1_12_070_MHS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_CVS, { "CVS, Current Vertical Separation", "asterix.004_V1_12_070_CVS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_CVS_VALUE, { "Current Vertical Separation, [ft]", "asterix.004_V1_12_070_CVS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_MVS, { "MVS, Estimated Minimum Vertical Separation", "asterix.004_V1_12_070_MVS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_070_MVS_VALUE, { "Estimated Minimum Vertical Separation, [ft]", "asterix.004_V1_12_070_MVS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_074, { "074, Longitudinal Deviation", "asterix.004_V1_12_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_074_VALUE, { "Longitudinal Deviation, [m]", "asterix.004_V1_12_074_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_075, { "075, Transversal Distance Deviation", "asterix.004_V1_12_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_075_VALUE, { "Transversal Distance Deviation, [m]", "asterix.004_V1_12_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_076, { "076, Vertical Deviation", "asterix.004_V1_12_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_076_VALUE, { "Vertical Deviation, [ft]", "asterix.004_V1_12_076_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100, { "100, Area Definition", "asterix.004_V1_12_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_AN, { "AN, Area Name", "asterix.004_V1_12_100_AN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_AN_VALUE, { "Area Name", "asterix.004_V1_12_100_AN_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_CAN, { "CAN, Crossing Area Name", "asterix.004_V1_12_100_CAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_CAN_VALUE, { "Crossing Area Name", "asterix.004_V1_12_100_CAN_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_RT1, { "RT1, Runway/Taxiway Designator 1", "asterix.004_V1_12_100_RT1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_RT1_VALUE, { "Runway/Taxiway Designator 1", "asterix.004_V1_12_100_RT1_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_RT2, { "RT2, Runway/Taxiway Designator 2", "asterix.004_V1_12_100_RT2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_RT2_VALUE, { "Runway/Taxiway Designator 2", "asterix.004_V1_12_100_RT2_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_SB, { "SB, Stop Bar Designator", "asterix.004_V1_12_100_SB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_SB_VALUE, { "Stop Bar Designator", "asterix.004_V1_12_100_SB_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_G, { "G, Gate Designator", "asterix.004_V1_12_100_G", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_100_G_VALUE, { "Gate Designator", "asterix.004_V1_12_100_G_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_110, { "110, FDPS Sector Control Identification", "asterix.004_V1_12_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_110_CEN, { "CEN", "asterix.004_V1_12_110_CEN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_110_POS, { "POS", "asterix.004_V1_12_110_POS", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_120, { "120, Conflict Characteristics", "asterix.004_V1_12_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_120_CN, { "CN, Conflict Nature", "asterix.004_V1_12_120_CN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_120_CN_MAS, { "MAS, Conflict Location in Military Airspace", "asterix.004_V1_12_120_CN_MAS", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_MAS), 0x80, NULL, HFILL } }, { &hf_004_V1_12_120_CN_CAS, { "CAS, Conflict Location in Civil Airspace", "asterix.004_V1_12_120_CN_CAS", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_CAS), 0x40, NULL, HFILL } }, { &hf_004_V1_12_120_CN_FLD, { "FLD, Fast Lateral Divergence", "asterix.004_V1_12_120_CN_FLD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_FLD), 0x20, NULL, HFILL } }, { &hf_004_V1_12_120_CN_FVD, { "FVD, Fast Vertical Divergence", "asterix.004_V1_12_120_CN_FVD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_FVD), 0x10, NULL, HFILL } }, { &hf_004_V1_12_120_CN_TYPE, { "TYPE, Type of Separation Infringement", "asterix.004_V1_12_120_CN_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_TYPE), 0x08, NULL, HFILL } }, { &hf_004_V1_12_120_CN_CROSS, { "CROSS, Crossing Test", "asterix.004_V1_12_120_CN_CROSS", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_CROSS), 0x04, NULL, HFILL } }, { &hf_004_V1_12_120_CN_DIV, { "DIV, Divergence Test", "asterix.004_V1_12_120_CN_DIV", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_DIV), 0x02, NULL, HFILL } }, { &hf_004_V1_12_120_CN_RRC, { "RRC, Runway/Runway Crossing in RIMCAS", "asterix.004_V1_12_120_CN_RRC", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_RRC), 0x80, NULL, HFILL } }, { &hf_004_V1_12_120_CN_RTC, { "RTC, Runway/Taxiway Crossing in RIMCAS", "asterix.004_V1_12_120_CN_RTC", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_RTC), 0x40, NULL, HFILL } }, { &hf_004_V1_12_120_CN_MRVA, { "MRVA", "asterix.004_V1_12_120_CN_MRVA", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_MRVA), 0x20, NULL, HFILL } }, { &hf_004_V1_12_120_CN_VRAMCRM, { "VRAMCRM", "asterix.004_V1_12_120_CN_VRAMCRM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_VRAMCRM), 0x10, NULL, HFILL } }, { &hf_004_V1_12_120_CN_VRAMVRM, { "VRAMVRM", "asterix.004_V1_12_120_CN_VRAMVRM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_VRAMVRM), 0x08, NULL, HFILL } }, { &hf_004_V1_12_120_CN_VRAMVTM, { "VRAMVTM", "asterix.004_V1_12_120_CN_VRAMVTM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_VRAMVTM), 0x04, NULL, HFILL } }, { &hf_004_V1_12_120_CN_HAMHD, { "HAMHD", "asterix.004_V1_12_120_CN_HAMHD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_HAMHD), 0x02, NULL, HFILL } }, { &hf_004_V1_12_120_CN_HAMRD, { "HAMRD", "asterix.004_V1_12_120_CN_HAMRD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_HAMRD), 0x80, NULL, HFILL } }, { &hf_004_V1_12_120_CN_HAMVD, { "HAMVD", "asterix.004_V1_12_120_CN_HAMVD", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_HAMVD), 0x40, NULL, HFILL } }, { &hf_004_V1_12_120_CN_DBPSMARR, { "DBPSMARR", "asterix.004_V1_12_120_CN_DBPSMARR", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_DBPSMARR), 0x20, NULL, HFILL } }, { &hf_004_V1_12_120_CN_DBPSMDEP, { "DBPSMDEP", "asterix.004_V1_12_120_CN_DBPSMDEP", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_DBPSMDEP), 0x10, NULL, HFILL } }, { &hf_004_V1_12_120_CN_DBPSMTL, { "DBPSMTL", "asterix.004_V1_12_120_CN_DBPSMTL", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_DBPSMTL), 0x08, NULL, HFILL } }, { &hf_004_V1_12_120_CN_AIW, { "AIW", "asterix.004_V1_12_120_CN_AIW", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CN_AIW), 0x04, NULL, HFILL } }, { &hf_004_V1_12_120_CC, { "CC, Conflict Classification", "asterix.004_V1_12_120_CC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_120_CC_TID, { "TID, Identification of Conflict Categories Definition Table", "asterix.004_V1_12_120_CC_TID", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_004_V1_12_120_CC_CPC, { "CPC, Conflict Properties Class", "asterix.004_V1_12_120_CC_CPC", FT_UINT8, BASE_DEC, NULL, 0x0e, NULL, HFILL } }, { &hf_004_V1_12_120_CC_CS, { "CS, Conflict Severity", "asterix.004_V1_12_120_CC_CS", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_120_CC_CS), 0x01, NULL, HFILL } }, { &hf_004_V1_12_120_CP, { "CP, Conflict Probability", "asterix.004_V1_12_120_CP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_120_CP_VALUE, { "Conflict Probability, [%]", "asterix.004_V1_12_120_CP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_120_CD, { "CD, Conflict Duration", "asterix.004_V1_12_120_CD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_120_CD_VALUE, { "Conflict Duration, [s]", "asterix.004_V1_12_120_CD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170, { "170, Aircraft Identification and Characteristics 1", "asterix.004_V1_12_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_AI1, { "AI1, Aircraft Identifier (in 7 Characters) of Aircraft 1 Involved in the Conflict", "asterix.004_V1_12_170_AI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_AI1_VALUE, { "Aircraft Identifier (in 7 Characters) of Aircraft 1 Involved in the Conflict", "asterix.004_V1_12_170_AI1_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_M31, { "M31, Mode 3/A Code Aircraft 1", "asterix.004_V1_12_170_M31", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_M31_MODE3A, { "MODE3A, Mode-3/A Code (Converted Into Octal Representation) of Aircraft 1 Involved in the Conflict", "asterix.004_V1_12_170_M31_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_004_V1_12_170_CPW, { "CPW, Predicted Conflict Position Target 1 in WGS-84 Coordinates", "asterix.004_V1_12_170_CPW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CPW_LAT, { "LAT, In WGS-84 in Two’s Complement, [°]", "asterix.004_V1_12_170_CPW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CPW_LON, { "LON, In WGS-84 in Two’s Complement, [°]", "asterix.004_V1_12_170_CPW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CPW_ALT, { "ALT, Altitude of Predicted Conflict, [ft]", "asterix.004_V1_12_170_CPW_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CPC, { "CPC, Predicted Conflict Position for the Aircraft 1 Involved in the Conflict", "asterix.004_V1_12_170_CPC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CPC_X, { "X, Starting X-position of the Conflict, [m]", "asterix.004_V1_12_170_CPC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CPC_Y, { "Y, Starting Y-position of the Conflict, [m]", "asterix.004_V1_12_170_CPC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CPC_Z, { "Z, Starting Z-position of the Conflict, [ft]", "asterix.004_V1_12_170_CPC_Z", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_TT1, { "TT1, Time to Runway Threshold for First Approaching Aircraft in a RIMCA", "asterix.004_V1_12_170_TT1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_TT1_VALUE, { "Time to Runway Threshold for First Approaching Aircraft in a RIMCA, [s]", "asterix.004_V1_12_170_TT1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_DT1, { "DT1, Distance to Runway Threshold for Aircraft 1 Involved in a RIMCA", "asterix.004_V1_12_170_DT1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_DT1_VALUE, { "Distance to Runway Threshold for Aircraft 1 Involved in a RIMCA, [m]", "asterix.004_V1_12_170_DT1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_AC1, { "AC1, Characteristics of Aircraft 1 Involved in the Conflict", "asterix.004_V1_12_170_AC1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_AC1_GATOAT, { "GATOAT, Identification of Conflict Categories Definition Table", "asterix.004_V1_12_170_AC1_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_170_AC1_GATOAT), 0xc0, NULL, HFILL } }, { &hf_004_V1_12_170_AC1_FR1FR2, { "FR1FR2, Flight Rules", "asterix.004_V1_12_170_AC1_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_170_AC1_FR1FR2), 0x30, NULL, HFILL } }, { &hf_004_V1_12_170_AC1_RVSM, { "RVSM", "asterix.004_V1_12_170_AC1_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_170_AC1_RVSM), 0x0c, NULL, HFILL } }, { &hf_004_V1_12_170_AC1_HPR, { "HPR", "asterix.004_V1_12_170_AC1_HPR", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_170_AC1_HPR), 0x02, NULL, HFILL } }, { &hf_004_V1_12_170_AC1_CDM, { "CDM, Climbing/Descending Mode", "asterix.004_V1_12_170_AC1_CDM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_170_AC1_CDM), 0xc0, NULL, HFILL } }, { &hf_004_V1_12_170_AC1_PRI, { "PRI", "asterix.004_V1_12_170_AC1_PRI", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_170_AC1_PRI), 0x20, NULL, HFILL } }, { &hf_004_V1_12_170_AC1_GV, { "GV", "asterix.004_V1_12_170_AC1_GV", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_170_AC1_GV), 0x10, NULL, HFILL } }, { &hf_004_V1_12_170_MS1, { "MS1, Aircraft Identification Downloaded from Aircraft 1 Involved in the Conflict If Equipped with a Mode-S Transponder", "asterix.004_V1_12_170_MS1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_MS1_VALUE, { "Aircraft Identification Downloaded from Aircraft 1 Involved in the Conflict If Equipped with a Mode-S Transponder", "asterix.004_V1_12_170_MS1_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_FP1, { "FP1, Number of the Flight Plan Correlated to Aircraft 1 Involved in the Conflict", "asterix.004_V1_12_170_FP1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_FP1_NBR, { "NBR", "asterix.004_V1_12_170_FP1_NBR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CF1, { "CF1, Cleared Flight Level for Aircraft 1 Involved in the Conflict", "asterix.004_V1_12_170_CF1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_170_CF1_VALUE, { "Cleared Flight Level for Aircraft 1 Involved in the Conflict, [FL]", "asterix.004_V1_12_170_CF1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171, { "171, Aircraft Identification and Characteristics 2", "asterix.004_V1_12_171", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_AI2, { "AI2, Aircraft Identifier (in 7 Characters) of Aircraft 2 Involved in the Conflict", "asterix.004_V1_12_171_AI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_AI2_VALUE, { "Aircraft Identifier (in 7 Characters) of Aircraft 2 Involved in the Conflict", "asterix.004_V1_12_171_AI2_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_M32, { "M32, Mode 3/A Code Aircraft 2", "asterix.004_V1_12_171_M32", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_M32_MODE3A, { "MODE3A, Mode-3/A Code (Converted Into Octal Representation) of Aircraft 2 Involved in the Conflict", "asterix.004_V1_12_171_M32_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_004_V1_12_171_CPW, { "CPW, Predicted Conflict Position Target 2 in WGS-84 Coordinates", "asterix.004_V1_12_171_CPW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CPW_LAT, { "LAT, In WGS-84 in Two’s Complement, [°]", "asterix.004_V1_12_171_CPW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CPW_LON, { "LON, In WGS-84 in Two’s Complement, [°]", "asterix.004_V1_12_171_CPW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CPW_ALT, { "ALT, Altitude of Predicted Conflict, [ft]", "asterix.004_V1_12_171_CPW_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CPL, { "CPL, Predicted Conflict Position for the Aircraft 2 Involved in the Conflict", "asterix.004_V1_12_171_CPL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CPL_X, { "X, Starting X-position of the Conflict, [m]", "asterix.004_V1_12_171_CPL_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CPL_Y, { "Y, Starting Y-position of the Conflict, [m]", "asterix.004_V1_12_171_CPL_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CPL_Z, { "Z, Starting Z-position of the Conflict, [ft]", "asterix.004_V1_12_171_CPL_Z", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_TT2, { "TT2, Time to Runway Threshold for Second Approaching Aircraft in a RIMCA", "asterix.004_V1_12_171_TT2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_TT2_VALUE, { "Time to Runway Threshold for Second Approaching Aircraft in a RIMCA, [s]", "asterix.004_V1_12_171_TT2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_DT2, { "DT2, Distance to Runway Threshold for Aircraft 2 Involved in a RIMCA", "asterix.004_V1_12_171_DT2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_DT2_VALUE, { "Distance to Runway Threshold for Aircraft 2 Involved in a RIMCA, [m]", "asterix.004_V1_12_171_DT2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_AC2, { "AC2, Characteristics of Aircraft 2 Involved in the Conflict", "asterix.004_V1_12_171_AC2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_AC2_GATOAT, { "GATOAT, Identification of Conflict Categories Definition Table", "asterix.004_V1_12_171_AC2_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_171_AC2_GATOAT), 0xc0, NULL, HFILL } }, { &hf_004_V1_12_171_AC2_FR1FR2, { "FR1FR2, Flight Rules", "asterix.004_V1_12_171_AC2_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_171_AC2_FR1FR2), 0x30, NULL, HFILL } }, { &hf_004_V1_12_171_AC2_RVSM, { "RVSM", "asterix.004_V1_12_171_AC2_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_171_AC2_RVSM), 0x0c, NULL, HFILL } }, { &hf_004_V1_12_171_AC2_HPR, { "HPR", "asterix.004_V1_12_171_AC2_HPR", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_171_AC2_HPR), 0x02, NULL, HFILL } }, { &hf_004_V1_12_171_AC2_CDM, { "CDM, Climbing/Descending Mode", "asterix.004_V1_12_171_AC2_CDM", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_171_AC2_CDM), 0xc0, NULL, HFILL } }, { &hf_004_V1_12_171_AC2_PRI, { "PRI", "asterix.004_V1_12_171_AC2_PRI", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_171_AC2_PRI), 0x20, NULL, HFILL } }, { &hf_004_V1_12_171_AC2_GV, { "GV", "asterix.004_V1_12_171_AC2_GV", FT_UINT8, BASE_DEC, VALS (valstr_004_V1_12_171_AC2_GV), 0x10, NULL, HFILL } }, { &hf_004_V1_12_171_MS2, { "MS2, Aircraft Identification Downloaded From Aircraft 2 Involved in the Conflict If Eequipped With a Mode-S Transponder", "asterix.004_V1_12_171_MS2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_MS2_VALUE, { "Aircraft Identification Downloaded From Aircraft 2 Involved in the Conflict If Eequipped With a Mode-S Transponder", "asterix.004_V1_12_171_MS2_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_FP2, { "FP2, Number of the Flight Plan Correlated to Aircraft 2 Involved in the Conflict", "asterix.004_V1_12_171_FP2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_FP2_NBR, { "NBR", "asterix.004_V1_12_171_FP2_NBR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CF2, { "CF2, Cleared Flight Level for Aircraft 2 Involved in the Conflict", "asterix.004_V1_12_171_CF2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_171_CF2_VALUE, { "Cleared Flight Level for Aircraft 2 Involved in the Conflict, [FL]", "asterix.004_V1_12_171_CF2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_RE, { "RE, Reserved Expansion Field", "asterix.004_V1_12_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_V1_12_SP, { "SP, Special Purpose Field", "asterix.004_V1_12_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_000, { "000, Message Type", "asterix.004_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_000_VALUE, { "Message Type", "asterix.004_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_004_000_VALUE), 0x00, NULL, HFILL } }, { &hf_004_010, { "010, Data Source Identifier", "asterix.004_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_010_SAC, { "SAC, System Area Code", "asterix.004_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_010_SIC, { "SIC, System Identification Code", "asterix.004_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_015, { "015, SDPS Identifier", "asterix.004_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_015_SAC, { "SAC, System Area Code", "asterix.004_015_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_015_SIC, { "SIC, System Identification Code", "asterix.004_015_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_020, { "020, Time of Message", "asterix.004_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_020_VALUE, { "Time of Message, [s]", "asterix.004_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_030, { "030, Track Number 1", "asterix.004_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_030_VALUE, { "Track Number 1", "asterix.004_030_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_035, { "035, Track Number 2", "asterix.004_035", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_035_VALUE, { "Track Number 2", "asterix.004_035_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_040, { "040, Alert Identifier", "asterix.004_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_040_VALUE, { "Alert Identifier", "asterix.004_040_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_045, { "045, Alert Status", "asterix.004_045", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_045_STAT, { "STAT, Status of the Alert", "asterix.004_045_STAT", FT_UINT8, BASE_DEC, NULL, 0x0e, NULL, HFILL } }, { &hf_004_060, { "060, Safety Net Function and System Status", "asterix.004_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_060_MRVA, { "MRVA", "asterix.004_060_MRVA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_MRVA), 0x80, NULL, HFILL } }, { &hf_004_060_RAMLD, { "RAMLD", "asterix.004_060_RAMLD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_RAMLD), 0x40, NULL, HFILL } }, { &hf_004_060_RAMHD, { "RAMHD", "asterix.004_060_RAMHD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_RAMHD), 0x20, NULL, HFILL } }, { &hf_004_060_MSAW, { "MSAW", "asterix.004_060_MSAW", FT_UINT8, BASE_DEC, VALS (valstr_004_060_MSAW), 0x10, NULL, HFILL } }, { &hf_004_060_APW, { "APW", "asterix.004_060_APW", FT_UINT8, BASE_DEC, VALS (valstr_004_060_APW), 0x08, NULL, HFILL } }, { &hf_004_060_CLAM, { "CLAM", "asterix.004_060_CLAM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_CLAM), 0x04, NULL, HFILL } }, { &hf_004_060_STCA, { "STCA", "asterix.004_060_STCA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_STCA), 0x02, NULL, HFILL } }, { &hf_004_060_APM, { "APM", "asterix.004_060_APM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_APM), 0x80, NULL, HFILL } }, { &hf_004_060_RIMCA, { "RIMCA", "asterix.004_060_RIMCA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_RIMCA), 0x40, NULL, HFILL } }, { &hf_004_060_ACASRA, { "ACASRA", "asterix.004_060_ACASRA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_ACASRA), 0x20, NULL, HFILL } }, { &hf_004_060_NTCA, { "NTCA", "asterix.004_060_NTCA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_NTCA), 0x10, NULL, HFILL } }, { &hf_004_060_DG, { "DG", "asterix.004_060_DG", FT_UINT8, BASE_DEC, VALS (valstr_004_060_DG), 0x08, NULL, HFILL } }, { &hf_004_060_OF, { "OF", "asterix.004_060_OF", FT_UINT8, BASE_DEC, VALS (valstr_004_060_OF), 0x04, NULL, HFILL } }, { &hf_004_060_OL, { "OL", "asterix.004_060_OL", FT_UINT8, BASE_DEC, VALS (valstr_004_060_OL), 0x02, NULL, HFILL } }, { &hf_004_060_AIW, { "AIW", "asterix.004_060_AIW", FT_UINT8, BASE_DEC, VALS (valstr_004_060_AIW), 0x80, NULL, HFILL } }, { &hf_004_060_PAIW, { "PAIW", "asterix.004_060_PAIW", FT_UINT8, BASE_DEC, VALS (valstr_004_060_PAIW), 0x40, NULL, HFILL } }, { &hf_004_060_OCAT, { "OCAT", "asterix.004_060_OCAT", FT_UINT8, BASE_DEC, VALS (valstr_004_060_OCAT), 0x20, NULL, HFILL } }, { &hf_004_060_SAM, { "SAM", "asterix.004_060_SAM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_SAM), 0x10, NULL, HFILL } }, { &hf_004_060_VCD, { "VCD", "asterix.004_060_VCD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_VCD), 0x08, NULL, HFILL } }, { &hf_004_060_CHAM, { "CHAM", "asterix.004_060_CHAM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_CHAM), 0x04, NULL, HFILL } }, { &hf_004_060_DSAM, { "DSAM", "asterix.004_060_DSAM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_DSAM), 0x02, NULL, HFILL } }, { &hf_004_060_DBPSMARR, { "DBPSMARR", "asterix.004_060_DBPSMARR", FT_UINT8, BASE_DEC, VALS (valstr_004_060_DBPSMARR), 0x80, NULL, HFILL } }, { &hf_004_060_DBPSMDEP, { "DBPSMDEP", "asterix.004_060_DBPSMDEP", FT_UINT8, BASE_DEC, VALS (valstr_004_060_DBPSMDEP), 0x40, NULL, HFILL } }, { &hf_004_060_DBPSMTL, { "DBPSMTL", "asterix.004_060_DBPSMTL", FT_UINT8, BASE_DEC, VALS (valstr_004_060_DBPSMTL), 0x20, NULL, HFILL } }, { &hf_004_060_VRAMCRM, { "VRAMCRM", "asterix.004_060_VRAMCRM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_VRAMCRM), 0x10, NULL, HFILL } }, { &hf_004_060_VRAMVTM, { "VRAMVTM", "asterix.004_060_VRAMVTM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_VRAMVTM), 0x08, NULL, HFILL } }, { &hf_004_060_VRAMVRM, { "VRAMVRM", "asterix.004_060_VRAMVRM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_VRAMVRM), 0x04, NULL, HFILL } }, { &hf_004_060_HAMHD, { "HAMHD", "asterix.004_060_HAMHD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_HAMHD), 0x02, NULL, HFILL } }, { &hf_004_060_HAMRD, { "HAMRD", "asterix.004_060_HAMRD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_HAMRD), 0x80, NULL, HFILL } }, { &hf_004_060_HAMVD, { "HAMVD", "asterix.004_060_HAMVD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_HAMVD), 0x40, NULL, HFILL } }, { &hf_004_060_HVI, { "HVI", "asterix.004_060_HVI", FT_UINT8, BASE_DEC, VALS (valstr_004_060_HVI), 0x20, NULL, HFILL } }, { &hf_004_060_LTW, { "LTW", "asterix.004_060_LTW", FT_UINT8, BASE_DEC, VALS (valstr_004_060_LTW), 0x10, NULL, HFILL } }, { &hf_004_060_VPM, { "VPM", "asterix.004_060_VPM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_VPM), 0x08, NULL, HFILL } }, { &hf_004_060_TTA, { "TTA", "asterix.004_060_TTA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_TTA), 0x04, NULL, HFILL } }, { &hf_004_060_CRA, { "CRA", "asterix.004_060_CRA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_CRA), 0x02, NULL, HFILL } }, { &hf_004_060_ASM, { "ASM", "asterix.004_060_ASM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_ASM), 0x80, NULL, HFILL } }, { &hf_004_060_IAVM, { "IAVM", "asterix.004_060_IAVM", FT_UINT8, BASE_DEC, VALS (valstr_004_060_IAVM), 0x40, NULL, HFILL } }, { &hf_004_060_FTD, { "FTD", "asterix.004_060_FTD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_FTD), 0x20, NULL, HFILL } }, { &hf_004_060_ITD, { "ITD", "asterix.004_060_ITD", FT_UINT8, BASE_DEC, VALS (valstr_004_060_ITD), 0x10, NULL, HFILL } }, { &hf_004_060_IIA, { "IIA", "asterix.004_060_IIA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_IIA), 0x08, NULL, HFILL } }, { &hf_004_060_SQW, { "SQW", "asterix.004_060_SQW", FT_UINT8, BASE_DEC, VALS (valstr_004_060_SQW), 0x04, NULL, HFILL } }, { &hf_004_060_CUW, { "CUW", "asterix.004_060_CUW", FT_UINT8, BASE_DEC, VALS (valstr_004_060_CUW), 0x02, NULL, HFILL } }, { &hf_004_060_CATC, { "CATC", "asterix.004_060_CATC", FT_UINT8, BASE_DEC, VALS (valstr_004_060_CATC), 0x80, NULL, HFILL } }, { &hf_004_060_NOCLR, { "NOCLR", "asterix.004_060_NOCLR", FT_UINT8, BASE_DEC, VALS (valstr_004_060_NOCLR), 0x40, NULL, HFILL } }, { &hf_004_060_NOMOV, { "NOMOV", "asterix.004_060_NOMOV", FT_UINT8, BASE_DEC, VALS (valstr_004_060_NOMOV), 0x20, NULL, HFILL } }, { &hf_004_060_NOH, { "NOH", "asterix.004_060_NOH", FT_UINT8, BASE_DEC, VALS (valstr_004_060_NOH), 0x10, NULL, HFILL } }, { &hf_004_060_WRTY, { "WRTY", "asterix.004_060_WRTY", FT_UINT8, BASE_DEC, VALS (valstr_004_060_WRTY), 0x08, NULL, HFILL } }, { &hf_004_060_STOCC, { "STOCC", "asterix.004_060_STOCC", FT_UINT8, BASE_DEC, VALS (valstr_004_060_STOCC), 0x04, NULL, HFILL } }, { &hf_004_060_ONGOING, { "ONGOING", "asterix.004_060_ONGOING", FT_UINT8, BASE_DEC, VALS (valstr_004_060_ONGOING), 0x02, NULL, HFILL } }, { &hf_004_070, { "070, Conflict Timing and Separation", "asterix.004_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_TC, { "TC, Time to Conflict", "asterix.004_070_TC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_TC_VALUE, { "Time to Conflict, [s]", "asterix.004_070_TC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_TCA, { "TCA, Time to Closest Approach", "asterix.004_070_TCA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_TCA_VALUE, { "Time to Closest Approach, [s]", "asterix.004_070_TCA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_CHS, { "CHS, Current Horizontal Separation", "asterix.004_070_CHS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_CHS_VALUE, { "Current Horizontal Separation, [m]", "asterix.004_070_CHS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_MHS, { "MHS, Estimated Minimum Horizontal Separation", "asterix.004_070_MHS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_MHS_VALUE, { "Estimated Minimum Horizontal Separation, [m]", "asterix.004_070_MHS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_CVS, { "CVS, Current Vertical Separation", "asterix.004_070_CVS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_CVS_VALUE, { "Current Vertical Separation, [ft]", "asterix.004_070_CVS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_MVS, { "MVS, Estimated Minimum Vertical Separation", "asterix.004_070_MVS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_070_MVS_VALUE, { "Estimated Minimum Vertical Separation, [ft]", "asterix.004_070_MVS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_074, { "074, Longitudinal Deviation", "asterix.004_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_074_VALUE, { "Longitudinal Deviation, [m]", "asterix.004_074_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_075, { "075, Transversal Distance Deviation", "asterix.004_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_075_VALUE, { "Transversal Distance Deviation, [m]", "asterix.004_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_076, { "076, Vertical Deviation", "asterix.004_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_076_VALUE, { "Vertical Deviation, [ft]", "asterix.004_076_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100, { "100, Area Definition", "asterix.004_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_AN, { "AN, Area Name", "asterix.004_100_AN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_AN_VALUE, { "Area Name", "asterix.004_100_AN_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_CAN, { "CAN, Crossing Area Name", "asterix.004_100_CAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_CAN_VALUE, { "Crossing Area Name", "asterix.004_100_CAN_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_RT1, { "RT1, Runway/Taxiway Designator 1", "asterix.004_100_RT1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_RT1_VALUE, { "Runway/Taxiway Designator 1", "asterix.004_100_RT1_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_RT2, { "RT2, Runway/Taxiway Designator 2", "asterix.004_100_RT2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_RT2_VALUE, { "Runway/Taxiway Designator 2", "asterix.004_100_RT2_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_SB, { "SB, Stop Bar Designator", "asterix.004_100_SB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_SB_VALUE, { "Stop Bar Designator", "asterix.004_100_SB_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_G, { "G, Gate Designator", "asterix.004_100_G", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_100_G_VALUE, { "Gate Designator", "asterix.004_100_G_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_110, { "110, FDPS Sector Control Identification", "asterix.004_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_110_CEN, { "CEN", "asterix.004_110_CEN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_110_POS, { "POS", "asterix.004_110_POS", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_004_120, { "120, Conflict Characteristics", "asterix.004_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_120_CN, { "CN, Conflict Nature", "asterix.004_120_CN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_120_CN_MAS, { "MAS, Conflict Location in Military Airspace", "asterix.004_120_CN_MAS", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_MAS), 0x80, NULL, HFILL } }, { &hf_004_120_CN_CAS, { "CAS, Conflict Location in Civil Airspace", "asterix.004_120_CN_CAS", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_CAS), 0x40, NULL, HFILL } }, { &hf_004_120_CN_FLD, { "FLD, Fast Lateral Divergence", "asterix.004_120_CN_FLD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_FLD), 0x20, NULL, HFILL } }, { &hf_004_120_CN_FVD, { "FVD, Fast Vertical Divergence", "asterix.004_120_CN_FVD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_FVD), 0x10, NULL, HFILL } }, { &hf_004_120_CN_TYPE, { "TYPE, Type of Separation Infringement", "asterix.004_120_CN_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_TYPE), 0x08, NULL, HFILL } }, { &hf_004_120_CN_CROSS, { "CROSS, Crossing Test", "asterix.004_120_CN_CROSS", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_CROSS), 0x04, NULL, HFILL } }, { &hf_004_120_CN_DIV, { "DIV, Divergence Test", "asterix.004_120_CN_DIV", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_DIV), 0x02, NULL, HFILL } }, { &hf_004_120_CN_RRC, { "RRC, Runway/Runway Crossing in RIMCAS", "asterix.004_120_CN_RRC", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_RRC), 0x80, NULL, HFILL } }, { &hf_004_120_CN_RTC, { "RTC, Runway/Taxiway Crossing in RIMCAS", "asterix.004_120_CN_RTC", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_RTC), 0x40, NULL, HFILL } }, { &hf_004_120_CN_MRVA, { "MRVA", "asterix.004_120_CN_MRVA", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_MRVA), 0x20, NULL, HFILL } }, { &hf_004_120_CN_VRAMCRM, { "VRAMCRM", "asterix.004_120_CN_VRAMCRM", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_VRAMCRM), 0x10, NULL, HFILL } }, { &hf_004_120_CN_VRAMVRM, { "VRAMVRM", "asterix.004_120_CN_VRAMVRM", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_VRAMVRM), 0x08, NULL, HFILL } }, { &hf_004_120_CN_VRAMVTM, { "VRAMVTM", "asterix.004_120_CN_VRAMVTM", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_VRAMVTM), 0x04, NULL, HFILL } }, { &hf_004_120_CN_HAMHD, { "HAMHD", "asterix.004_120_CN_HAMHD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_HAMHD), 0x02, NULL, HFILL } }, { &hf_004_120_CN_HAMRD, { "HAMRD", "asterix.004_120_CN_HAMRD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_HAMRD), 0x80, NULL, HFILL } }, { &hf_004_120_CN_HAMVD, { "HAMVD", "asterix.004_120_CN_HAMVD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_HAMVD), 0x40, NULL, HFILL } }, { &hf_004_120_CN_DBPSMARR, { "DBPSMARR", "asterix.004_120_CN_DBPSMARR", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_DBPSMARR), 0x20, NULL, HFILL } }, { &hf_004_120_CN_DBPSMDEP, { "DBPSMDEP", "asterix.004_120_CN_DBPSMDEP", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_DBPSMDEP), 0x10, NULL, HFILL } }, { &hf_004_120_CN_DBPSMTL, { "DBPSMTL", "asterix.004_120_CN_DBPSMTL", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_DBPSMTL), 0x08, NULL, HFILL } }, { &hf_004_120_CN_AIW, { "AIW", "asterix.004_120_CN_AIW", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CN_AIW), 0x04, NULL, HFILL } }, { &hf_004_120_CC, { "CC, Conflict Classification", "asterix.004_120_CC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_120_CC_TID, { "TID, Identification of Conflict Categories Definition Table", "asterix.004_120_CC_TID", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_004_120_CC_CPC, { "CPC, Conflict Properties Class", "asterix.004_120_CC_CPC", FT_UINT8, BASE_DEC, NULL, 0x0e, NULL, HFILL } }, { &hf_004_120_CC_CS, { "CS, Conflict Severity", "asterix.004_120_CC_CS", FT_UINT8, BASE_DEC, VALS (valstr_004_120_CC_CS), 0x01, NULL, HFILL } }, { &hf_004_120_CP, { "CP, Conflict Probability", "asterix.004_120_CP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_120_CP_VALUE, { "Conflict Probability, [%]", "asterix.004_120_CP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_120_CD, { "CD, Conflict Duration", "asterix.004_120_CD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_120_CD_VALUE, { "Conflict Duration, [s]", "asterix.004_120_CD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170, { "170, Aircraft Identification and Characteristics 1", "asterix.004_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_AI1, { "AI1, Aircraft Identifier (in 7 Characters) of Aircraft 1 Involved in the Conflict", "asterix.004_170_AI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_AI1_VALUE, { "Aircraft Identifier (in 7 Characters) of Aircraft 1 Involved in the Conflict", "asterix.004_170_AI1_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_M31, { "M31, Mode 3/A Code Aircraft 1", "asterix.004_170_M31", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_M31_MODE3A, { "MODE3A, Mode-3/A Code (Converted Into Octal Representation) of Aircraft 1 Involved in the Conflict", "asterix.004_170_M31_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_004_170_CPW, { "CPW, Predicted Conflict Position Target 1 in WGS-84 Coordinates", "asterix.004_170_CPW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CPW_LAT, { "LAT, In WGS-84 in Two’s Complement, [°]", "asterix.004_170_CPW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CPW_LON, { "LON, In WGS-84 in Two’s Complement, [°]", "asterix.004_170_CPW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CPW_ALT, { "ALT, Altitude of Predicted Conflict, [ft]", "asterix.004_170_CPW_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CPC, { "CPC, Predicted Conflict Position for the Aircraft 1 Involved in the Conflict", "asterix.004_170_CPC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CPC_X, { "X, Starting X-position of the Conflict, [m]", "asterix.004_170_CPC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CPC_Y, { "Y, Starting Y-position of the Conflict, [m]", "asterix.004_170_CPC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CPC_Z, { "Z, Starting Z-position of the Conflict, [ft]", "asterix.004_170_CPC_Z", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_TT1, { "TT1, Time to Runway Threshold for First Approaching Aircraft in a RIMCA", "asterix.004_170_TT1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_TT1_VALUE, { "Time to Runway Threshold for First Approaching Aircraft in a RIMCA, [s]", "asterix.004_170_TT1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_DT1, { "DT1, Distance to Runway Threshold for Aircraft 1 Involved in a RIMCA", "asterix.004_170_DT1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_DT1_VALUE, { "Distance to Runway Threshold for Aircraft 1 Involved in a RIMCA, [m]", "asterix.004_170_DT1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_AC1, { "AC1, Characteristics of Aircraft 1 Involved in the Conflict", "asterix.004_170_AC1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_AC1_GATOAT, { "GATOAT, Identification of Conflict Categories Definition Table", "asterix.004_170_AC1_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_004_170_AC1_GATOAT), 0xc0, NULL, HFILL } }, { &hf_004_170_AC1_FR1FR2, { "FR1FR2, Flight Rules", "asterix.004_170_AC1_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_004_170_AC1_FR1FR2), 0x30, NULL, HFILL } }, { &hf_004_170_AC1_RVSM, { "RVSM", "asterix.004_170_AC1_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_004_170_AC1_RVSM), 0x0c, NULL, HFILL } }, { &hf_004_170_AC1_HPR, { "HPR", "asterix.004_170_AC1_HPR", FT_UINT8, BASE_DEC, VALS (valstr_004_170_AC1_HPR), 0x02, NULL, HFILL } }, { &hf_004_170_AC1_CDM, { "CDM, Climbing/Descending Mode", "asterix.004_170_AC1_CDM", FT_UINT8, BASE_DEC, VALS (valstr_004_170_AC1_CDM), 0xc0, NULL, HFILL } }, { &hf_004_170_AC1_PRI, { "PRI", "asterix.004_170_AC1_PRI", FT_UINT8, BASE_DEC, VALS (valstr_004_170_AC1_PRI), 0x20, NULL, HFILL } }, { &hf_004_170_AC1_GV, { "GV", "asterix.004_170_AC1_GV", FT_UINT8, BASE_DEC, VALS (valstr_004_170_AC1_GV), 0x10, NULL, HFILL } }, { &hf_004_170_MS1, { "MS1, Aircraft Identification Downloaded from Aircraft 1 Involved in the Conflict If Equipped with a Mode-S Transponder", "asterix.004_170_MS1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_MS1_VALUE, { "Aircraft Identification Downloaded from Aircraft 1 Involved in the Conflict If Equipped with a Mode-S Transponder", "asterix.004_170_MS1_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_FP1, { "FP1, Number of the Flight Plan Correlated to Aircraft 1 Involved in the Conflict", "asterix.004_170_FP1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_FP1_NBR, { "NBR", "asterix.004_170_FP1_NBR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CF1, { "CF1, Cleared Flight Level for Aircraft 1 Involved in the Conflict", "asterix.004_170_CF1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_170_CF1_VALUE, { "Cleared Flight Level for Aircraft 1 Involved in the Conflict, [FL]", "asterix.004_170_CF1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171, { "171, Aircraft Identification and Characteristics 2", "asterix.004_171", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_AI2, { "AI2, Aircraft Identifier (in 7 Characters) of Aircraft 2 Involved in the Conflict", "asterix.004_171_AI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_AI2_VALUE, { "Aircraft Identifier (in 7 Characters) of Aircraft 2 Involved in the Conflict", "asterix.004_171_AI2_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_M32, { "M32, Mode 3/A Code Aircraft 2", "asterix.004_171_M32", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_M32_MODE3A, { "MODE3A, Mode-3/A Code (Converted Into Octal Representation) of Aircraft 2 Involved in the Conflict", "asterix.004_171_M32_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_004_171_CPW, { "CPW, Predicted Conflict Position Target 2 in WGS-84 Coordinates", "asterix.004_171_CPW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CPW_LAT, { "LAT, In WGS-84 in Two’s Complement, [°]", "asterix.004_171_CPW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CPW_LON, { "LON, In WGS-84 in Two’s Complement, [°]", "asterix.004_171_CPW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CPW_ALT, { "ALT, Altitude of Predicted Conflict, [ft]", "asterix.004_171_CPW_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CPL, { "CPL, Predicted Conflict Position for the Aircraft 2 Involved in the Conflict", "asterix.004_171_CPL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CPL_X, { "X, Starting X-position of the Conflict, [m]", "asterix.004_171_CPL_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CPL_Y, { "Y, Starting Y-position of the Conflict, [m]", "asterix.004_171_CPL_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CPL_Z, { "Z, Starting Z-position of the Conflict, [ft]", "asterix.004_171_CPL_Z", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_TT2, { "TT2, Time to Runway Threshold for Second Approaching Aircraft in a RIMCA", "asterix.004_171_TT2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_TT2_VALUE, { "Time to Runway Threshold for Second Approaching Aircraft in a RIMCA, [s]", "asterix.004_171_TT2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_DT2, { "DT2, Distance to Runway Threshold for Aircraft 2 Involved in a RIMCA", "asterix.004_171_DT2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_DT2_VALUE, { "Distance to Runway Threshold for Aircraft 2 Involved in a RIMCA, [m]", "asterix.004_171_DT2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_AC2, { "AC2, Characteristics of Aircraft 2 Involved in the Conflict", "asterix.004_171_AC2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_AC2_GATOAT, { "GATOAT, Identification of Conflict Categories Definition Table", "asterix.004_171_AC2_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_004_171_AC2_GATOAT), 0xc0, NULL, HFILL } }, { &hf_004_171_AC2_FR1FR2, { "FR1FR2, Flight Rules", "asterix.004_171_AC2_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_004_171_AC2_FR1FR2), 0x30, NULL, HFILL } }, { &hf_004_171_AC2_RVSM, { "RVSM", "asterix.004_171_AC2_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_004_171_AC2_RVSM), 0x0c, NULL, HFILL } }, { &hf_004_171_AC2_HPR, { "HPR", "asterix.004_171_AC2_HPR", FT_UINT8, BASE_DEC, VALS (valstr_004_171_AC2_HPR), 0x02, NULL, HFILL } }, { &hf_004_171_AC2_CDM, { "CDM, Climbing/Descending Mode", "asterix.004_171_AC2_CDM", FT_UINT8, BASE_DEC, VALS (valstr_004_171_AC2_CDM), 0xc0, NULL, HFILL } }, { &hf_004_171_AC2_PRI, { "PRI", "asterix.004_171_AC2_PRI", FT_UINT8, BASE_DEC, VALS (valstr_004_171_AC2_PRI), 0x20, NULL, HFILL } }, { &hf_004_171_AC2_GV, { "GV", "asterix.004_171_AC2_GV", FT_UINT8, BASE_DEC, VALS (valstr_004_171_AC2_GV), 0x10, NULL, HFILL } }, { &hf_004_171_MS2, { "MS2, Aircraft Identification Downloaded From Aircraft 2 Involved in the Conflict If Eequipped With a Mode-S Transponder", "asterix.004_171_MS2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_MS2_VALUE, { "Aircraft Identification Downloaded From Aircraft 2 Involved in the Conflict If Eequipped With a Mode-S Transponder", "asterix.004_171_MS2_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_FP2, { "FP2, Number of the Flight Plan Correlated to Aircraft 2 Involved in the Conflict", "asterix.004_171_FP2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_FP2_NBR, { "NBR", "asterix.004_171_FP2_NBR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CF2, { "CF2, Cleared Flight Level for Aircraft 2 Involved in the Conflict", "asterix.004_171_CF2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_171_CF2_VALUE, { "Cleared Flight Level for Aircraft 2 Involved in the Conflict, [FL]", "asterix.004_171_CF2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_RE, { "RE, Reserved Expansion Field", "asterix.004_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_004_SP, { "SP, Special Purpose Field", "asterix.004_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_000, { "000, Message Type", "asterix.008_V1_2_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_000_VALUE, { "Message Type", "asterix.008_V1_2_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_2_000_VALUE), 0x00, NULL, HFILL } }, { &hf_008_V1_2_010, { "010, Data Source Identifier", "asterix.008_V1_2_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_010_SAC, { "SAC, System Area Code", "asterix.008_V1_2_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_010_SIC, { "SIC, System Identification Code", "asterix.008_V1_2_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_020, { "020, Vector Qualifier", "asterix.008_V1_2_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_020_ORG, { "ORG", "asterix.008_V1_2_020_ORG", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_2_020_ORG), 0x80, NULL, HFILL } }, { &hf_008_V1_2_020_I, { "I, Intensity Level", "asterix.008_V1_2_020_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_008_V1_2_020_S, { "S, Shading Orientation with Respect to North", "asterix.008_V1_2_020_S", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_2_020_S), 0x0e, NULL, HFILL } }, { &hf_008_V1_2_020_TST, { "TST", "asterix.008_V1_2_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_2_020_TST), 0x04, NULL, HFILL } }, { &hf_008_V1_2_020_ER, { "ER", "asterix.008_V1_2_020_ER", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_2_020_ER), 0x02, NULL, HFILL } }, { &hf_008_V1_2_034, { "034, Sequence of Polar Vectors in SPF Notation", "asterix.008_V1_2_034", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_034_STR, { "STR, Start Range, [(NM)]", "asterix.008_V1_2_034_STR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_034_ENDR, { "ENDR, End Range, [(NM)]", "asterix.008_V1_2_034_ENDR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_034_AZ, { "AZ, Azimuth, [°]", "asterix.008_V1_2_034_AZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_036, { "036, Sequence of Cartesian Vectors in SPF Notation", "asterix.008_V1_2_036", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_036_X, { "X, X-Component, [(NM)]", "asterix.008_V1_2_036_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_036_Y, { "Y, Y-Component, [(NM)]", "asterix.008_V1_2_036_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_036_LENGTH, { "LENGTH, Length, [(NM)]", "asterix.008_V1_2_036_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_038, { "038, Sequence of Weather Vectors in SPF Notation", "asterix.008_V1_2_038", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_038_X1, { "X1, X1-Component, [(NM)]", "asterix.008_V1_2_038_X1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_038_Y1, { "Y1, Y1-Component, [(NM)]", "asterix.008_V1_2_038_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_038_X2, { "X2, X2-Component, [(NM)]", "asterix.008_V1_2_038_X2", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_038_Y2, { "Y2, Y2-Component, [(NM)]", "asterix.008_V1_2_038_Y2", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_040, { "040, Contour Identifier", "asterix.008_V1_2_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_040_ORG, { "ORG", "asterix.008_V1_2_040_ORG", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_2_040_ORG), 0x80, NULL, HFILL } }, { &hf_008_V1_2_040_I, { "I, Intensity Level", "asterix.008_V1_2_040_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_008_V1_2_040_FSTLST, { "FSTLST", "asterix.008_V1_2_040_FSTLST", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_2_040_FSTLST), 0x03, NULL, HFILL } }, { &hf_008_V1_2_040_CSN, { "CSN, Contour Serial Number", "asterix.008_V1_2_040_CSN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_050, { "050, Sequence of Contour Points in SPF Notation", "asterix.008_V1_2_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_050_X1, { "X1, [(NM)]", "asterix.008_V1_2_050_X1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_050_Y1, { "Y1, [(NM)]", "asterix.008_V1_2_050_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_090, { "090, Time of Day", "asterix.008_V1_2_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_090_VALUE, { "Time of Day, [s]", "asterix.008_V1_2_090_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_100, { "100, Processing Status", "asterix.008_V1_2_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_100_F, { "F, Scaling Factor", "asterix.008_V1_2_100_F", FT_INT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_008_V1_2_100_R, { "R, Current Reduction Stage in Use", "asterix.008_V1_2_100_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_008_V1_2_100_Q, { "Q, Processing Parameters", "asterix.008_V1_2_100_Q", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_008_V1_2_110, { "110, Station Configuration Status", "asterix.008_V1_2_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_110_Subitem, { "Subitem, Subitem", "asterix.008_V1_2_110_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_008_V1_2_120, { "120, Total Number of Items Constituting One Weather Picture", "asterix.008_V1_2_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_120_VALUE, { "Total Number of Items Constituting One Weather Picture", "asterix.008_V1_2_120_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_2_SP, { "SP, Special Purpose Field", "asterix.008_V1_2_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_000, { "000, Message Type", "asterix.008_V1_3_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_000_VALUE, { "Message Type", "asterix.008_V1_3_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_3_000_VALUE), 0x00, NULL, HFILL } }, { &hf_008_V1_3_010, { "010, Data Source Identifier", "asterix.008_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_010_SAC, { "SAC, System Area Code", "asterix.008_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.008_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_020, { "020, Vector Qualifier", "asterix.008_V1_3_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_020_ORG, { "ORG", "asterix.008_V1_3_020_ORG", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_3_020_ORG), 0x80, NULL, HFILL } }, { &hf_008_V1_3_020_I, { "I, Intensity Level", "asterix.008_V1_3_020_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_008_V1_3_020_S, { "S, Shading Orientation with Respect to North", "asterix.008_V1_3_020_S", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_3_020_S), 0x0e, NULL, HFILL } }, { &hf_008_V1_3_020_TST, { "TST", "asterix.008_V1_3_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_3_020_TST), 0x04, NULL, HFILL } }, { &hf_008_V1_3_020_ER, { "ER", "asterix.008_V1_3_020_ER", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_3_020_ER), 0x02, NULL, HFILL } }, { &hf_008_V1_3_034, { "034, Sequence of Polar Vectors in SPF Notation", "asterix.008_V1_3_034", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_034_STR, { "STR, Start Range, [(NM)]", "asterix.008_V1_3_034_STR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_034_ENDR, { "ENDR, End Range, [(NM)]", "asterix.008_V1_3_034_ENDR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_034_AZ, { "AZ, Azimuth, [°]", "asterix.008_V1_3_034_AZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_036, { "036, Sequence of Cartesian Vectors in SPF Notation", "asterix.008_V1_3_036", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_036_X, { "X, X-Component, [(NM)]", "asterix.008_V1_3_036_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_036_Y, { "Y, Y-Component, [(NM)]", "asterix.008_V1_3_036_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_036_LENGTH, { "LENGTH, Length, [(NM)]", "asterix.008_V1_3_036_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_038, { "038, Sequence of Weather Vectors in SPF Notation", "asterix.008_V1_3_038", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_038_X1, { "X1, X1-Component, [(NM)]", "asterix.008_V1_3_038_X1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_038_Y1, { "Y1, Y1-Component, [(NM)]", "asterix.008_V1_3_038_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_038_X2, { "X2, X2-Component, [(NM)]", "asterix.008_V1_3_038_X2", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_038_Y2, { "Y2, Y2-Component, [(NM)]", "asterix.008_V1_3_038_Y2", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_040, { "040, Contour Identifier", "asterix.008_V1_3_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_040_ORG, { "ORG", "asterix.008_V1_3_040_ORG", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_3_040_ORG), 0x80, NULL, HFILL } }, { &hf_008_V1_3_040_I, { "I, Intensity Level", "asterix.008_V1_3_040_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_008_V1_3_040_FSTLST, { "FSTLST", "asterix.008_V1_3_040_FSTLST", FT_UINT8, BASE_DEC, VALS (valstr_008_V1_3_040_FSTLST), 0x03, NULL, HFILL } }, { &hf_008_V1_3_040_CSN, { "CSN, Contour Serial Number", "asterix.008_V1_3_040_CSN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_050, { "050, Sequence of Contour Points in SPF Notation", "asterix.008_V1_3_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_050_X1, { "X1, [(NM)]", "asterix.008_V1_3_050_X1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_050_Y1, { "Y1, [(NM)]", "asterix.008_V1_3_050_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_090, { "090, Time of Day", "asterix.008_V1_3_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_090_VALUE, { "Time of Day, [s]", "asterix.008_V1_3_090_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_100, { "100, Processing Status", "asterix.008_V1_3_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_100_F, { "F, Scaling Factor", "asterix.008_V1_3_100_F", FT_INT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_008_V1_3_100_R, { "R, Current Reduction Stage in Use", "asterix.008_V1_3_100_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_008_V1_3_100_Q, { "Q, Processing Parameters", "asterix.008_V1_3_100_Q", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_008_V1_3_110, { "110, Station Configuration Status", "asterix.008_V1_3_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_110_Subitem, { "Subitem, Subitem", "asterix.008_V1_3_110_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_008_V1_3_120, { "120, Total Number of Items Constituting One Weather Picture", "asterix.008_V1_3_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_120_VALUE, { "Total Number of Items Constituting One Weather Picture", "asterix.008_V1_3_120_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_V1_3_SP, { "SP, Special Purpose Field", "asterix.008_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_000, { "000, Message Type", "asterix.008_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_000_VALUE, { "Message Type", "asterix.008_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_008_000_VALUE), 0x00, NULL, HFILL } }, { &hf_008_010, { "010, Data Source Identifier", "asterix.008_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_010_SAC, { "SAC, System Area Code", "asterix.008_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_010_SIC, { "SIC, System Identification Code", "asterix.008_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_020, { "020, Vector Qualifier", "asterix.008_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_020_ORG, { "ORG", "asterix.008_020_ORG", FT_UINT8, BASE_DEC, VALS (valstr_008_020_ORG), 0x80, NULL, HFILL } }, { &hf_008_020_I, { "I, Intensity Level", "asterix.008_020_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_008_020_S, { "S, Shading Orientation with Respect to North", "asterix.008_020_S", FT_UINT8, BASE_DEC, VALS (valstr_008_020_S), 0x0e, NULL, HFILL } }, { &hf_008_020_TST, { "TST", "asterix.008_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_008_020_TST), 0x04, NULL, HFILL } }, { &hf_008_020_ER, { "ER", "asterix.008_020_ER", FT_UINT8, BASE_DEC, VALS (valstr_008_020_ER), 0x02, NULL, HFILL } }, { &hf_008_034, { "034, Sequence of Polar Vectors in SPF Notation", "asterix.008_034", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_034_STR, { "STR, Start Range, [(NM)]", "asterix.008_034_STR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_034_ENDR, { "ENDR, End Range, [(NM)]", "asterix.008_034_ENDR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_034_AZ, { "AZ, Azimuth, [°]", "asterix.008_034_AZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_036, { "036, Sequence of Cartesian Vectors in SPF Notation", "asterix.008_036", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_036_X, { "X, X-Component, [(NM)]", "asterix.008_036_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_036_Y, { "Y, Y-Component, [(NM)]", "asterix.008_036_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_036_LENGTH, { "LENGTH, Length, [(NM)]", "asterix.008_036_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_038, { "038, Sequence of Weather Vectors in SPF Notation", "asterix.008_038", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_038_X1, { "X1, X1-Component, [(NM)]", "asterix.008_038_X1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_038_Y1, { "Y1, Y1-Component, [(NM)]", "asterix.008_038_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_038_X2, { "X2, X2-Component, [(NM)]", "asterix.008_038_X2", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_038_Y2, { "Y2, Y2-Component, [(NM)]", "asterix.008_038_Y2", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_040, { "040, Contour Identifier", "asterix.008_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_040_ORG, { "ORG", "asterix.008_040_ORG", FT_UINT8, BASE_DEC, VALS (valstr_008_040_ORG), 0x80, NULL, HFILL } }, { &hf_008_040_I, { "I, Intensity Level", "asterix.008_040_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_008_040_FSTLST, { "FSTLST", "asterix.008_040_FSTLST", FT_UINT8, BASE_DEC, VALS (valstr_008_040_FSTLST), 0x03, NULL, HFILL } }, { &hf_008_040_CSN, { "CSN, Contour Serial Number", "asterix.008_040_CSN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_050, { "050, Sequence of Contour Points in SPF Notation", "asterix.008_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_050_X1, { "X1, [(NM)]", "asterix.008_050_X1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_050_Y1, { "Y1, [(NM)]", "asterix.008_050_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_090, { "090, Time of Day", "asterix.008_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_090_VALUE, { "Time of Day, [s]", "asterix.008_090_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_100, { "100, Processing Status", "asterix.008_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_100_F, { "F, Scaling Factor", "asterix.008_100_F", FT_INT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_008_100_R, { "R, Current Reduction Stage in Use", "asterix.008_100_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_008_100_Q, { "Q, Processing Parameters", "asterix.008_100_Q", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_008_110, { "110, Station Configuration Status", "asterix.008_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_110_Subitem, { "Subitem, Subitem", "asterix.008_110_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_008_120, { "120, Total Number of Items Constituting One Weather Picture", "asterix.008_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_008_120_VALUE, { "Total Number of Items Constituting One Weather Picture", "asterix.008_120_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_008_SP, { "SP, Special Purpose Field", "asterix.008_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_000, { "000, Message Type", "asterix.009_V2_1_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_000_VALUE, { "Message Type", "asterix.009_V2_1_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_009_V2_1_000_VALUE), 0x00, NULL, HFILL } }, { &hf_009_V2_1_010, { "010, Data Source Identifier", "asterix.009_V2_1_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_010_SAC, { "SAC, System Area Code", "asterix.009_V2_1_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_010_SIC, { "SIC, System Identification Code", "asterix.009_V2_1_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_020, { "020, Vector Qualifier", "asterix.009_V2_1_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_020_ORG, { "ORG", "asterix.009_V2_1_020_ORG", FT_UINT8, BASE_DEC, VALS (valstr_009_V2_1_020_ORG), 0x80, NULL, HFILL } }, { &hf_009_V2_1_020_I, { "I, Intensity Level", "asterix.009_V2_1_020_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_009_V2_1_020_S, { "S, Shading Orientation with Respect to North", "asterix.009_V2_1_020_S", FT_UINT8, BASE_DEC, VALS (valstr_009_V2_1_020_S), 0x0e, NULL, HFILL } }, { &hf_009_V2_1_030, { "030, Sequence of Cartesian Vectors", "asterix.009_V2_1_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_030_X, { "X, X-coordinate, [(NM)]", "asterix.009_V2_1_030_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_030_Y, { "Y, Y-coordinate, [(NM)]", "asterix.009_V2_1_030_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_030_L, { "L, Vector Length, [(NM)]", "asterix.009_V2_1_030_L", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_060, { "060, Synchronisation/Control Signal", "asterix.009_V2_1_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_060_SN, { "SN, Step Number", "asterix.009_V2_1_060_SN", FT_UINT8, BASE_DEC, NULL, 0xfc, NULL, HFILL } }, { &hf_009_V2_1_070, { "070, Time of Day", "asterix.009_V2_1_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_070_VALUE, { "Time of Day, [s]", "asterix.009_V2_1_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_080, { "080, Processing Status", "asterix.009_V2_1_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_080_F, { "F, Scaling Factor", "asterix.009_V2_1_080_F", FT_INT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_009_V2_1_080_R, { "R, Current Reduction Stage in Use", "asterix.009_V2_1_080_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_009_V2_1_080_Q, { "Q, Processing Parameters", "asterix.009_V2_1_080_Q", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_009_V2_1_090, { "090, Radar Configuration and Status", "asterix.009_V2_1_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_090_SAC, { "SAC, SAC of Radar Concerned", "asterix.009_V2_1_090_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_090_SIC, { "SIC, SIC of Radar Concerned", "asterix.009_V2_1_090_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_090_CP, { "CP, Circular Polarisation", "asterix.009_V2_1_090_CP", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_009_V2_1_090_WO, { "WO, Weather Channel Overload", "asterix.009_V2_1_090_WO", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } }, { &hf_009_V2_1_090_R, { "R, Reduction Step in Use By Radar Concerned", "asterix.009_V2_1_090_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_009_V2_1_100, { "100, Vector Count", "asterix.009_V2_1_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_V2_1_100_VALUE, { "Vector Count", "asterix.009_V2_1_100_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_000, { "000, Message Type", "asterix.009_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_000_VALUE, { "Message Type", "asterix.009_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_009_000_VALUE), 0x00, NULL, HFILL } }, { &hf_009_010, { "010, Data Source Identifier", "asterix.009_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_010_SAC, { "SAC, System Area Code", "asterix.009_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_010_SIC, { "SIC, System Identification Code", "asterix.009_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_020, { "020, Vector Qualifier", "asterix.009_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_020_ORG, { "ORG", "asterix.009_020_ORG", FT_UINT8, BASE_DEC, VALS (valstr_009_020_ORG), 0x80, NULL, HFILL } }, { &hf_009_020_I, { "I, Intensity Level", "asterix.009_020_I", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } }, { &hf_009_020_S, { "S, Shading Orientation with Respect to North", "asterix.009_020_S", FT_UINT8, BASE_DEC, VALS (valstr_009_020_S), 0x0e, NULL, HFILL } }, { &hf_009_030, { "030, Sequence of Cartesian Vectors", "asterix.009_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_030_X, { "X, X-coordinate, [(NM)]", "asterix.009_030_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_030_Y, { "Y, Y-coordinate, [(NM)]", "asterix.009_030_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_030_L, { "L, Vector Length, [(NM)]", "asterix.009_030_L", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_060, { "060, Synchronisation/Control Signal", "asterix.009_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_060_SN, { "SN, Step Number", "asterix.009_060_SN", FT_UINT8, BASE_DEC, NULL, 0xfc, NULL, HFILL } }, { &hf_009_070, { "070, Time of Day", "asterix.009_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_070_VALUE, { "Time of Day, [s]", "asterix.009_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_080, { "080, Processing Status", "asterix.009_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_080_F, { "F, Scaling Factor", "asterix.009_080_F", FT_INT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_009_080_R, { "R, Current Reduction Stage in Use", "asterix.009_080_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_009_080_Q, { "Q, Processing Parameters", "asterix.009_080_Q", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_009_090, { "090, Radar Configuration and Status", "asterix.009_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_090_SAC, { "SAC, SAC of Radar Concerned", "asterix.009_090_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_090_SIC, { "SIC, SIC of Radar Concerned", "asterix.009_090_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_009_090_CP, { "CP, Circular Polarisation", "asterix.009_090_CP", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_009_090_WO, { "WO, Weather Channel Overload", "asterix.009_090_WO", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } }, { &hf_009_090_R, { "R, Reduction Step in Use By Radar Concerned", "asterix.009_090_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_009_100, { "100, Vector Count", "asterix.009_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_009_100_VALUE, { "Vector Count", "asterix.009_100_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_000, { "000, Message Type", "asterix.010_V1_1_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_000_VALUE, { "Message Type", "asterix.010_V1_1_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_000_VALUE), 0x00, NULL, HFILL } }, { &hf_010_V1_1_010, { "010, Data Source Identifier", "asterix.010_V1_1_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_010_SAC, { "SAC, System Area Code", "asterix.010_V1_1_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_010_SIC, { "SIC, System Identification Code", "asterix.010_V1_1_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_020, { "020, Target Report Descriptor", "asterix.010_V1_1_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_020_TYP, { "TYP", "asterix.010_V1_1_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_TYP), 0xe0, NULL, HFILL } }, { &hf_010_V1_1_020_DCR, { "DCR", "asterix.010_V1_1_020_DCR", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_DCR), 0x10, NULL, HFILL } }, { &hf_010_V1_1_020_CHN, { "CHN", "asterix.010_V1_1_020_CHN", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_CHN), 0x08, NULL, HFILL } }, { &hf_010_V1_1_020_GBS, { "GBS", "asterix.010_V1_1_020_GBS", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_GBS), 0x04, NULL, HFILL } }, { &hf_010_V1_1_020_CRT, { "CRT", "asterix.010_V1_1_020_CRT", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_CRT), 0x02, NULL, HFILL } }, { &hf_010_V1_1_020_SIM, { "SIM", "asterix.010_V1_1_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_SIM), 0x80, NULL, HFILL } }, { &hf_010_V1_1_020_TST, { "TST", "asterix.010_V1_1_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_TST), 0x40, NULL, HFILL } }, { &hf_010_V1_1_020_RAB, { "RAB", "asterix.010_V1_1_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_RAB), 0x20, NULL, HFILL } }, { &hf_010_V1_1_020_LOP, { "LOP", "asterix.010_V1_1_020_LOP", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_LOP), 0x18, NULL, HFILL } }, { &hf_010_V1_1_020_TOT, { "TOT", "asterix.010_V1_1_020_TOT", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_TOT), 0x06, NULL, HFILL } }, { &hf_010_V1_1_020_SPI, { "SPI", "asterix.010_V1_1_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_020_SPI), 0x80, NULL, HFILL } }, { &hf_010_V1_1_040, { "040, Measured Position in Polar Co-ordinates", "asterix.010_V1_1_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_040_RHO, { "RHO, RHO, [m]", "asterix.010_V1_1_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_040_TH, { "TH, Theta, [°]", "asterix.010_V1_1_040_TH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_041, { "041, Position in WGS-84 Co-ordinates", "asterix.010_V1_1_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_041_LAT, { "LAT, Latitude, [°]", "asterix.010_V1_1_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_041_LON, { "LON, Longitude, [°]", "asterix.010_V1_1_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_042, { "042, Position in Cartesian Co-ordinates", "asterix.010_V1_1_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_042_X, { "X, X Coordinate, [m]", "asterix.010_V1_1_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_042_Y, { "Y, Y Coordinate, [m]", "asterix.010_V1_1_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_060, { "060, Mode-3/A Code in Octal Representation", "asterix.010_V1_1_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_060_V, { "V, Validated", "asterix.010_V1_1_060_V", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_060_V), 0x80, NULL, HFILL } }, { &hf_010_V1_1_060_G, { "G, Garbled", "asterix.010_V1_1_060_G", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_060_G), 0x40, NULL, HFILL } }, { &hf_010_V1_1_060_L, { "L", "asterix.010_V1_1_060_L", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_060_L), 0x20, NULL, HFILL } }, { &hf_010_V1_1_060_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.010_V1_1_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_010_V1_1_090, { "090, Flight Level in Binary Representation", "asterix.010_V1_1_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_090_V, { "V, Validated", "asterix.010_V1_1_090_V", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_090_V), 0x80, NULL, HFILL } }, { &hf_010_V1_1_090_G, { "G, Garbled", "asterix.010_V1_1_090_G", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_090_G), 0x40, NULL, HFILL } }, { &hf_010_V1_1_090_FL, { "FL, Flight Level, [FL]", "asterix.010_V1_1_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_091, { "091, Measured Height", "asterix.010_V1_1_091", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_091_VALUE, { "Measured Height, [ft]", "asterix.010_V1_1_091_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_131, { "131, Amplitude of Primary Plot", "asterix.010_V1_1_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_131_VALUE, { "Amplitude of Primary Plot", "asterix.010_V1_1_131_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_140, { "140, Time of Day", "asterix.010_V1_1_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_140_VALUE, { "Time of Day, [s]", "asterix.010_V1_1_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_161, { "161, Track Number", "asterix.010_V1_1_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_161_TRK, { "TRK, Track Number", "asterix.010_V1_1_161_TRK", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_010_V1_1_170, { "170, Track Status", "asterix.010_V1_1_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_170_CNF, { "CNF", "asterix.010_V1_1_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_CNF), 0x80, NULL, HFILL } }, { &hf_010_V1_1_170_TRE, { "TRE", "asterix.010_V1_1_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_TRE), 0x40, NULL, HFILL } }, { &hf_010_V1_1_170_CST, { "CST", "asterix.010_V1_1_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_CST), 0x30, NULL, HFILL } }, { &hf_010_V1_1_170_MAH, { "MAH", "asterix.010_V1_1_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_MAH), 0x08, NULL, HFILL } }, { &hf_010_V1_1_170_TCC, { "TCC", "asterix.010_V1_1_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_TCC), 0x04, NULL, HFILL } }, { &hf_010_V1_1_170_STH, { "STH", "asterix.010_V1_1_170_STH", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_STH), 0x02, NULL, HFILL } }, { &hf_010_V1_1_170_TOM, { "TOM", "asterix.010_V1_1_170_TOM", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_TOM), 0xc0, NULL, HFILL } }, { &hf_010_V1_1_170_DOU, { "DOU", "asterix.010_V1_1_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_DOU), 0x38, NULL, HFILL } }, { &hf_010_V1_1_170_MRS, { "MRS", "asterix.010_V1_1_170_MRS", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_MRS), 0x06, NULL, HFILL } }, { &hf_010_V1_1_170_GHO, { "GHO", "asterix.010_V1_1_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_170_GHO), 0x80, NULL, HFILL } }, { &hf_010_V1_1_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.010_V1_1_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_200_GSP, { "GSP, Ground Speed, [NM/s]", "asterix.010_V1_1_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_200_TRA, { "TRA, Track Angle, [°]", "asterix.010_V1_1_200_TRA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_202, { "202, Calculated Track Velocity in Cartesian Co-ordinates", "asterix.010_V1_1_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_202_VX, { "VX, X Velocity, [m/s]", "asterix.010_V1_1_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_202_VY, { "VY, Y Velocity, [m/s]", "asterix.010_V1_1_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_210, { "210, Calculated Acceleration", "asterix.010_V1_1_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_210_AX, { "AX, X Acceleration, [m/s²]", "asterix.010_V1_1_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_210_AY, { "AY, Y Acceleration, [m/s²]", "asterix.010_V1_1_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_220, { "220, Target Address", "asterix.010_V1_1_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_220_VALUE, { "Target Address", "asterix.010_V1_1_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_245, { "245, Target Identification", "asterix.010_V1_1_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_245_STI, { "STI", "asterix.010_V1_1_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_245_STI), 0xc0, NULL, HFILL } }, { &hf_010_V1_1_245_CHR, { "CHR, Characters 1-8 (Coded on 6 Bits Each) Defining Target Identification", "asterix.010_V1_1_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_250, { "250, Mode S MB Data", "asterix.010_V1_1_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_250_MBDATA, { "MBDATA", "asterix.010_V1_1_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_250_BDS1, { "BDS1", "asterix.010_V1_1_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_010_V1_1_250_BDS2, { "BDS2", "asterix.010_V1_1_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_010_V1_1_270, { "270, Target Size and Orientation", "asterix.010_V1_1_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_270_LENGTH, { "LENGTH, Length, [m]", "asterix.010_V1_1_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.010_V1_1_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_270_WIDTH, { "WIDTH, Width, [m]", "asterix.010_V1_1_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_280, { "280, Presence", "asterix.010_V1_1_280", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_280_DRHO, { "DRHO, [m]", "asterix.010_V1_1_280_DRHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_280_DTHETA, { "DTHETA, [°]", "asterix.010_V1_1_280_DTHETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_300, { "300, Vehicle Fleet Identification", "asterix.010_V1_1_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_300_VALUE, { "Vehicle Fleet Identification", "asterix.010_V1_1_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_300_VALUE), 0x00, NULL, HFILL } }, { &hf_010_V1_1_310, { "310, Pre-programmed Message", "asterix.010_V1_1_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_310_TRB, { "TRB", "asterix.010_V1_1_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_310_TRB), 0x80, NULL, HFILL } }, { &hf_010_V1_1_310_MSG, { "MSG", "asterix.010_V1_1_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_310_MSG), 0x7f, NULL, HFILL } }, { &hf_010_V1_1_500, { "500, Standard Deviation of Position", "asterix.010_V1_1_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_500_DEVX, { "DEVX, Standard Deviation of X Component, [m]", "asterix.010_V1_1_500_DEVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_500_DEVY, { "DEVY, Standard Deviation of Y Component, [m]", "asterix.010_V1_1_500_DEVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_500_COVXY, { "COVXY, Covariance in Two’s Complement Form, [m]", "asterix.010_V1_1_500_COVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_550, { "550, System Status", "asterix.010_V1_1_550", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_550_NOGO, { "NOGO, Operational Release Status of the System", "asterix.010_V1_1_550_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_550_NOGO), 0xc0, NULL, HFILL } }, { &hf_010_V1_1_550_OVL, { "OVL, Overload Indicator", "asterix.010_V1_1_550_OVL", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_550_OVL), 0x20, NULL, HFILL } }, { &hf_010_V1_1_550_TSV, { "TSV, Time Source Validity", "asterix.010_V1_1_550_TSV", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_550_TSV), 0x10, NULL, HFILL } }, { &hf_010_V1_1_550_DIV, { "DIV", "asterix.010_V1_1_550_DIV", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_550_DIV), 0x08, NULL, HFILL } }, { &hf_010_V1_1_550_TTF, { "TTF", "asterix.010_V1_1_550_TTF", FT_UINT8, BASE_DEC, VALS (valstr_010_V1_1_550_TTF), 0x04, NULL, HFILL } }, { &hf_010_V1_1_RE, { "RE, Reserved Expansion Field", "asterix.010_V1_1_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_V1_1_SP, { "SP, Special Purpose Field", "asterix.010_V1_1_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_000, { "000, Message Type", "asterix.010_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_000_VALUE, { "Message Type", "asterix.010_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_010_000_VALUE), 0x00, NULL, HFILL } }, { &hf_010_010, { "010, Data Source Identifier", "asterix.010_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_010_SAC, { "SAC, System Area Code", "asterix.010_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_010_SIC, { "SIC, System Identification Code", "asterix.010_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_020, { "020, Target Report Descriptor", "asterix.010_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_020_TYP, { "TYP", "asterix.010_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_010_020_TYP), 0xe0, NULL, HFILL } }, { &hf_010_020_DCR, { "DCR", "asterix.010_020_DCR", FT_UINT8, BASE_DEC, VALS (valstr_010_020_DCR), 0x10, NULL, HFILL } }, { &hf_010_020_CHN, { "CHN", "asterix.010_020_CHN", FT_UINT8, BASE_DEC, VALS (valstr_010_020_CHN), 0x08, NULL, HFILL } }, { &hf_010_020_GBS, { "GBS", "asterix.010_020_GBS", FT_UINT8, BASE_DEC, VALS (valstr_010_020_GBS), 0x04, NULL, HFILL } }, { &hf_010_020_CRT, { "CRT", "asterix.010_020_CRT", FT_UINT8, BASE_DEC, VALS (valstr_010_020_CRT), 0x02, NULL, HFILL } }, { &hf_010_020_SIM, { "SIM", "asterix.010_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_010_020_SIM), 0x80, NULL, HFILL } }, { &hf_010_020_TST, { "TST", "asterix.010_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_010_020_TST), 0x40, NULL, HFILL } }, { &hf_010_020_RAB, { "RAB", "asterix.010_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_010_020_RAB), 0x20, NULL, HFILL } }, { &hf_010_020_LOP, { "LOP", "asterix.010_020_LOP", FT_UINT8, BASE_DEC, VALS (valstr_010_020_LOP), 0x18, NULL, HFILL } }, { &hf_010_020_TOT, { "TOT", "asterix.010_020_TOT", FT_UINT8, BASE_DEC, VALS (valstr_010_020_TOT), 0x06, NULL, HFILL } }, { &hf_010_020_SPI, { "SPI", "asterix.010_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_010_020_SPI), 0x80, NULL, HFILL } }, { &hf_010_040, { "040, Measured Position in Polar Co-ordinates", "asterix.010_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_040_RHO, { "RHO, RHO, [m]", "asterix.010_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_040_TH, { "TH, Theta, [°]", "asterix.010_040_TH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_041, { "041, Position in WGS-84 Co-ordinates", "asterix.010_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_041_LAT, { "LAT, Latitude, [°]", "asterix.010_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_041_LON, { "LON, Longitude, [°]", "asterix.010_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_042, { "042, Position in Cartesian Co-ordinates", "asterix.010_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_042_X, { "X, X Coordinate, [m]", "asterix.010_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_042_Y, { "Y, Y Coordinate, [m]", "asterix.010_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_060, { "060, Mode-3/A Code in Octal Representation", "asterix.010_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_060_V, { "V, Validated", "asterix.010_060_V", FT_UINT8, BASE_DEC, VALS (valstr_010_060_V), 0x80, NULL, HFILL } }, { &hf_010_060_G, { "G, Garbled", "asterix.010_060_G", FT_UINT8, BASE_DEC, VALS (valstr_010_060_G), 0x40, NULL, HFILL } }, { &hf_010_060_L, { "L", "asterix.010_060_L", FT_UINT8, BASE_DEC, VALS (valstr_010_060_L), 0x20, NULL, HFILL } }, { &hf_010_060_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.010_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_010_090, { "090, Flight Level in Binary Representation", "asterix.010_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_090_V, { "V, Validated", "asterix.010_090_V", FT_UINT8, BASE_DEC, VALS (valstr_010_090_V), 0x80, NULL, HFILL } }, { &hf_010_090_G, { "G, Garbled", "asterix.010_090_G", FT_UINT8, BASE_DEC, VALS (valstr_010_090_G), 0x40, NULL, HFILL } }, { &hf_010_090_FL, { "FL, Flight Level, [FL]", "asterix.010_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_091, { "091, Measured Height", "asterix.010_091", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_091_VALUE, { "Measured Height, [ft]", "asterix.010_091_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_131, { "131, Amplitude of Primary Plot", "asterix.010_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_131_VALUE, { "Amplitude of Primary Plot", "asterix.010_131_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_140, { "140, Time of Day", "asterix.010_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_140_VALUE, { "Time of Day, [s]", "asterix.010_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_161, { "161, Track Number", "asterix.010_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_161_TRK, { "TRK, Track Number", "asterix.010_161_TRK", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_010_170, { "170, Track Status", "asterix.010_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_170_CNF, { "CNF", "asterix.010_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_010_170_CNF), 0x80, NULL, HFILL } }, { &hf_010_170_TRE, { "TRE", "asterix.010_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_010_170_TRE), 0x40, NULL, HFILL } }, { &hf_010_170_CST, { "CST", "asterix.010_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_010_170_CST), 0x30, NULL, HFILL } }, { &hf_010_170_MAH, { "MAH", "asterix.010_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_010_170_MAH), 0x08, NULL, HFILL } }, { &hf_010_170_TCC, { "TCC", "asterix.010_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_010_170_TCC), 0x04, NULL, HFILL } }, { &hf_010_170_STH, { "STH", "asterix.010_170_STH", FT_UINT8, BASE_DEC, VALS (valstr_010_170_STH), 0x02, NULL, HFILL } }, { &hf_010_170_TOM, { "TOM", "asterix.010_170_TOM", FT_UINT8, BASE_DEC, VALS (valstr_010_170_TOM), 0xc0, NULL, HFILL } }, { &hf_010_170_DOU, { "DOU", "asterix.010_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_010_170_DOU), 0x38, NULL, HFILL } }, { &hf_010_170_MRS, { "MRS", "asterix.010_170_MRS", FT_UINT8, BASE_DEC, VALS (valstr_010_170_MRS), 0x06, NULL, HFILL } }, { &hf_010_170_GHO, { "GHO", "asterix.010_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_010_170_GHO), 0x80, NULL, HFILL } }, { &hf_010_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.010_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_200_GSP, { "GSP, Ground Speed, [NM/s]", "asterix.010_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_200_TRA, { "TRA, Track Angle, [°]", "asterix.010_200_TRA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_202, { "202, Calculated Track Velocity in Cartesian Co-ordinates", "asterix.010_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_202_VX, { "VX, X Velocity, [m/s]", "asterix.010_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_202_VY, { "VY, Y Velocity, [m/s]", "asterix.010_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_210, { "210, Calculated Acceleration", "asterix.010_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_210_AX, { "AX, X Acceleration, [m/s²]", "asterix.010_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_210_AY, { "AY, Y Acceleration, [m/s²]", "asterix.010_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_220, { "220, Target Address", "asterix.010_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_220_VALUE, { "Target Address", "asterix.010_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_010_245, { "245, Target Identification", "asterix.010_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_245_STI, { "STI", "asterix.010_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_010_245_STI), 0xc0, NULL, HFILL } }, { &hf_010_245_CHR, { "CHR, Characters 1-8 (Coded on 6 Bits Each) Defining Target Identification", "asterix.010_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_250, { "250, Mode S MB Data", "asterix.010_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_250_MBDATA, { "MBDATA", "asterix.010_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_010_250_BDS1, { "BDS1", "asterix.010_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_010_250_BDS2, { "BDS2", "asterix.010_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_010_270, { "270, Target Size and Orientation", "asterix.010_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_270_LENGTH, { "LENGTH, Length, [m]", "asterix.010_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.010_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_270_WIDTH, { "WIDTH, Width, [m]", "asterix.010_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_280, { "280, Presence", "asterix.010_280", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_280_DRHO, { "DRHO, [m]", "asterix.010_280_DRHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_280_DTHETA, { "DTHETA, [°]", "asterix.010_280_DTHETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_300, { "300, Vehicle Fleet Identification", "asterix.010_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_300_VALUE, { "Vehicle Fleet Identification", "asterix.010_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_010_300_VALUE), 0x00, NULL, HFILL } }, { &hf_010_310, { "310, Pre-programmed Message", "asterix.010_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_310_TRB, { "TRB", "asterix.010_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_010_310_TRB), 0x80, NULL, HFILL } }, { &hf_010_310_MSG, { "MSG", "asterix.010_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_010_310_MSG), 0x7f, NULL, HFILL } }, { &hf_010_500, { "500, Standard Deviation of Position", "asterix.010_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_500_DEVX, { "DEVX, Standard Deviation of X Component, [m]", "asterix.010_500_DEVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_500_DEVY, { "DEVY, Standard Deviation of Y Component, [m]", "asterix.010_500_DEVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_500_COVXY, { "COVXY, Covariance in Two’s Complement Form, [m]", "asterix.010_500_COVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_550, { "550, System Status", "asterix.010_550", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_550_NOGO, { "NOGO, Operational Release Status of the System", "asterix.010_550_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_010_550_NOGO), 0xc0, NULL, HFILL } }, { &hf_010_550_OVL, { "OVL, Overload Indicator", "asterix.010_550_OVL", FT_UINT8, BASE_DEC, VALS (valstr_010_550_OVL), 0x20, NULL, HFILL } }, { &hf_010_550_TSV, { "TSV, Time Source Validity", "asterix.010_550_TSV", FT_UINT8, BASE_DEC, VALS (valstr_010_550_TSV), 0x10, NULL, HFILL } }, { &hf_010_550_DIV, { "DIV", "asterix.010_550_DIV", FT_UINT8, BASE_DEC, VALS (valstr_010_550_DIV), 0x08, NULL, HFILL } }, { &hf_010_550_TTF, { "TTF", "asterix.010_550_TTF", FT_UINT8, BASE_DEC, VALS (valstr_010_550_TTF), 0x04, NULL, HFILL } }, { &hf_010_RE, { "RE, Reserved Expansion Field", "asterix.010_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_010_SP, { "SP, Special Purpose Field", "asterix.010_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_000, { "000, Message Type", "asterix.011_V1_2_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_000_VALUE, { "Message Type", "asterix.011_V1_2_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_000_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_2_010, { "010, Data Source Identifier", "asterix.011_V1_2_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_010_SAC, { "SAC, System Area Code Fixed to Zero", "asterix.011_V1_2_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_010_SIC, { "SIC, System Identification Code", "asterix.011_V1_2_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_015, { "015, Service Identification", "asterix.011_V1_2_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_015_VALUE, { "Service Identification", "asterix.011_V1_2_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_041, { "041, Position in WGS-84 Coordinates", "asterix.011_V1_2_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_041_LAT, { "LAT, Latitude in WGS-84 in Two's Complement, [°]", "asterix.011_V1_2_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_041_LON, { "LON, Longitude in WGS-84 in Two's Complement, [°]", "asterix.011_V1_2_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.011_V1_2_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_042_X, { "X, X-Component, [m]", "asterix.011_V1_2_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_042_Y, { "Y, Y-Component, [m]", "asterix.011_V1_2_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_060, { "060, Mode-3/A Code in Octal Representation", "asterix.011_V1_2_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_060_MOD3A, { "MOD3A, Mode-3/A Reply in Octal Representation", "asterix.011_V1_2_060_MOD3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_011_V1_2_090, { "090, Measured Flight Level", "asterix.011_V1_2_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_090_VALUE, { "Measured Flight Level, [FL]", "asterix.011_V1_2_090_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_092, { "092, Calculated Track Geometric Altitude", "asterix.011_V1_2_092", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_092_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.011_V1_2_092_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_093, { "093, Calculated Track Barometric Altitude", "asterix.011_V1_2_093", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_093_QNH, { "QNH, QNH Correction Applied", "asterix.011_V1_2_093_QNH", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_093_QNH), 0x80, NULL, HFILL } }, { &hf_011_V1_2_093_CTBA, { "CTBA, Calculated Track Barometric Altitude, [FL]", "asterix.011_V1_2_093_CTBA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_140, { "140, Time of Track Information", "asterix.011_V1_2_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_140_VALUE, { "Time of Track Information, [s]", "asterix.011_V1_2_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_161, { "161, Track Number", "asterix.011_V1_2_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_161_FTN, { "FTN, Fusion Track Number", "asterix.011_V1_2_161_FTN", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_011_V1_2_170, { "170, Track Status", "asterix.011_V1_2_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_170_MON, { "MON", "asterix.011_V1_2_170_MON", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_MON), 0x80, NULL, HFILL } }, { &hf_011_V1_2_170_GBS, { "GBS", "asterix.011_V1_2_170_GBS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_GBS), 0x40, NULL, HFILL } }, { &hf_011_V1_2_170_MRH, { "MRH", "asterix.011_V1_2_170_MRH", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_MRH), 0x20, NULL, HFILL } }, { &hf_011_V1_2_170_SRC, { "SRC", "asterix.011_V1_2_170_SRC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_SRC), 0x1c, NULL, HFILL } }, { &hf_011_V1_2_170_CNF, { "CNF", "asterix.011_V1_2_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_CNF), 0x02, NULL, HFILL } }, { &hf_011_V1_2_170_SIM, { "SIM", "asterix.011_V1_2_170_SIM", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_SIM), 0x80, NULL, HFILL } }, { &hf_011_V1_2_170_TSE, { "TSE", "asterix.011_V1_2_170_TSE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_TSE), 0x40, NULL, HFILL } }, { &hf_011_V1_2_170_TSB, { "TSB", "asterix.011_V1_2_170_TSB", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_TSB), 0x20, NULL, HFILL } }, { &hf_011_V1_2_170_FRIFOE, { "FRIFOE", "asterix.011_V1_2_170_FRIFOE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_FRIFOE), 0x18, NULL, HFILL } }, { &hf_011_V1_2_170_ME, { "ME", "asterix.011_V1_2_170_ME", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_ME), 0x04, NULL, HFILL } }, { &hf_011_V1_2_170_MI, { "MI", "asterix.011_V1_2_170_MI", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_MI), 0x02, NULL, HFILL } }, { &hf_011_V1_2_170_AMA, { "AMA", "asterix.011_V1_2_170_AMA", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_AMA), 0x80, NULL, HFILL } }, { &hf_011_V1_2_170_SPI, { "SPI", "asterix.011_V1_2_170_SPI", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_SPI), 0x40, NULL, HFILL } }, { &hf_011_V1_2_170_CST, { "CST", "asterix.011_V1_2_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_CST), 0x20, NULL, HFILL } }, { &hf_011_V1_2_170_FPC, { "FPC", "asterix.011_V1_2_170_FPC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_FPC), 0x10, NULL, HFILL } }, { &hf_011_V1_2_170_AFF, { "AFF", "asterix.011_V1_2_170_AFF", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_170_AFF), 0x08, NULL, HFILL } }, { &hf_011_V1_2_202, { "202, Calculated Track Velocity in Cartesian Coordinates", "asterix.011_V1_2_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_202_VX, { "VX, Vx, [m/s]", "asterix.011_V1_2_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_202_VY, { "VY, Vy, [m/s]", "asterix.011_V1_2_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_210, { "210, Calculated Acceleration", "asterix.011_V1_2_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_210_AX, { "AX, Ax, [m/s²]", "asterix.011_V1_2_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_210_AY, { "AY, Ay, [m/s²]", "asterix.011_V1_2_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_215, { "215, Calculated Rate Of Climb/Descent", "asterix.011_V1_2_215", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_215_VALUE, { "Calculated Rate Of Climb/Descent, [ft/min]", "asterix.011_V1_2_215_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_245, { "245, Target Identification", "asterix.011_V1_2_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_245_STI, { "STI", "asterix.011_V1_2_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_245_STI), 0xc0, NULL, HFILL } }, { &hf_011_V1_2_245_TID, { "TID, Target Identification", "asterix.011_V1_2_245_TID", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_270, { "270, Target Size and Orientation", "asterix.011_V1_2_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_270_LENGTH, { "LENGTH, Length, [m]", "asterix.011_V1_2_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.011_V1_2_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_270_WIDTH, { "WIDTH, Width, [m]", "asterix.011_V1_2_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290, { "290, System Track Update Ages", "asterix.011_V1_2_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_PSR, { "PSR, Age of The Last Primary Detection Used to Update the Track", "asterix.011_V1_2_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_PSR_VALUE, { "Age of The Last Primary Detection Used to Update the Track, [s]", "asterix.011_V1_2_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_SSR, { "SSR, Age of the Last Secondary Detection Used to Update the Track", "asterix.011_V1_2_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_SSR_VALUE, { "Age of the Last Secondary Detection Used to Update the Track, [s]", "asterix.011_V1_2_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MDA, { "MDA, Age of the Last Mode A Detection Used to Update the Track", "asterix.011_V1_2_290_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MDA_VALUE, { "Age of the Last Mode A Detection Used to Update the Track, [s]", "asterix.011_V1_2_290_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MFL, { "MFL, Age of the Last Mode C Detection Used to Update the Track", "asterix.011_V1_2_290_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MFL_VALUE, { "Age of the Last Mode C Detection Used to Update the Track, [s]", "asterix.011_V1_2_290_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MDS, { "MDS, Age of the Last Mode S Detection Used to Update the Track", "asterix.011_V1_2_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MDS_VALUE, { "Age of the Last Mode S Detection Used to Update the Track, [s]", "asterix.011_V1_2_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_ADS, { "ADS, Age of the Last ADS Report Used to Update the Track", "asterix.011_V1_2_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_ADS_VALUE, { "Age of the Last ADS Report Used to Update the Track, [s]", "asterix.011_V1_2_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_ADB, { "ADB, Age of the Last ADS-B Report Used to Update the Track", "asterix.011_V1_2_290_ADB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_ADB_VALUE, { "Age of the Last ADS-B Report Used to Update the Track, [s]", "asterix.011_V1_2_290_ADB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MD1, { "MD1, Age of the Last Valid Mode 1 Used to Update the Track", "asterix.011_V1_2_290_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MD1_VALUE, { "Age of the Last Valid Mode 1 Used to Update the Track, [s]", "asterix.011_V1_2_290_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MD2, { "MD2, Age of the Last Mode 2 Used to Update the Track", "asterix.011_V1_2_290_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MD2_VALUE, { "Age of the Last Mode 2 Used to Update the Track, [s]", "asterix.011_V1_2_290_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_LOP, { "LOP, Age of the Last Magentic Loop Detection", "asterix.011_V1_2_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_LOP_VALUE, { "Age of the Last Magentic Loop Detection, [s]", "asterix.011_V1_2_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_TRK, { "TRK, Actual Track Age Since First Occurrence", "asterix.011_V1_2_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_TRK_VALUE, { "Actual Track Age Since First Occurrence, [s]", "asterix.011_V1_2_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MUL, { "MUL, Age of the Last Multilateration Detection", "asterix.011_V1_2_290_MUL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_290_MUL_VALUE, { "Age of the Last Multilateration Detection, [s]", "asterix.011_V1_2_290_MUL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_300, { "300, Vehicle Fleet Identification", "asterix.011_V1_2_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_300_VALUE, { "Vehicle Fleet Identification", "asterix.011_V1_2_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_300_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_2_310, { "310, Pre-programmed Message", "asterix.011_V1_2_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_310_TRB, { "TRB, In Trouble", "asterix.011_V1_2_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_310_TRB), 0x80, NULL, HFILL } }, { &hf_011_V1_2_310_MSG, { "MSG, Message", "asterix.011_V1_2_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_310_MSG), 0x7f, NULL, HFILL } }, { &hf_011_V1_2_380, { "380, Mode-S / ADS-B Related Data", "asterix.011_V1_2_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_MB, { "MB, BDS", "asterix.011_V1_2_380_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_MB_VALUE, { "BDS", "asterix.011_V1_2_380_MB_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_ADR, { "ADR, 24 Bits Aircraft Address", "asterix.011_V1_2_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_ADR_VALUE, { "24 Bits Aircraft Address", "asterix.011_V1_2_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS, { "COMACAS, Communications/ACAS Capability and Flight Status", "asterix.011_V1_2_380_COMACAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_COM, { "COM, Communications Capability of the Transponder", "asterix.011_V1_2_380_COMACAS_COM", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_COM), 0xe0, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_STAT, { "STAT, Flight Status", "asterix.011_V1_2_380_COMACAS_STAT", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_STAT), 0x1e, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_SSC, { "SSC, Specific Service Capability", "asterix.011_V1_2_380_COMACAS_SSC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_SSC), 0x80, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_ARC, { "ARC, Altitude Reporting Capability", "asterix.011_V1_2_380_COMACAS_ARC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_ARC), 0x40, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_AIC, { "AIC, Aircraft Identification Capability", "asterix.011_V1_2_380_COMACAS_AIC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_AIC), 0x20, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.011_V1_2_380_COMACAS_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_B1B, { "B1B, BDS 1,0 Bit 37/40", "asterix.011_V1_2_380_COMACAS_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_AC, { "AC, ACAS Operational", "asterix.011_V1_2_380_COMACAS_AC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_AC), 0x80, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_MN, { "MN, Multiple Navigational Aids Operating", "asterix.011_V1_2_380_COMACAS_MN", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_MN), 0x40, NULL, HFILL } }, { &hf_011_V1_2_380_COMACAS_DC, { "DC, Differential Correction", "asterix.011_V1_2_380_COMACAS_DC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_COMACAS_DC), 0x20, NULL, HFILL } }, { &hf_011_V1_2_380_ACT, { "ACT, Aircraft Derived Aircraft Type", "asterix.011_V1_2_380_ACT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_ACT_VALUE, { "Aircraft Derived Aircraft Type", "asterix.011_V1_2_380_ACT_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_ECAT, { "ECAT, Emitter Category", "asterix.011_V1_2_380_ECAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_ECAT_VALUE, { "Emitter Category", "asterix.011_V1_2_380_ECAT_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_ECAT_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_AVTECH, { "AVTECH, Available Technologies", "asterix.011_V1_2_380_AVTECH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_380_AVTECH_VDL, { "VDL, VDL Mode 4", "asterix.011_V1_2_380_AVTECH_VDL", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_AVTECH_VDL), 0x80, NULL, HFILL } }, { &hf_011_V1_2_380_AVTECH_MDS, { "MDS, Mode S", "asterix.011_V1_2_380_AVTECH_MDS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_AVTECH_MDS), 0x40, NULL, HFILL } }, { &hf_011_V1_2_380_AVTECH_UAT, { "UAT, UAT", "asterix.011_V1_2_380_AVTECH_UAT", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_380_AVTECH_UAT), 0x20, NULL, HFILL } }, { &hf_011_V1_2_390, { "390, Flight Plan Related Data", "asterix.011_V1_2_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_FPPSID, { "FPPSID, FPPS Identification Tag", "asterix.011_V1_2_390_FPPSID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_FPPSID_SAC, { "SAC, System Area Code", "asterix.011_V1_2_390_FPPSID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_FPPSID_SIC, { "SIC, System Identity Code", "asterix.011_V1_2_390_FPPSID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_CSN, { "CSN, Callsign", "asterix.011_V1_2_390_CSN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_CSN_VALUE, { "Callsign", "asterix.011_V1_2_390_CSN_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_IFPSFLIGHTID, { "IFPSFLIGHTID, IFPS_FLIGHT_ID", "asterix.011_V1_2_390_IFPSFLIGHTID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_IFPSFLIGHTID_TYP, { "TYP, IFPS Flight ID Type", "asterix.011_V1_2_390_IFPSFLIGHTID_TYP", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_IFPSFLIGHTID_TYP), 0xc0, NULL, HFILL } }, { &hf_011_V1_2_390_IFPSFLIGHTID_NBR, { "NBR, IFPS Flight ID Number", "asterix.011_V1_2_390_IFPSFLIGHTID_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_011_V1_2_390_FLIGHTCAT, { "FLIGHTCAT, Flight Category", "asterix.011_V1_2_390_FLIGHTCAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_FLIGHTCAT_GATOAT, { "GATOAT, Flight Type", "asterix.011_V1_2_390_FLIGHTCAT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_FLIGHTCAT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_011_V1_2_390_FLIGHTCAT_FR1FR2, { "FR1FR2, Flight Rules", "asterix.011_V1_2_390_FLIGHTCAT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_FLIGHTCAT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_011_V1_2_390_FLIGHTCAT_RVSM, { "RVSM, RVSM", "asterix.011_V1_2_390_FLIGHTCAT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_FLIGHTCAT_RVSM), 0x0c, NULL, HFILL } }, { &hf_011_V1_2_390_FLIGHTCAT_HPR, { "HPR, Flight Priority", "asterix.011_V1_2_390_FLIGHTCAT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_FLIGHTCAT_HPR), 0x02, NULL, HFILL } }, { &hf_011_V1_2_390_TOA, { "TOA, Type of Aircraft", "asterix.011_V1_2_390_TOA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_TOA_VALUE, { "Type of Aircraft", "asterix.011_V1_2_390_TOA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_WTC, { "WTC, Wake Turbulence Category", "asterix.011_V1_2_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.011_V1_2_390_WTC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_WTC_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_ADEP, { "ADEP, Departure Airport", "asterix.011_V1_2_390_ADEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_ADEP_VALUE, { "Departure Airport", "asterix.011_V1_2_390_ADEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_ADES, { "ADES, Destination Airport", "asterix.011_V1_2_390_ADES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_ADES_VALUE, { "Destination Airport", "asterix.011_V1_2_390_ADES_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_RWY, { "RWY, Runway Designation", "asterix.011_V1_2_390_RWY", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_RWY_VALUE, { "Runway Designation", "asterix.011_V1_2_390_RWY_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.011_V1_2_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.011_V1_2_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_CCP, { "CCP, Current Control Position", "asterix.011_V1_2_390_CCP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_CCP_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.011_V1_2_390_CCP_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_CCP_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.011_V1_2_390_CCP_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_TOD, { "TOD, Time of Departure", "asterix.011_V1_2_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_TOD_TYP, { "TYP, Time Type", "asterix.011_V1_2_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_011_V1_2_390_TOD_DAY, { "DAY, Day", "asterix.011_V1_2_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_011_V1_2_390_TOD_HOR, { "HOR, Hours, from 0 to 23", "asterix.011_V1_2_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_011_V1_2_390_TOD_MIN, { "MIN, Minutes, from 0 to 59", "asterix.011_V1_2_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_011_V1_2_390_TOD_AVS, { "AVS, Seconds Available", "asterix.011_V1_2_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_011_V1_2_390_TOD_SEC, { "SEC, Seconds, from 0 to 59", "asterix.011_V1_2_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_011_V1_2_390_AST, { "AST, Aircraft Stand", "asterix.011_V1_2_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_AST_VALUE, { "Aircraft Stand", "asterix.011_V1_2_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_STS, { "STS, Stand Status", "asterix.011_V1_2_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_390_STS_EMP, { "EMP, Stand Empty", "asterix.011_V1_2_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_011_V1_2_390_STS_AVL, { "AVL, Stand Available", "asterix.011_V1_2_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_011_V1_2_430, { "430, Phase of Flight", "asterix.011_V1_2_430", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_430_VALUE, { "Phase of Flight", "asterix.011_V1_2_430_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_430_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_2_500, { "500, Estimated Accuracies", "asterix.011_V1_2_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.011_V1_2_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_APC_X, { "X, Estimated Accuracy of the Calculated Position of X Component, [m]", "asterix.011_V1_2_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_APC_Y, { "Y, Estimated Accuracy of the Calculated Position of Y Component, [m]", "asterix.011_V1_2_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS84)", "asterix.011_V1_2_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_APW_LAT, { "LAT, APW Latitude Component Accuracy, [°]", "asterix.011_V1_2_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_APW_LON, { "LON, APW Longitude Component Accuracy, [°]", "asterix.011_V1_2_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_ATH, { "ATH, Estimated Accuracy Of Track Height", "asterix.011_V1_2_500_ATH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_ATH_VALUE, { "Estimated Accuracy Of Track Height, [m]", "asterix.011_V1_2_500_ATH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_AVC, { "AVC, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.011_V1_2_500_AVC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_AVC_X, { "X, Estimated Accuracy of the Calculated Velocity of X Component, [m/s]", "asterix.011_V1_2_500_AVC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_AVC_Y, { "Y, Estimated Accuracy of the Calculated Velocity of Y Component, [m/s]", "asterix.011_V1_2_500_AVC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb / Descent", "asterix.011_V1_2_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb / Descent, [m/s]", "asterix.011_V1_2_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_AAC, { "AAC, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.011_V1_2_500_AAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_AAC_X, { "X, Estimated Accuracy Of Acceleration of X Component, [m/s²]", "asterix.011_V1_2_500_AAC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_500_AAC_Y, { "Y, Estimated Accuracy Of Acceleration of Y Component, [m/s²]", "asterix.011_V1_2_500_AAC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_600, { "600, Alert Messages", "asterix.011_V1_2_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_600_ACK, { "ACK, Alert Acknowleged", "asterix.011_V1_2_600_ACK", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_600_ACK), 0x80, NULL, HFILL } }, { &hf_011_V1_2_600_SVR, { "SVR, Alert Severity", "asterix.011_V1_2_600_SVR", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_600_SVR), 0x60, NULL, HFILL } }, { &hf_011_V1_2_600_AT, { "AT, Alert Type", "asterix.011_V1_2_600_AT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_600_AN, { "AN, Alert Number", "asterix.011_V1_2_600_AN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_605, { "605, Tracks in Alert", "asterix.011_V1_2_605", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_605_FTN, { "FTN, Fusion Track Number", "asterix.011_V1_2_605_FTN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_011_V1_2_610, { "610, Holdbar Status", "asterix.011_V1_2_610", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_610_BKN, { "BKN, Bank Number", "asterix.011_V1_2_610_BKN", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_011_V1_2_610_I1, { "I1, Indicator 1", "asterix.011_V1_2_610_I1", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I1), 0x08, NULL, HFILL } }, { &hf_011_V1_2_610_I2, { "I2, Indicator 2", "asterix.011_V1_2_610_I2", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I2), 0x04, NULL, HFILL } }, { &hf_011_V1_2_610_I3, { "I3, Indicator 3", "asterix.011_V1_2_610_I3", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I3), 0x02, NULL, HFILL } }, { &hf_011_V1_2_610_I4, { "I4, Indicator 4", "asterix.011_V1_2_610_I4", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I4), 0x01, NULL, HFILL } }, { &hf_011_V1_2_610_I5, { "I5, Indicator 5", "asterix.011_V1_2_610_I5", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I5), 0x80, NULL, HFILL } }, { &hf_011_V1_2_610_I6, { "I6, Indicator 6", "asterix.011_V1_2_610_I6", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I6), 0x40, NULL, HFILL } }, { &hf_011_V1_2_610_I7, { "I7, Indicator 7", "asterix.011_V1_2_610_I7", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I7), 0x20, NULL, HFILL } }, { &hf_011_V1_2_610_I8, { "I8, Indicator 8", "asterix.011_V1_2_610_I8", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I8), 0x10, NULL, HFILL } }, { &hf_011_V1_2_610_I9, { "I9, Indicator 9", "asterix.011_V1_2_610_I9", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I9), 0x08, NULL, HFILL } }, { &hf_011_V1_2_610_I10, { "I10, Indicator 10", "asterix.011_V1_2_610_I10", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I10), 0x04, NULL, HFILL } }, { &hf_011_V1_2_610_I11, { "I11, Indicator 11", "asterix.011_V1_2_610_I11", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I11), 0x02, NULL, HFILL } }, { &hf_011_V1_2_610_I12, { "I12, Indicator 12", "asterix.011_V1_2_610_I12", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_2_610_I12), 0x01, NULL, HFILL } }, { &hf_011_V1_2_SP, { "SP, Special Purpose Field", "asterix.011_V1_2_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_2_RE, { "RE, Reserved Expansion Field", "asterix.011_V1_2_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_000, { "000, Message Type", "asterix.011_V1_3_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_000_VALUE, { "Message Type", "asterix.011_V1_3_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_000_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_3_010, { "010, Data Source Identifier", "asterix.011_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_010_SAC, { "SAC, System Area Code Fixed to Zero", "asterix.011_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.011_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_015, { "015, Service Identification", "asterix.011_V1_3_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_015_VALUE, { "Service Identification", "asterix.011_V1_3_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_041, { "041, Position in WGS-84 Coordinates", "asterix.011_V1_3_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_041_LAT, { "LAT, Latitude in WGS-84 in Two's Complement, [°]", "asterix.011_V1_3_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_041_LON, { "LON, Longitude in WGS-84 in Two's Complement, [°]", "asterix.011_V1_3_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.011_V1_3_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_042_X, { "X, X-Component, [m]", "asterix.011_V1_3_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_042_Y, { "Y, Y-Component, [m]", "asterix.011_V1_3_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_060, { "060, Mode-3/A Code in Octal Representation", "asterix.011_V1_3_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_060_MOD3A, { "MOD3A, Mode-3/A Reply in Octal Representation", "asterix.011_V1_3_060_MOD3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_011_V1_3_090, { "090, Measured Flight Level", "asterix.011_V1_3_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_090_VALUE, { "Measured Flight Level, [FL]", "asterix.011_V1_3_090_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_092, { "092, Calculated Track Geometric Altitude", "asterix.011_V1_3_092", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_092_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.011_V1_3_092_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_093, { "093, Calculated Track Barometric Altitude", "asterix.011_V1_3_093", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_093_QNH, { "QNH, QNH Correction Applied", "asterix.011_V1_3_093_QNH", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_093_QNH), 0x80, NULL, HFILL } }, { &hf_011_V1_3_093_CTBA, { "CTBA, Calculated Track Barometric Altitude, [FL]", "asterix.011_V1_3_093_CTBA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_140, { "140, Time of Track Information", "asterix.011_V1_3_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_140_VALUE, { "Time of Track Information, [s]", "asterix.011_V1_3_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_161, { "161, Track Number", "asterix.011_V1_3_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_161_FTN, { "FTN, Fusion Track Number", "asterix.011_V1_3_161_FTN", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_011_V1_3_170, { "170, Track Status", "asterix.011_V1_3_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_170_MON, { "MON", "asterix.011_V1_3_170_MON", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_MON), 0x80, NULL, HFILL } }, { &hf_011_V1_3_170_GBS, { "GBS", "asterix.011_V1_3_170_GBS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_GBS), 0x40, NULL, HFILL } }, { &hf_011_V1_3_170_MRH, { "MRH", "asterix.011_V1_3_170_MRH", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_MRH), 0x20, NULL, HFILL } }, { &hf_011_V1_3_170_SRC, { "SRC", "asterix.011_V1_3_170_SRC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_SRC), 0x1c, NULL, HFILL } }, { &hf_011_V1_3_170_CNF, { "CNF", "asterix.011_V1_3_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_CNF), 0x02, NULL, HFILL } }, { &hf_011_V1_3_170_SIM, { "SIM", "asterix.011_V1_3_170_SIM", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_SIM), 0x80, NULL, HFILL } }, { &hf_011_V1_3_170_TSE, { "TSE", "asterix.011_V1_3_170_TSE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_TSE), 0x40, NULL, HFILL } }, { &hf_011_V1_3_170_TSB, { "TSB", "asterix.011_V1_3_170_TSB", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_TSB), 0x20, NULL, HFILL } }, { &hf_011_V1_3_170_FRIFOE, { "FRIFOE", "asterix.011_V1_3_170_FRIFOE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_FRIFOE), 0x18, NULL, HFILL } }, { &hf_011_V1_3_170_ME, { "ME", "asterix.011_V1_3_170_ME", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_ME), 0x04, NULL, HFILL } }, { &hf_011_V1_3_170_MI, { "MI", "asterix.011_V1_3_170_MI", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_MI), 0x02, NULL, HFILL } }, { &hf_011_V1_3_170_AMA, { "AMA", "asterix.011_V1_3_170_AMA", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_AMA), 0x80, NULL, HFILL } }, { &hf_011_V1_3_170_SPI, { "SPI", "asterix.011_V1_3_170_SPI", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_SPI), 0x40, NULL, HFILL } }, { &hf_011_V1_3_170_CST, { "CST", "asterix.011_V1_3_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_CST), 0x20, NULL, HFILL } }, { &hf_011_V1_3_170_FPC, { "FPC", "asterix.011_V1_3_170_FPC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_FPC), 0x10, NULL, HFILL } }, { &hf_011_V1_3_170_AFF, { "AFF", "asterix.011_V1_3_170_AFF", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_AFF), 0x08, NULL, HFILL } }, { &hf_011_V1_3_170_PSR, { "PSR", "asterix.011_V1_3_170_PSR", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_PSR), 0x40, NULL, HFILL } }, { &hf_011_V1_3_170_SSR, { "SSR", "asterix.011_V1_3_170_SSR", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_SSR), 0x20, NULL, HFILL } }, { &hf_011_V1_3_170_MDS, { "MDS", "asterix.011_V1_3_170_MDS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_MDS), 0x10, NULL, HFILL } }, { &hf_011_V1_3_170_ADS, { "ADS", "asterix.011_V1_3_170_ADS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_ADS), 0x08, NULL, HFILL } }, { &hf_011_V1_3_170_SUC, { "SUC", "asterix.011_V1_3_170_SUC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_SUC), 0x04, NULL, HFILL } }, { &hf_011_V1_3_170_AAC, { "AAC", "asterix.011_V1_3_170_AAC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_170_AAC), 0x02, NULL, HFILL } }, { &hf_011_V1_3_202, { "202, Calculated Track Velocity in Cartesian Coordinates", "asterix.011_V1_3_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_202_VX, { "VX, Vx, [m/s]", "asterix.011_V1_3_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_202_VY, { "VY, Vy, [m/s]", "asterix.011_V1_3_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_210, { "210, Calculated Acceleration", "asterix.011_V1_3_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_210_AX, { "AX, Ax, [m/s²]", "asterix.011_V1_3_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_210_AY, { "AY, Ay, [m/s²]", "asterix.011_V1_3_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_215, { "215, Calculated Rate Of Climb/Descent", "asterix.011_V1_3_215", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_215_VALUE, { "Calculated Rate Of Climb/Descent, [ft/min]", "asterix.011_V1_3_215_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_245, { "245, Target Identification", "asterix.011_V1_3_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_245_STI, { "STI", "asterix.011_V1_3_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_245_STI), 0xc0, NULL, HFILL } }, { &hf_011_V1_3_245_TID, { "TID, Target Identification", "asterix.011_V1_3_245_TID", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_270, { "270, Target Size and Orientation", "asterix.011_V1_3_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_270_LENGTH, { "LENGTH, Length, [m]", "asterix.011_V1_3_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.011_V1_3_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_270_WIDTH, { "WIDTH, Width, [m]", "asterix.011_V1_3_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290, { "290, System Track Update Ages", "asterix.011_V1_3_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_PSR, { "PSR, Age of the Last Primary Report Used to Update the Track", "asterix.011_V1_3_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_PSR_VALUE, { "Age of the Last Primary Report Used to Update the Track, [s]", "asterix.011_V1_3_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_SSR, { "SSR, Age of the Last Secondary Report Used to Update the Track", "asterix.011_V1_3_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_SSR_VALUE, { "Age of the Last Secondary Report Used to Update the Track, [s]", "asterix.011_V1_3_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MDA, { "MDA, Age of the Last Valid Mode A Report Used to Update the Track", "asterix.011_V1_3_290_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MDA_VALUE, { "Age of the Last Valid Mode A Report Used to Update the Track, [s]", "asterix.011_V1_3_290_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MFL, { "MFL, Age of the Last Valid and Credible Mode C Used to Update the Track", "asterix.011_V1_3_290_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MFL_VALUE, { "Age of the Last Valid and Credible Mode C Used to Update the Track, [s]", "asterix.011_V1_3_290_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MDS, { "MDS, Age of the Last Mode S Report Used to Update the Track", "asterix.011_V1_3_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MDS_VALUE, { "Age of the Last Mode S Report Used to Update the Track, [s]", "asterix.011_V1_3_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_ADS, { "ADS, Age of the Last ADS Report Used to Update the Track", "asterix.011_V1_3_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_ADS_VALUE, { "Age of the Last ADS Report Used to Update the Track, [s]", "asterix.011_V1_3_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_ADB, { "ADB, Age of the Last ADS-B Report Used to Update the Track", "asterix.011_V1_3_290_ADB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_ADB_VALUE, { "Age of the Last ADS-B Report Used to Update the Track, [s]", "asterix.011_V1_3_290_ADB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MD1, { "MD1, Age of the Last Valid Mode 1 Used to Update the Track", "asterix.011_V1_3_290_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MD1_VALUE, { "Age of the Last Valid Mode 1 Used to Update the Track, [s]", "asterix.011_V1_3_290_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MD2, { "MD2, Age of the Last Valid Mode 2 Used to Update the Track", "asterix.011_V1_3_290_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MD2_VALUE, { "Age of the Last Valid Mode 2 Used to Update the Track, [s]", "asterix.011_V1_3_290_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_LOP, { "LOP, Age of the Last Magentic Loop Detection", "asterix.011_V1_3_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_LOP_VALUE, { "Age of the Last Magentic Loop Detection, [s]", "asterix.011_V1_3_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_TRK, { "TRK, Actual Track Age Since First Occurrence", "asterix.011_V1_3_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_TRK_VALUE, { "Actual Track Age Since First Occurrence, [s]", "asterix.011_V1_3_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MUL, { "MUL, Age of the Last Multilateration Detection", "asterix.011_V1_3_290_MUL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_290_MUL_VALUE, { "Age of the Last Multilateration Detection, [s]", "asterix.011_V1_3_290_MUL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_300, { "300, Vehicle Fleet Identification", "asterix.011_V1_3_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_300_VALUE, { "Vehicle Fleet Identification", "asterix.011_V1_3_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_300_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_3_310, { "310, Pre-programmed Message", "asterix.011_V1_3_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_310_TRB, { "TRB, In Trouble", "asterix.011_V1_3_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_310_TRB), 0x80, NULL, HFILL } }, { &hf_011_V1_3_310_MSG, { "MSG, Message", "asterix.011_V1_3_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_310_MSG), 0x7f, NULL, HFILL } }, { &hf_011_V1_3_380, { "380, Mode-S / ADS-B Related Data", "asterix.011_V1_3_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_MB, { "MB, BDS", "asterix.011_V1_3_380_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_MB_VALUE, { "BDS", "asterix.011_V1_3_380_MB_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_ADR, { "ADR, 24 Bits Aircraft Address", "asterix.011_V1_3_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_ADR_VALUE, { "24 Bits Aircraft Address", "asterix.011_V1_3_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS, { "COMACAS, Communications/ACAS Capability and Flight Status", "asterix.011_V1_3_380_COMACAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_COM, { "COM, Communications Capability of the Transponder", "asterix.011_V1_3_380_COMACAS_COM", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_COM), 0xe0, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_STAT, { "STAT, Flight Status", "asterix.011_V1_3_380_COMACAS_STAT", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_STAT), 0x1e, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_SSC, { "SSC, Specific Service Capability", "asterix.011_V1_3_380_COMACAS_SSC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_SSC), 0x80, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_ARC, { "ARC, Altitude Reporting Capability", "asterix.011_V1_3_380_COMACAS_ARC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_ARC), 0x40, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_AIC, { "AIC, Aircraft Identification Capability", "asterix.011_V1_3_380_COMACAS_AIC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_AIC), 0x20, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.011_V1_3_380_COMACAS_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_B1B, { "B1B, BDS 1,0 Bit 37/40", "asterix.011_V1_3_380_COMACAS_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_AC, { "AC, ACAS Operational", "asterix.011_V1_3_380_COMACAS_AC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_AC), 0x80, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_MN, { "MN, Multiple Navigational Aids Operating", "asterix.011_V1_3_380_COMACAS_MN", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_MN), 0x40, NULL, HFILL } }, { &hf_011_V1_3_380_COMACAS_DC, { "DC, Differential Correction", "asterix.011_V1_3_380_COMACAS_DC", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_COMACAS_DC), 0x20, NULL, HFILL } }, { &hf_011_V1_3_380_ACT, { "ACT, Aircraft Derived Aircraft Type", "asterix.011_V1_3_380_ACT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_ACT_VALUE, { "Aircraft Derived Aircraft Type", "asterix.011_V1_3_380_ACT_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_ECAT, { "ECAT, Emitter Category", "asterix.011_V1_3_380_ECAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_ECAT_VALUE, { "Emitter Category", "asterix.011_V1_3_380_ECAT_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_ECAT_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_AVTECH, { "AVTECH, Available Technologies", "asterix.011_V1_3_380_AVTECH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_380_AVTECH_VDL, { "VDL, VDL Mode 4", "asterix.011_V1_3_380_AVTECH_VDL", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_AVTECH_VDL), 0x80, NULL, HFILL } }, { &hf_011_V1_3_380_AVTECH_MDS, { "MDS, Mode S", "asterix.011_V1_3_380_AVTECH_MDS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_AVTECH_MDS), 0x40, NULL, HFILL } }, { &hf_011_V1_3_380_AVTECH_UAT, { "UAT, UAT", "asterix.011_V1_3_380_AVTECH_UAT", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_380_AVTECH_UAT), 0x20, NULL, HFILL } }, { &hf_011_V1_3_390, { "390, Flight Plan Related Data", "asterix.011_V1_3_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_FPPSID, { "FPPSID, FPPS Identification Tag", "asterix.011_V1_3_390_FPPSID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_FPPSID_SAC, { "SAC, System Area Code", "asterix.011_V1_3_390_FPPSID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_FPPSID_SIC, { "SIC, System Identity Code", "asterix.011_V1_3_390_FPPSID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_CSN, { "CSN, Callsign", "asterix.011_V1_3_390_CSN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_CSN_VALUE, { "Callsign", "asterix.011_V1_3_390_CSN_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_IFPSFLIGHTID, { "IFPSFLIGHTID, IFPS_FLIGHT_ID", "asterix.011_V1_3_390_IFPSFLIGHTID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_IFPSFLIGHTID_TYP, { "TYP, IFPS Flight ID Type", "asterix.011_V1_3_390_IFPSFLIGHTID_TYP", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_IFPSFLIGHTID_TYP), 0xc0, NULL, HFILL } }, { &hf_011_V1_3_390_IFPSFLIGHTID_NBR, { "NBR, IFPS Flight ID Number", "asterix.011_V1_3_390_IFPSFLIGHTID_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_011_V1_3_390_FLIGHTCAT, { "FLIGHTCAT, Flight Category", "asterix.011_V1_3_390_FLIGHTCAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_FLIGHTCAT_GATOAT, { "GATOAT, Flight Type", "asterix.011_V1_3_390_FLIGHTCAT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_FLIGHTCAT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_011_V1_3_390_FLIGHTCAT_FR1FR2, { "FR1FR2, Flight Rules", "asterix.011_V1_3_390_FLIGHTCAT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_FLIGHTCAT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_011_V1_3_390_FLIGHTCAT_RVSM, { "RVSM, RVSM", "asterix.011_V1_3_390_FLIGHTCAT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_FLIGHTCAT_RVSM), 0x0c, NULL, HFILL } }, { &hf_011_V1_3_390_FLIGHTCAT_HPR, { "HPR, Flight Priority", "asterix.011_V1_3_390_FLIGHTCAT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_FLIGHTCAT_HPR), 0x02, NULL, HFILL } }, { &hf_011_V1_3_390_TOA, { "TOA, Type of Aircraft", "asterix.011_V1_3_390_TOA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_TOA_VALUE, { "Type of Aircraft", "asterix.011_V1_3_390_TOA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_WTC, { "WTC, Wake Turbulence Category", "asterix.011_V1_3_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.011_V1_3_390_WTC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_WTC_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_ADEP, { "ADEP, Departure Airport", "asterix.011_V1_3_390_ADEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_ADEP_VALUE, { "Departure Airport", "asterix.011_V1_3_390_ADEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_ADES, { "ADES, Destination Airport", "asterix.011_V1_3_390_ADES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_ADES_VALUE, { "Destination Airport", "asterix.011_V1_3_390_ADES_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_RWY, { "RWY, Runway Designation", "asterix.011_V1_3_390_RWY", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_RWY_VALUE, { "Runway Designation", "asterix.011_V1_3_390_RWY_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.011_V1_3_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.011_V1_3_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_CCP, { "CCP, Current Control Position", "asterix.011_V1_3_390_CCP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_CCP_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.011_V1_3_390_CCP_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_CCP_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.011_V1_3_390_CCP_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_TOD, { "TOD, Time of Departure", "asterix.011_V1_3_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_TOD_TYP, { "TYP, Time Type", "asterix.011_V1_3_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_011_V1_3_390_TOD_DAY, { "DAY, Day", "asterix.011_V1_3_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_011_V1_3_390_TOD_HOR, { "HOR, Hours, from 0 to 23", "asterix.011_V1_3_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_011_V1_3_390_TOD_MIN, { "MIN, Minutes, from 0 to 59", "asterix.011_V1_3_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_011_V1_3_390_TOD_AVS, { "AVS, Seconds Available", "asterix.011_V1_3_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_011_V1_3_390_TOD_SEC, { "SEC, Seconds, from 0 to 59", "asterix.011_V1_3_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_011_V1_3_390_AST, { "AST, Aircraft Stand", "asterix.011_V1_3_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_AST_VALUE, { "Aircraft Stand", "asterix.011_V1_3_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_STS, { "STS, Stand Status", "asterix.011_V1_3_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_390_STS_EMP, { "EMP, Stand Empty", "asterix.011_V1_3_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_011_V1_3_390_STS_AVL, { "AVL, Stand Available", "asterix.011_V1_3_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_011_V1_3_430, { "430, Phase of Flight", "asterix.011_V1_3_430", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_430_VALUE, { "Phase of Flight", "asterix.011_V1_3_430_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_430_VALUE), 0x00, NULL, HFILL } }, { &hf_011_V1_3_500, { "500, Estimated Accuracies", "asterix.011_V1_3_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.011_V1_3_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_APC_X, { "X, Estimated Accuracy of the Calculated Position of X Component, [m]", "asterix.011_V1_3_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_APC_Y, { "Y, Estimated Accuracy of the Calculated Position of Y Component, [m]", "asterix.011_V1_3_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS84)", "asterix.011_V1_3_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_APW_LAT, { "LAT, APW Latitude Component Accuracy, [°]", "asterix.011_V1_3_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_APW_LON, { "LON, APW Longitude Component Accuracy, [°]", "asterix.011_V1_3_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_ATH, { "ATH, Estimated Accuracy Of Track Height", "asterix.011_V1_3_500_ATH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_ATH_VALUE, { "Estimated Accuracy Of Track Height, [m]", "asterix.011_V1_3_500_ATH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_AVC, { "AVC, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.011_V1_3_500_AVC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_AVC_X, { "X, Estimated Accuracy of the Calculated Velocity of X Component, [m/s]", "asterix.011_V1_3_500_AVC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_AVC_Y, { "Y, Estimated Accuracy of the Calculated Velocity of Y Component, [m/s]", "asterix.011_V1_3_500_AVC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb / Descent", "asterix.011_V1_3_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb / Descent, [m/s]", "asterix.011_V1_3_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_AAC, { "AAC, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.011_V1_3_500_AAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_AAC_X, { "X, Estimated Accuracy Of Acceleration of X Component, [m/s²]", "asterix.011_V1_3_500_AAC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_500_AAC_Y, { "Y, Estimated Accuracy Of Acceleration of Y Component, [m/s²]", "asterix.011_V1_3_500_AAC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_600, { "600, Alert Messages", "asterix.011_V1_3_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_600_ACK, { "ACK, Alert Acknowleged", "asterix.011_V1_3_600_ACK", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_600_ACK), 0x80, NULL, HFILL } }, { &hf_011_V1_3_600_SVR, { "SVR, Alert Severity", "asterix.011_V1_3_600_SVR", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_600_SVR), 0x60, NULL, HFILL } }, { &hf_011_V1_3_600_AT, { "AT, Alert Type", "asterix.011_V1_3_600_AT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_600_AN, { "AN, Alert Number", "asterix.011_V1_3_600_AN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_605, { "605, Tracks in Alert", "asterix.011_V1_3_605", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_605_FTN, { "FTN, Fusion Track Number", "asterix.011_V1_3_605_FTN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_011_V1_3_610, { "610, Holdbar Status", "asterix.011_V1_3_610", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_610_BKN, { "BKN, Bank Number", "asterix.011_V1_3_610_BKN", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_011_V1_3_610_I1, { "I1, Indicator 1", "asterix.011_V1_3_610_I1", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I1), 0x08, NULL, HFILL } }, { &hf_011_V1_3_610_I2, { "I2, Indicator 2", "asterix.011_V1_3_610_I2", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I2), 0x04, NULL, HFILL } }, { &hf_011_V1_3_610_I3, { "I3, Indicator 3", "asterix.011_V1_3_610_I3", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I3), 0x02, NULL, HFILL } }, { &hf_011_V1_3_610_I4, { "I4, Indicator 4", "asterix.011_V1_3_610_I4", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I4), 0x01, NULL, HFILL } }, { &hf_011_V1_3_610_I5, { "I5, Indicator 5", "asterix.011_V1_3_610_I5", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I5), 0x80, NULL, HFILL } }, { &hf_011_V1_3_610_I6, { "I6, Indicator 6", "asterix.011_V1_3_610_I6", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I6), 0x40, NULL, HFILL } }, { &hf_011_V1_3_610_I7, { "I7, Indicator 7", "asterix.011_V1_3_610_I7", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I7), 0x20, NULL, HFILL } }, { &hf_011_V1_3_610_I8, { "I8, Indicator 8", "asterix.011_V1_3_610_I8", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I8), 0x10, NULL, HFILL } }, { &hf_011_V1_3_610_I9, { "I9, Indicator 9", "asterix.011_V1_3_610_I9", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I9), 0x08, NULL, HFILL } }, { &hf_011_V1_3_610_I10, { "I10, Indicator 10", "asterix.011_V1_3_610_I10", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I10), 0x04, NULL, HFILL } }, { &hf_011_V1_3_610_I11, { "I11, Indicator 11", "asterix.011_V1_3_610_I11", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I11), 0x02, NULL, HFILL } }, { &hf_011_V1_3_610_I12, { "I12, Indicator 12", "asterix.011_V1_3_610_I12", FT_UINT8, BASE_DEC, VALS (valstr_011_V1_3_610_I12), 0x01, NULL, HFILL } }, { &hf_011_V1_3_SP, { "SP, Special Purpose Field", "asterix.011_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_V1_3_RE, { "RE, Reserved Expansion Field", "asterix.011_V1_3_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_000, { "000, Message Type", "asterix.011_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_000_VALUE, { "Message Type", "asterix.011_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_000_VALUE), 0x00, NULL, HFILL } }, { &hf_011_010, { "010, Data Source Identifier", "asterix.011_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_010_SAC, { "SAC, System Area Code Fixed to Zero", "asterix.011_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_010_SIC, { "SIC, System Identification Code", "asterix.011_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_015, { "015, Service Identification", "asterix.011_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_015_VALUE, { "Service Identification", "asterix.011_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_041, { "041, Position in WGS-84 Coordinates", "asterix.011_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_041_LAT, { "LAT, Latitude in WGS-84 in Two's Complement, [°]", "asterix.011_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_041_LON, { "LON, Longitude in WGS-84 in Two's Complement, [°]", "asterix.011_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.011_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_042_X, { "X, X-Component, [m]", "asterix.011_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_042_Y, { "Y, Y-Component, [m]", "asterix.011_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_060, { "060, Mode-3/A Code in Octal Representation", "asterix.011_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_060_MOD3A, { "MOD3A, Mode-3/A Reply in Octal Representation", "asterix.011_060_MOD3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_011_090, { "090, Measured Flight Level", "asterix.011_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_090_VALUE, { "Measured Flight Level, [FL]", "asterix.011_090_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_092, { "092, Calculated Track Geometric Altitude", "asterix.011_092", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_092_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.011_092_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_093, { "093, Calculated Track Barometric Altitude", "asterix.011_093", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_093_QNH, { "QNH, QNH Correction Applied", "asterix.011_093_QNH", FT_UINT8, BASE_DEC, VALS (valstr_011_093_QNH), 0x80, NULL, HFILL } }, { &hf_011_093_CTBA, { "CTBA, Calculated Track Barometric Altitude, [FL]", "asterix.011_093_CTBA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_140, { "140, Time of Track Information", "asterix.011_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_140_VALUE, { "Time of Track Information, [s]", "asterix.011_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_161, { "161, Track Number", "asterix.011_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_161_FTN, { "FTN, Fusion Track Number", "asterix.011_161_FTN", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_011_170, { "170, Track Status", "asterix.011_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_170_MON, { "MON", "asterix.011_170_MON", FT_UINT8, BASE_DEC, VALS (valstr_011_170_MON), 0x80, NULL, HFILL } }, { &hf_011_170_GBS, { "GBS", "asterix.011_170_GBS", FT_UINT8, BASE_DEC, VALS (valstr_011_170_GBS), 0x40, NULL, HFILL } }, { &hf_011_170_MRH, { "MRH", "asterix.011_170_MRH", FT_UINT8, BASE_DEC, VALS (valstr_011_170_MRH), 0x20, NULL, HFILL } }, { &hf_011_170_SRC, { "SRC", "asterix.011_170_SRC", FT_UINT8, BASE_DEC, VALS (valstr_011_170_SRC), 0x1c, NULL, HFILL } }, { &hf_011_170_CNF, { "CNF", "asterix.011_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_011_170_CNF), 0x02, NULL, HFILL } }, { &hf_011_170_SIM, { "SIM", "asterix.011_170_SIM", FT_UINT8, BASE_DEC, VALS (valstr_011_170_SIM), 0x80, NULL, HFILL } }, { &hf_011_170_TSE, { "TSE", "asterix.011_170_TSE", FT_UINT8, BASE_DEC, VALS (valstr_011_170_TSE), 0x40, NULL, HFILL } }, { &hf_011_170_TSB, { "TSB", "asterix.011_170_TSB", FT_UINT8, BASE_DEC, VALS (valstr_011_170_TSB), 0x20, NULL, HFILL } }, { &hf_011_170_FRIFOE, { "FRIFOE", "asterix.011_170_FRIFOE", FT_UINT8, BASE_DEC, VALS (valstr_011_170_FRIFOE), 0x18, NULL, HFILL } }, { &hf_011_170_ME, { "ME", "asterix.011_170_ME", FT_UINT8, BASE_DEC, VALS (valstr_011_170_ME), 0x04, NULL, HFILL } }, { &hf_011_170_MI, { "MI", "asterix.011_170_MI", FT_UINT8, BASE_DEC, VALS (valstr_011_170_MI), 0x02, NULL, HFILL } }, { &hf_011_170_AMA, { "AMA", "asterix.011_170_AMA", FT_UINT8, BASE_DEC, VALS (valstr_011_170_AMA), 0x80, NULL, HFILL } }, { &hf_011_170_SPI, { "SPI", "asterix.011_170_SPI", FT_UINT8, BASE_DEC, VALS (valstr_011_170_SPI), 0x40, NULL, HFILL } }, { &hf_011_170_CST, { "CST", "asterix.011_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_011_170_CST), 0x20, NULL, HFILL } }, { &hf_011_170_FPC, { "FPC", "asterix.011_170_FPC", FT_UINT8, BASE_DEC, VALS (valstr_011_170_FPC), 0x10, NULL, HFILL } }, { &hf_011_170_AFF, { "AFF", "asterix.011_170_AFF", FT_UINT8, BASE_DEC, VALS (valstr_011_170_AFF), 0x08, NULL, HFILL } }, { &hf_011_170_PSR, { "PSR", "asterix.011_170_PSR", FT_UINT8, BASE_DEC, VALS (valstr_011_170_PSR), 0x40, NULL, HFILL } }, { &hf_011_170_SSR, { "SSR", "asterix.011_170_SSR", FT_UINT8, BASE_DEC, VALS (valstr_011_170_SSR), 0x20, NULL, HFILL } }, { &hf_011_170_MDS, { "MDS", "asterix.011_170_MDS", FT_UINT8, BASE_DEC, VALS (valstr_011_170_MDS), 0x10, NULL, HFILL } }, { &hf_011_170_ADS, { "ADS", "asterix.011_170_ADS", FT_UINT8, BASE_DEC, VALS (valstr_011_170_ADS), 0x08, NULL, HFILL } }, { &hf_011_170_SUC, { "SUC", "asterix.011_170_SUC", FT_UINT8, BASE_DEC, VALS (valstr_011_170_SUC), 0x04, NULL, HFILL } }, { &hf_011_170_AAC, { "AAC", "asterix.011_170_AAC", FT_UINT8, BASE_DEC, VALS (valstr_011_170_AAC), 0x02, NULL, HFILL } }, { &hf_011_202, { "202, Calculated Track Velocity in Cartesian Coordinates", "asterix.011_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_202_VX, { "VX, Vx, [m/s]", "asterix.011_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_202_VY, { "VY, Vy, [m/s]", "asterix.011_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_210, { "210, Calculated Acceleration", "asterix.011_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_210_AX, { "AX, Ax, [m/s²]", "asterix.011_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_210_AY, { "AY, Ay, [m/s²]", "asterix.011_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_215, { "215, Calculated Rate Of Climb/Descent", "asterix.011_215", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_215_VALUE, { "Calculated Rate Of Climb/Descent, [ft/min]", "asterix.011_215_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_245, { "245, Target Identification", "asterix.011_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_245_STI, { "STI", "asterix.011_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_011_245_STI), 0xc0, NULL, HFILL } }, { &hf_011_245_TID, { "TID, Target Identification", "asterix.011_245_TID", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_270, { "270, Target Size and Orientation", "asterix.011_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_270_LENGTH, { "LENGTH, Length, [m]", "asterix.011_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.011_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_270_WIDTH, { "WIDTH, Width, [m]", "asterix.011_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290, { "290, System Track Update Ages", "asterix.011_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_PSR, { "PSR, Age of the Last Primary Report Used to Update the Track", "asterix.011_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_PSR_VALUE, { "Age of the Last Primary Report Used to Update the Track, [s]", "asterix.011_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_SSR, { "SSR, Age of the Last Secondary Report Used to Update the Track", "asterix.011_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_SSR_VALUE, { "Age of the Last Secondary Report Used to Update the Track, [s]", "asterix.011_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MDA, { "MDA, Age of the Last Valid Mode A Report Used to Update the Track", "asterix.011_290_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MDA_VALUE, { "Age of the Last Valid Mode A Report Used to Update the Track, [s]", "asterix.011_290_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MFL, { "MFL, Age of the Last Valid and Credible Mode C Used to Update the Track", "asterix.011_290_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MFL_VALUE, { "Age of the Last Valid and Credible Mode C Used to Update the Track, [s]", "asterix.011_290_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MDS, { "MDS, Age of the Last Mode S Report Used to Update the Track", "asterix.011_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MDS_VALUE, { "Age of the Last Mode S Report Used to Update the Track, [s]", "asterix.011_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_ADS, { "ADS, Age of the Last ADS Report Used to Update the Track", "asterix.011_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_ADS_VALUE, { "Age of the Last ADS Report Used to Update the Track, [s]", "asterix.011_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_ADB, { "ADB, Age of the Last ADS-B Report Used to Update the Track", "asterix.011_290_ADB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_ADB_VALUE, { "Age of the Last ADS-B Report Used to Update the Track, [s]", "asterix.011_290_ADB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MD1, { "MD1, Age of the Last Valid Mode 1 Used to Update the Track", "asterix.011_290_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MD1_VALUE, { "Age of the Last Valid Mode 1 Used to Update the Track, [s]", "asterix.011_290_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MD2, { "MD2, Age of the Last Valid Mode 2 Used to Update the Track", "asterix.011_290_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MD2_VALUE, { "Age of the Last Valid Mode 2 Used to Update the Track, [s]", "asterix.011_290_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_LOP, { "LOP, Age of the Last Magentic Loop Detection", "asterix.011_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_LOP_VALUE, { "Age of the Last Magentic Loop Detection, [s]", "asterix.011_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_TRK, { "TRK, Actual Track Age Since First Occurrence", "asterix.011_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_TRK_VALUE, { "Actual Track Age Since First Occurrence, [s]", "asterix.011_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MUL, { "MUL, Age of the Last Multilateration Detection", "asterix.011_290_MUL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_290_MUL_VALUE, { "Age of the Last Multilateration Detection, [s]", "asterix.011_290_MUL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_300, { "300, Vehicle Fleet Identification", "asterix.011_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_300_VALUE, { "Vehicle Fleet Identification", "asterix.011_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_300_VALUE), 0x00, NULL, HFILL } }, { &hf_011_310, { "310, Pre-programmed Message", "asterix.011_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_310_TRB, { "TRB, In Trouble", "asterix.011_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_011_310_TRB), 0x80, NULL, HFILL } }, { &hf_011_310_MSG, { "MSG, Message", "asterix.011_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_011_310_MSG), 0x7f, NULL, HFILL } }, { &hf_011_380, { "380, Mode-S / ADS-B Related Data", "asterix.011_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_MB, { "MB, BDS", "asterix.011_380_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_MB_VALUE, { "BDS", "asterix.011_380_MB_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_ADR, { "ADR, 24 Bits Aircraft Address", "asterix.011_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_ADR_VALUE, { "24 Bits Aircraft Address", "asterix.011_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_COMACAS, { "COMACAS, Communications/ACAS Capability and Flight Status", "asterix.011_380_COMACAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_COMACAS_COM, { "COM, Communications Capability of the Transponder", "asterix.011_380_COMACAS_COM", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_COM), 0xe0, NULL, HFILL } }, { &hf_011_380_COMACAS_STAT, { "STAT, Flight Status", "asterix.011_380_COMACAS_STAT", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_STAT), 0x1e, NULL, HFILL } }, { &hf_011_380_COMACAS_SSC, { "SSC, Specific Service Capability", "asterix.011_380_COMACAS_SSC", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_SSC), 0x80, NULL, HFILL } }, { &hf_011_380_COMACAS_ARC, { "ARC, Altitude Reporting Capability", "asterix.011_380_COMACAS_ARC", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_ARC), 0x40, NULL, HFILL } }, { &hf_011_380_COMACAS_AIC, { "AIC, Aircraft Identification Capability", "asterix.011_380_COMACAS_AIC", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_AIC), 0x20, NULL, HFILL } }, { &hf_011_380_COMACAS_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.011_380_COMACAS_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_011_380_COMACAS_B1B, { "B1B, BDS 1,0 Bit 37/40", "asterix.011_380_COMACAS_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_011_380_COMACAS_AC, { "AC, ACAS Operational", "asterix.011_380_COMACAS_AC", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_AC), 0x80, NULL, HFILL } }, { &hf_011_380_COMACAS_MN, { "MN, Multiple Navigational Aids Operating", "asterix.011_380_COMACAS_MN", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_MN), 0x40, NULL, HFILL } }, { &hf_011_380_COMACAS_DC, { "DC, Differential Correction", "asterix.011_380_COMACAS_DC", FT_UINT8, BASE_DEC, VALS (valstr_011_380_COMACAS_DC), 0x20, NULL, HFILL } }, { &hf_011_380_ACT, { "ACT, Aircraft Derived Aircraft Type", "asterix.011_380_ACT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_ACT_VALUE, { "Aircraft Derived Aircraft Type", "asterix.011_380_ACT_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_ECAT, { "ECAT, Emitter Category", "asterix.011_380_ECAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_ECAT_VALUE, { "Emitter Category", "asterix.011_380_ECAT_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_380_ECAT_VALUE), 0x00, NULL, HFILL } }, { &hf_011_380_AVTECH, { "AVTECH, Available Technologies", "asterix.011_380_AVTECH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_380_AVTECH_VDL, { "VDL, VDL Mode 4", "asterix.011_380_AVTECH_VDL", FT_UINT8, BASE_DEC, VALS (valstr_011_380_AVTECH_VDL), 0x80, NULL, HFILL } }, { &hf_011_380_AVTECH_MDS, { "MDS, Mode S", "asterix.011_380_AVTECH_MDS", FT_UINT8, BASE_DEC, VALS (valstr_011_380_AVTECH_MDS), 0x40, NULL, HFILL } }, { &hf_011_380_AVTECH_UAT, { "UAT, UAT", "asterix.011_380_AVTECH_UAT", FT_UINT8, BASE_DEC, VALS (valstr_011_380_AVTECH_UAT), 0x20, NULL, HFILL } }, { &hf_011_390, { "390, Flight Plan Related Data", "asterix.011_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_FPPSID, { "FPPSID, FPPS Identification Tag", "asterix.011_390_FPPSID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_FPPSID_SAC, { "SAC, System Area Code", "asterix.011_390_FPPSID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_FPPSID_SIC, { "SIC, System Identity Code", "asterix.011_390_FPPSID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_CSN, { "CSN, Callsign", "asterix.011_390_CSN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_CSN_VALUE, { "Callsign", "asterix.011_390_CSN_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_IFPSFLIGHTID, { "IFPSFLIGHTID, IFPS_FLIGHT_ID", "asterix.011_390_IFPSFLIGHTID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_IFPSFLIGHTID_TYP, { "TYP, IFPS Flight ID Type", "asterix.011_390_IFPSFLIGHTID_TYP", FT_UINT8, BASE_DEC, VALS (valstr_011_390_IFPSFLIGHTID_TYP), 0xc0, NULL, HFILL } }, { &hf_011_390_IFPSFLIGHTID_NBR, { "NBR, IFPS Flight ID Number", "asterix.011_390_IFPSFLIGHTID_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_011_390_FLIGHTCAT, { "FLIGHTCAT, Flight Category", "asterix.011_390_FLIGHTCAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_FLIGHTCAT_GATOAT, { "GATOAT, Flight Type", "asterix.011_390_FLIGHTCAT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_011_390_FLIGHTCAT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_011_390_FLIGHTCAT_FR1FR2, { "FR1FR2, Flight Rules", "asterix.011_390_FLIGHTCAT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_011_390_FLIGHTCAT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_011_390_FLIGHTCAT_RVSM, { "RVSM, RVSM", "asterix.011_390_FLIGHTCAT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_011_390_FLIGHTCAT_RVSM), 0x0c, NULL, HFILL } }, { &hf_011_390_FLIGHTCAT_HPR, { "HPR, Flight Priority", "asterix.011_390_FLIGHTCAT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_011_390_FLIGHTCAT_HPR), 0x02, NULL, HFILL } }, { &hf_011_390_TOA, { "TOA, Type of Aircraft", "asterix.011_390_TOA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_TOA_VALUE, { "Type of Aircraft", "asterix.011_390_TOA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_WTC, { "WTC, Wake Turbulence Category", "asterix.011_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.011_390_WTC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_390_WTC_VALUE), 0x00, NULL, HFILL } }, { &hf_011_390_ADEP, { "ADEP, Departure Airport", "asterix.011_390_ADEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_ADEP_VALUE, { "Departure Airport", "asterix.011_390_ADEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_ADES, { "ADES, Destination Airport", "asterix.011_390_ADES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_ADES_VALUE, { "Destination Airport", "asterix.011_390_ADES_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_RWY, { "RWY, Runway Designation", "asterix.011_390_RWY", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_RWY_VALUE, { "Runway Designation", "asterix.011_390_RWY_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.011_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.011_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_CCP, { "CCP, Current Control Position", "asterix.011_390_CCP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_CCP_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.011_390_CCP_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_CCP_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.011_390_CCP_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_TOD, { "TOD, Time of Departure", "asterix.011_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_TOD_TYP, { "TYP, Time Type", "asterix.011_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_011_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_011_390_TOD_DAY, { "DAY, Day", "asterix.011_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_011_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_011_390_TOD_HOR, { "HOR, Hours, from 0 to 23", "asterix.011_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_011_390_TOD_MIN, { "MIN, Minutes, from 0 to 59", "asterix.011_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_011_390_TOD_AVS, { "AVS, Seconds Available", "asterix.011_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_011_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_011_390_TOD_SEC, { "SEC, Seconds, from 0 to 59", "asterix.011_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_011_390_AST, { "AST, Aircraft Stand", "asterix.011_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_AST_VALUE, { "Aircraft Stand", "asterix.011_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_STS, { "STS, Stand Status", "asterix.011_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_390_STS_EMP, { "EMP, Stand Empty", "asterix.011_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_011_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_011_390_STS_AVL, { "AVL, Stand Available", "asterix.011_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_011_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_011_430, { "430, Phase of Flight", "asterix.011_430", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_430_VALUE, { "Phase of Flight", "asterix.011_430_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_011_430_VALUE), 0x00, NULL, HFILL } }, { &hf_011_500, { "500, Estimated Accuracies", "asterix.011_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.011_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_APC_X, { "X, Estimated Accuracy of the Calculated Position of X Component, [m]", "asterix.011_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_APC_Y, { "Y, Estimated Accuracy of the Calculated Position of Y Component, [m]", "asterix.011_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS84)", "asterix.011_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_APW_LAT, { "LAT, APW Latitude Component Accuracy, [°]", "asterix.011_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_APW_LON, { "LON, APW Longitude Component Accuracy, [°]", "asterix.011_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_ATH, { "ATH, Estimated Accuracy Of Track Height", "asterix.011_500_ATH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_ATH_VALUE, { "Estimated Accuracy Of Track Height, [m]", "asterix.011_500_ATH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_AVC, { "AVC, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.011_500_AVC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_AVC_X, { "X, Estimated Accuracy of the Calculated Velocity of X Component, [m/s]", "asterix.011_500_AVC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_AVC_Y, { "Y, Estimated Accuracy of the Calculated Velocity of Y Component, [m/s]", "asterix.011_500_AVC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb / Descent", "asterix.011_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb / Descent, [m/s]", "asterix.011_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_AAC, { "AAC, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.011_500_AAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_AAC_X, { "X, Estimated Accuracy Of Acceleration of X Component, [m/s²]", "asterix.011_500_AAC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_500_AAC_Y, { "Y, Estimated Accuracy Of Acceleration of Y Component, [m/s²]", "asterix.011_500_AAC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_600, { "600, Alert Messages", "asterix.011_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_600_ACK, { "ACK, Alert Acknowleged", "asterix.011_600_ACK", FT_UINT8, BASE_DEC, VALS (valstr_011_600_ACK), 0x80, NULL, HFILL } }, { &hf_011_600_SVR, { "SVR, Alert Severity", "asterix.011_600_SVR", FT_UINT8, BASE_DEC, VALS (valstr_011_600_SVR), 0x60, NULL, HFILL } }, { &hf_011_600_AT, { "AT, Alert Type", "asterix.011_600_AT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_600_AN, { "AN, Alert Number", "asterix.011_600_AN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_011_605, { "605, Tracks in Alert", "asterix.011_605", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_605_FTN, { "FTN, Fusion Track Number", "asterix.011_605_FTN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_011_610, { "610, Holdbar Status", "asterix.011_610", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_610_BKN, { "BKN, Bank Number", "asterix.011_610_BKN", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_011_610_I1, { "I1, Indicator 1", "asterix.011_610_I1", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I1), 0x08, NULL, HFILL } }, { &hf_011_610_I2, { "I2, Indicator 2", "asterix.011_610_I2", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I2), 0x04, NULL, HFILL } }, { &hf_011_610_I3, { "I3, Indicator 3", "asterix.011_610_I3", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I3), 0x02, NULL, HFILL } }, { &hf_011_610_I4, { "I4, Indicator 4", "asterix.011_610_I4", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I4), 0x01, NULL, HFILL } }, { &hf_011_610_I5, { "I5, Indicator 5", "asterix.011_610_I5", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I5), 0x80, NULL, HFILL } }, { &hf_011_610_I6, { "I6, Indicator 6", "asterix.011_610_I6", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I6), 0x40, NULL, HFILL } }, { &hf_011_610_I7, { "I7, Indicator 7", "asterix.011_610_I7", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I7), 0x20, NULL, HFILL } }, { &hf_011_610_I8, { "I8, Indicator 8", "asterix.011_610_I8", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I8), 0x10, NULL, HFILL } }, { &hf_011_610_I9, { "I9, Indicator 9", "asterix.011_610_I9", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I9), 0x08, NULL, HFILL } }, { &hf_011_610_I10, { "I10, Indicator 10", "asterix.011_610_I10", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I10), 0x04, NULL, HFILL } }, { &hf_011_610_I11, { "I11, Indicator 11", "asterix.011_610_I11", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I11), 0x02, NULL, HFILL } }, { &hf_011_610_I12, { "I12, Indicator 12", "asterix.011_610_I12", FT_UINT8, BASE_DEC, VALS (valstr_011_610_I12), 0x01, NULL, HFILL } }, { &hf_011_SP, { "SP, Special Purpose Field", "asterix.011_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_011_RE, { "RE, Reserved Expansion Field", "asterix.011_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_000, { "000, Message Type", "asterix.015_V1_0_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_000_MT, { "MT, Message Type", "asterix.015_V1_0_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_000_MT), 0xfe, NULL, HFILL } }, { &hf_015_V1_0_000_RG, { "RG, Report Generation", "asterix.015_V1_0_000_RG", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_000_RG), 0x01, NULL, HFILL } }, { &hf_015_V1_0_010, { "010, Data Source Identifier", "asterix.015_V1_0_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_010_SAC, { "SAC, System Area Code", "asterix.015_V1_0_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_010_SIC, { "SIC, System Identification Code", "asterix.015_V1_0_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_015, { "015, Service Identification", "asterix.015_V1_0_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_015_VALUE, { "Service Identification", "asterix.015_V1_0_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_020, { "020, Target Report Descriptor", "asterix.015_V1_0_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_020_MOMU, { "MOMU, Mono-Static Target Report or Multi-Static Target Report", "asterix.015_V1_0_020_MOMU", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_020_MOMU), 0xc0, NULL, HFILL } }, { &hf_015_V1_0_020_TTAX, { "TTAX, Target Taxonomy", "asterix.015_V1_0_020_TTAX", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_020_TTAX), 0x30, NULL, HFILL } }, { &hf_015_V1_0_020_SCD, { "SCD, Scanning Direction", "asterix.015_V1_0_020_SCD", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_020_SCD), 0x0c, NULL, HFILL } }, { &hf_015_V1_0_030, { "030, Warning/Error Conditions", "asterix.015_V1_0_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_030_Subitem, { "Subitem, Subitem", "asterix.015_V1_0_030_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_015_V1_0_050, { "050, Update Period", "asterix.015_V1_0_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_050_UPD, { "UPD, Update Period, [s]", "asterix.015_V1_0_050_UPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_145, { "145, Time of Applicability", "asterix.015_V1_0_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_145_VALUE, { "Time of Applicability, [s]", "asterix.015_V1_0_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_161, { "161, Track/Plot Number", "asterix.015_V1_0_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_161_VALUE, { "Track/Plot Number", "asterix.015_V1_0_161_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_170, { "170, Track/Plot Status", "asterix.015_V1_0_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_170_BIZ, { "BIZ", "asterix.015_V1_0_170_BIZ", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_170_BIZ), 0x80, NULL, HFILL } }, { &hf_015_V1_0_170_BAZ, { "BAZ", "asterix.015_V1_0_170_BAZ", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_170_BAZ), 0x40, NULL, HFILL } }, { &hf_015_V1_0_170_TUR, { "TUR", "asterix.015_V1_0_170_TUR", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_170_TUR), 0x20, NULL, HFILL } }, { &hf_015_V1_0_170_CSTP, { "CSTP, Coasted - Position", "asterix.015_V1_0_170_CSTP", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_170_CSTP), 0x08, NULL, HFILL } }, { &hf_015_V1_0_170_CSTH, { "CSTH, Coasted – Height", "asterix.015_V1_0_170_CSTH", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_170_CSTH), 0x04, NULL, HFILL } }, { &hf_015_V1_0_170_CNF, { "CNF, Confirmed vs. Tentative Track", "asterix.015_V1_0_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_0_170_CNF), 0x02, NULL, HFILL } }, { &hf_015_V1_0_270, { "270, Target Size & Orientation", "asterix.015_V1_0_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_LEN, { "LEN, Target Length", "asterix.015_V1_0_270_LEN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_LEN_VALUE, { "Target Length, [m]", "asterix.015_V1_0_270_LEN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_WDT, { "WDT, Target Width", "asterix.015_V1_0_270_WDT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_WDT_VALUE, { "Target Width, [m]", "asterix.015_V1_0_270_WDT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_HGT, { "HGT, Target Height", "asterix.015_V1_0_270_HGT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_HGT_VALUE, { "Target Height, [m]", "asterix.015_V1_0_270_HGT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_ORT, { "ORT, Target Orientation", "asterix.015_V1_0_270_ORT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_270_ORT_VALUE, { "Target Orientation, [°]", "asterix.015_V1_0_270_ORT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_300, { "300, Object Classification", "asterix.015_V1_0_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_300_CLS, { "CLS, Classification", "asterix.015_V1_0_300_CLS", FT_UINT16, BASE_DEC, NULL, 0xff80, NULL, HFILL } }, { &hf_015_V1_0_300_PRB, { "PRB, Probability", "asterix.015_V1_0_300_PRB", FT_UINT8, BASE_DEC, NULL, 0x7f, NULL, HFILL } }, { &hf_015_V1_0_400, { "400, Measurement Identifier", "asterix.015_V1_0_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_400_PID, { "PID, Pair Identifier", "asterix.015_V1_0_400_PID", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_400_ON, { "ON, Observation Number", "asterix.015_V1_0_400_ON", FT_UINT24, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_480, { "480, Associations", "asterix.015_V1_0_480", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_480_VALUE, { "Associations", "asterix.015_V1_0_480_VALUE", FT_UINT40, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600, { "600, Horizontal Position Information", "asterix.015_V1_0_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_P84, { "P84, Horizontal Position in WGS-84 Coordinates", "asterix.015_V1_0_600_P84", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_P84_LATITUDE, { "LATITUDE, [°]", "asterix.015_V1_0_600_P84_LATITUDE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_P84_LONGITUDE, { "LONGITUDE, [°]", "asterix.015_V1_0_600_P84_LONGITUDE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPR, { "HPR, Horizontal Position Resolution", "asterix.015_V1_0_600_HPR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPR_RSHPX, { "RSHPX, [m]", "asterix.015_V1_0_600_HPR_RSHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPR_RSHPY, { "RSHPY, [m]", "asterix.015_V1_0_600_HPR_RSHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPR_CORSHPXY, { "CORSHPXY", "asterix.015_V1_0_600_HPR_CORSHPXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPP, { "HPP, Horizontal Position Precision", "asterix.015_V1_0_600_HPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPP_SDHPX, { "SDHPX, [m]", "asterix.015_V1_0_600_HPP_SDHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPP_SDHPY, { "SDHPY, [m]", "asterix.015_V1_0_600_HPP_SDHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_600_HPP_COSDHPXY, { "COSDHPXY", "asterix.015_V1_0_600_HPP_COSDHPXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601, { "601, Geometric Height Information", "asterix.015_V1_0_601", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_GH, { "GH, Geometric Height (WGS-84)", "asterix.015_V1_0_601_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_GH_VALUE, { "Geometric Height (WGS-84), [m]", "asterix.015_V1_0_601_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_RSGH, { "RSGH, Geometric Height Resolution", "asterix.015_V1_0_601_RSGH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_RSGH_VALUE, { "Geometric Height Resolution, [m]", "asterix.015_V1_0_601_RSGH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_SDGH, { "SDGH, Geometric Height Precision", "asterix.015_V1_0_601_SDGH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_SDGH_VALUE, { "Geometric Height Precision, [m]", "asterix.015_V1_0_601_SDGH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_CI6, { "CI6, Confidence Interval for Geometric Height (67%)", "asterix.015_V1_0_601_CI6", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_CI6_UCI6, { "UCI6, [m]", "asterix.015_V1_0_601_CI6_UCI6", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_CI6_LCI6, { "LCI6, [m]", "asterix.015_V1_0_601_CI6_LCI6", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_CI9, { "CI9, Confidence Interval for Geometric Height (95%)", "asterix.015_V1_0_601_CI9", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_CI9_UCI9, { "UCI9, [m]", "asterix.015_V1_0_601_CI9_UCI9", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_CI9_LCI9, { "LCI9, [m]", "asterix.015_V1_0_601_CI9_LCI9", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHP, { "COGHHP, Correlation of Geometric Height and Horizontal Position", "asterix.015_V1_0_601_COGHHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHP_X, { "X", "asterix.015_V1_0_601_COGHHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHP_Y, { "Y", "asterix.015_V1_0_601_COGHHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHV, { "COGHHV, Correlation of Geometric Height and Horizontal Velocity", "asterix.015_V1_0_601_COGHHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHV_X, { "X", "asterix.015_V1_0_601_COGHHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHV_Y, { "Y", "asterix.015_V1_0_601_COGHHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHA, { "COGHHA, Correlation of Geometric Height and Horizontal Acceleration", "asterix.015_V1_0_601_COGHHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHA_X, { "X", "asterix.015_V1_0_601_COGHHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_601_COGHHA_Y, { "Y", "asterix.015_V1_0_601_COGHHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602, { "602, Horizontal Velocity Information", "asterix.015_V1_0_602", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_HV, { "HV, Horizontal Velocity Vector", "asterix.015_V1_0_602_HV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_HV_X, { "X, [m/s]", "asterix.015_V1_0_602_HV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_HV_Y, { "Y, [m/s]", "asterix.015_V1_0_602_HV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_RSHV, { "RSHV, Horizontal Velocity Resolution", "asterix.015_V1_0_602_RSHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_RSHV_X, { "X, [m/s]", "asterix.015_V1_0_602_RSHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_RSHV_Y, { "Y, [m/s]", "asterix.015_V1_0_602_RSHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_RSHV_CORSHVXY, { "CORSHVXY", "asterix.015_V1_0_602_RSHV_CORSHVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_SDHV, { "SDHV, Horizontal Velocity Precision", "asterix.015_V1_0_602_SDHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_SDHV_X, { "X, [m/s]", "asterix.015_V1_0_602_SDHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_SDHV_Y, { "Y, [m/s]", "asterix.015_V1_0_602_SDHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_SDHV_COHVXY, { "COHVXY", "asterix.015_V1_0_602_SDHV_COHVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_COHVHP, { "COHVHP, Correlation of Horizontal Velocity and Horizontal Position", "asterix.015_V1_0_602_COHVHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_COHVHP_COHVXHPX, { "COHVXHPX", "asterix.015_V1_0_602_COHVHP_COHVXHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_COHVHP_COHVXHPY, { "COHVXHPY", "asterix.015_V1_0_602_COHVHP_COHVXHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_COHVHP_COHVYHPX, { "COHVYHPX", "asterix.015_V1_0_602_COHVHP_COHVYHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_602_COHVHP_COHVYHPY, { "COHVYHPY", "asterix.015_V1_0_602_COHVHP_COHVYHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603, { "603, Horizontal Acceleration Information", "asterix.015_V1_0_603", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_HA, { "HA, Horizontal Acceleration Vector", "asterix.015_V1_0_603_HA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_HA_X, { "X, [m/s²]", "asterix.015_V1_0_603_HA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_HA_Y, { "Y, [m/s²]", "asterix.015_V1_0_603_HA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_SDHA, { "SDHA, Horizontal Acceleration Precision", "asterix.015_V1_0_603_SDHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_SDHA_X, { "X, [m/s²]", "asterix.015_V1_0_603_SDHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_SDHA_Y, { "Y, [m/s²]", "asterix.015_V1_0_603_SDHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_SDHA_COHAXY, { "COHAXY", "asterix.015_V1_0_603_SDHA_COHAXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHP, { "COHAHP, Correlation of Horizontal Acceleration and Horizontal Position", "asterix.015_V1_0_603_COHAHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHP_COHAXHPX, { "COHAXHPX", "asterix.015_V1_0_603_COHAHP_COHAXHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHP_COHAXHPY, { "COHAXHPY", "asterix.015_V1_0_603_COHAHP_COHAXHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHP_COHAYHPX, { "COHAYHPX", "asterix.015_V1_0_603_COHAHP_COHAYHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHP_COAYHPY, { "COAYHPY", "asterix.015_V1_0_603_COHAHP_COAYHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHV, { "COHAHV, Correlation of Horizontal Acceleration and Horizontal Velocity", "asterix.015_V1_0_603_COHAHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHV_COHAXHVX, { "COHAXHVX", "asterix.015_V1_0_603_COHAHV_COHAXHVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHV_COHAXHVY, { "COHAXHVY", "asterix.015_V1_0_603_COHAHV_COHAXHVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHV_COHAYHVX, { "COHAYHVX", "asterix.015_V1_0_603_COHAHV_COHAYHVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_603_COHAHV_COHAYHVY, { "COHAYHVY", "asterix.015_V1_0_603_COHAHV_COHAYHVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604, { "604, Vertical Velocity Information", "asterix.015_V1_0_604", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_VV, { "VV, Vertical Velocity", "asterix.015_V1_0_604_VV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_VV_VALUE, { "Vertical Velocity, [m/s]", "asterix.015_V1_0_604_VV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_RSVV, { "RSVV, Vertical Velocity Resolution", "asterix.015_V1_0_604_RSVV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_RSVV_VALUE, { "Vertical Velocity Resolution, [m/s]", "asterix.015_V1_0_604_RSVV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_SDVV, { "SDVV, Vertical Velocity Precision", "asterix.015_V1_0_604_SDVV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_SDVV_SDVV, { "SDVV, [m/s]", "asterix.015_V1_0_604_SDVV_SDVV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_SDVV_COVVGH, { "COVVGH", "asterix.015_V1_0_604_SDVV_COVVGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHP, { "COVVHP, Correlation of Vertical Velocity and Horizontal Position", "asterix.015_V1_0_604_COVVHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHP_X, { "X", "asterix.015_V1_0_604_COVVHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHP_Y, { "Y", "asterix.015_V1_0_604_COVVHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHV, { "COVVHV, Correlation of Vertical Velocity and Horizontal Velocity", "asterix.015_V1_0_604_COVVHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHV_X, { "X", "asterix.015_V1_0_604_COVVHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHV_Y, { "Y", "asterix.015_V1_0_604_COVVHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHA, { "COVVHA, Correlation of Vertical Velocity and Horizontal Acceleration", "asterix.015_V1_0_604_COVVHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHA_X, { "X", "asterix.015_V1_0_604_COVVHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_604_COVVHA_Y, { "Y", "asterix.015_V1_0_604_COVVHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605, { "605, Vertical Velocity Information", "asterix.015_V1_0_605", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_VA, { "VA, Vertical Acceleration", "asterix.015_V1_0_605_VA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_VA_VALUE, { "Vertical Acceleration, [m/s²]", "asterix.015_V1_0_605_VA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_RSVA, { "RSVA, Vertical Acceleration Precision", "asterix.015_V1_0_605_RSVA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_RSVA_SDVA, { "SDVA, [m/s²]", "asterix.015_V1_0_605_RSVA_SDVA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_RSVA_COVAGH, { "COVAGH", "asterix.015_V1_0_605_RSVA_COVAGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_RSVA_COVAVV, { "COVAVV", "asterix.015_V1_0_605_RSVA_COVAVV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHP, { "COVAHP, Correlation of Vertical Acceleration and Horizontal Position", "asterix.015_V1_0_605_COVAHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHP_X, { "X", "asterix.015_V1_0_605_COVAHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHP_Y, { "Y", "asterix.015_V1_0_605_COVAHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHV, { "COVAHV, Correlation of Vertical Acceleration and Horizontal Velocity", "asterix.015_V1_0_605_COVAHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHV_X, { "X", "asterix.015_V1_0_605_COVAHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHV_Y, { "Y", "asterix.015_V1_0_605_COVAHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHA, { "COVAHA, Correlation of Vertical Acceleration and Horizontal Acceleration", "asterix.015_V1_0_605_COVAHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHA_X, { "X", "asterix.015_V1_0_605_COVAHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_605_COVAHA_Y, { "Y", "asterix.015_V1_0_605_COVAHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625, { "625, Range Information", "asterix.015_V1_0_625", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_R, { "R, Range", "asterix.015_V1_0_625_R", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_R_VALUE, { "Range, [m]", "asterix.015_V1_0_625_R_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RSR, { "RSR, Range Resolution", "asterix.015_V1_0_625_RSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RSR_VALUE, { "Range Resolution, [m]", "asterix.015_V1_0_625_RSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDR, { "SDR, Range Precision", "asterix.015_V1_0_625_SDR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDR_VALUE, { "Range Precision, [m]", "asterix.015_V1_0_625_SDR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RR, { "RR, Range Rate", "asterix.015_V1_0_625_RR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RR_VALUE, { "Range Rate, [m/s]", "asterix.015_V1_0_625_RR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RSRR, { "RSRR, Range Rate Resolution", "asterix.015_V1_0_625_RSRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RSRR_VALUE, { "Range Rate Resolution, [m/s]", "asterix.015_V1_0_625_RSRR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDRR, { "SDRR, Range Rate Precision", "asterix.015_V1_0_625_SDRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDRR_SDRR, { "SDRR, [m/s]", "asterix.015_V1_0_625_SDRR_SDRR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDRR_CORRR, { "CORRR", "asterix.015_V1_0_625_SDRR_CORRR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RA, { "RA, Range Acceleration", "asterix.015_V1_0_625_RA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_RA_VALUE, { "Range Acceleration, [m/s²]", "asterix.015_V1_0_625_RA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDRA, { "SDRA, Range Acceleration Precision", "asterix.015_V1_0_625_SDRA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDRA_SDRA, { "SDRA, [m/s²]", "asterix.015_V1_0_625_SDRA_SDRA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDRA_CORAR, { "CORAR", "asterix.015_V1_0_625_SDRA_CORAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_625_SDRA_CORARR, { "CORARR", "asterix.015_V1_0_625_SDRA_CORARR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626, { "626, Doppler Information", "asterix.015_V1_0_626", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_DV, { "DV, Doppler Velocity", "asterix.015_V1_0_626_DV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_DV_VALUE, { "Doppler Velocity, [m/s]", "asterix.015_V1_0_626_DV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_SDDV, { "SDDV, Precision of Doppler Velocity", "asterix.015_V1_0_626_SDDV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_SDDV_VALUE, { "Precision of Doppler Velocity, [m/s]", "asterix.015_V1_0_626_SDDV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_DA, { "DA, Doppler Acceleration", "asterix.015_V1_0_626_DA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_DA_VALUE, { "Doppler Acceleration, [m/s²]", "asterix.015_V1_0_626_DA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_SDDA, { "SDDA, Precision of Doppler Acceleration", "asterix.015_V1_0_626_SDDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_SDDA_SDDA, { "SDDA, [m/s²]", "asterix.015_V1_0_626_SDDA_SDDA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_SDDA_CODADV, { "CODADV", "asterix.015_V1_0_626_SDDA_CODADV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODVR, { "CODVR, Correlation of Doppler Velocity and Range", "asterix.015_V1_0_626_CODVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODVR_VALUE, { "Correlation of Doppler Velocity and Range", "asterix.015_V1_0_626_CODVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODVRR, { "CODVRR, Correlation of Doppler Velocity and Range Rate", "asterix.015_V1_0_626_CODVRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODVRR_VALUE, { "Correlation of Doppler Velocity and Range Rate", "asterix.015_V1_0_626_CODVRR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODVRA, { "CODVRA, Correlation of Doppler Velocity and Range Acceleration", "asterix.015_V1_0_626_CODVRA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODVRA_VALUE, { "Correlation of Doppler Velocity and Range Acceleration", "asterix.015_V1_0_626_CODVRA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODAR, { "CODAR, Correlation of Doppler Acceleration and Range", "asterix.015_V1_0_626_CODAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODAR_VALUE, { "Correlation of Doppler Acceleration and Range", "asterix.015_V1_0_626_CODAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODARR, { "CODARR, Correlation of Doppler Acceleration and Range Rate", "asterix.015_V1_0_626_CODARR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODARR_VALUE, { "Correlation of Doppler Acceleration and Range Rate", "asterix.015_V1_0_626_CODARR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODARA, { "CODARA, Correlation of Doppler Acceleration and Range Acceleration", "asterix.015_V1_0_626_CODARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_626_CODARA_VALUE, { "Correlation of Doppler Acceleration and Range Acceleration", "asterix.015_V1_0_626_CODARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627, { "627, Azimuth Information", "asterix.015_V1_0_627", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_AZ, { "AZ, Azimuth", "asterix.015_V1_0_627_AZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_AZ_VALUE, { "Azimuth, [°]", "asterix.015_V1_0_627_AZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_RSAZ, { "RSAZ, Azimuth Resolution", "asterix.015_V1_0_627_RSAZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_RSAZ_VALUE, { "Azimuth Resolution, [°]", "asterix.015_V1_0_627_RSAZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_SDASZ, { "SDASZ, Standard Deviation of Azimuth", "asterix.015_V1_0_627_SDASZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_SDASZ_VALUE, { "Standard Deviation of Azimuth, [°]", "asterix.015_V1_0_627_SDASZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_AZR, { "AZR, Azimuth Rate", "asterix.015_V1_0_627_AZR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_AZR_VALUE, { "Azimuth Rate, [°]", "asterix.015_V1_0_627_AZR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_SDAZR, { "SDAZR, Standard Deviation of Azimuth Rate", "asterix.015_V1_0_627_SDAZR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_SDAZR_SDAZR, { "SDAZR, [°]", "asterix.015_V1_0_627_SDAZR_SDAZR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_SDAZR_COAZRAZ, { "COAZRAZ", "asterix.015_V1_0_627_SDAZR_COAZRAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_AZEX, { "AZEX, Azimuth Extent", "asterix.015_V1_0_627_AZEX", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_AZEX_S, { "S, [°]", "asterix.015_V1_0_627_AZEX_S", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_627_AZEX_E, { "E, [°]", "asterix.015_V1_0_627_AZEX_E", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628, { "628, Elevation Information", "asterix.015_V1_0_628", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_EL, { "EL, Elevation", "asterix.015_V1_0_628_EL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_EL_VALUE, { "Elevation, [°]", "asterix.015_V1_0_628_EL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_RSEL, { "RSEL, Elevation Resolution", "asterix.015_V1_0_628_RSEL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_RSEL_VALUE, { "Elevation Resolution, [°]", "asterix.015_V1_0_628_RSEL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_SDEL, { "SDEL, Standard Deviation of Elevation", "asterix.015_V1_0_628_SDEL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_SDEL_VALUE, { "Standard Deviation of Elevation, [°]", "asterix.015_V1_0_628_SDEL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_ER, { "ER, Elevation Rate", "asterix.015_V1_0_628_ER", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_ER_VALUE, { "Elevation Rate, [°/s]", "asterix.015_V1_0_628_ER_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_SDER, { "SDER, Standard Deviation of Elevation Rate", "asterix.015_V1_0_628_SDER", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_SDER_SDELR, { "SDELR, [°/s]", "asterix.015_V1_0_628_SDER_SDELR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_SDER_COELREL, { "COELREL", "asterix.015_V1_0_628_SDER_COELREL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_ELEX, { "ELEX, Elevation Extent", "asterix.015_V1_0_628_ELEX", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_ELEX_S, { "S, [°]", "asterix.015_V1_0_628_ELEX_S", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_628_ELEX_E, { "E, [°]", "asterix.015_V1_0_628_ELEX_E", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630, { "630, Path Quality", "asterix.015_V1_0_630", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_DPP, { "DPP, Direct Path - Power", "asterix.015_V1_0_630_DPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_DPP_VALUE, { "Direct Path - Power, [dB]", "asterix.015_V1_0_630_DPP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_DPS, { "DPS, Direct Path - Signal to Noise Ratio (SNR)", "asterix.015_V1_0_630_DPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_DPS_VALUE, { "Direct Path - Signal to Noise Ratio (SNR), [dB]", "asterix.015_V1_0_630_DPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_RPP, { "RPP, Reflected Path - Power", "asterix.015_V1_0_630_RPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_RPP_RPP, { "RPP, [dB]", "asterix.015_V1_0_630_RPP_RPP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_RPS, { "RPS, Reflected Path - Signal to Noise Ratio (SNR)", "asterix.015_V1_0_630_RPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_630_RPS_VALUE, { "Reflected Path - Signal to Noise Ratio (SNR), [dB]", "asterix.015_V1_0_630_RPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_631, { "631, Contour (Azimuth, Elevation Angle, Range Extent)", "asterix.015_V1_0_631", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_631_AZCON, { "AZCON, [°]", "asterix.015_V1_0_631_AZCON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_631_ELCON, { "ELCON, [°]", "asterix.015_V1_0_631_ELCON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_631_RGCONSTOP, { "RGCONSTOP, [m]", "asterix.015_V1_0_631_RGCONSTOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_631_RGCONSTART, { "RGCONSTART, [m]", "asterix.015_V1_0_631_RGCONSTART", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_0_SP, { "SP, Special Purpose Field", "asterix.015_V1_0_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_000, { "000, Message Type", "asterix.015_V1_1_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_000_MT, { "MT, Message Type", "asterix.015_V1_1_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_000_MT), 0xfe, NULL, HFILL } }, { &hf_015_V1_1_000_RG, { "RG, Report Generation", "asterix.015_V1_1_000_RG", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_000_RG), 0x01, NULL, HFILL } }, { &hf_015_V1_1_010, { "010, Data Source Identifier", "asterix.015_V1_1_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_010_SAC, { "SAC, System Area Code", "asterix.015_V1_1_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_010_SIC, { "SIC, System Identification Code", "asterix.015_V1_1_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_015, { "015, Service Identification", "asterix.015_V1_1_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_015_VALUE, { "Service Identification", "asterix.015_V1_1_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_020, { "020, Target Report Descriptor", "asterix.015_V1_1_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_020_MOMU, { "MOMU, Mono-Static Target Report or Multi-Static Target Report", "asterix.015_V1_1_020_MOMU", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_020_MOMU), 0xc0, NULL, HFILL } }, { &hf_015_V1_1_020_TTAX, { "TTAX, Target Taxonomy", "asterix.015_V1_1_020_TTAX", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_020_TTAX), 0x30, NULL, HFILL } }, { &hf_015_V1_1_020_SCD, { "SCD, Scanning Direction", "asterix.015_V1_1_020_SCD", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_020_SCD), 0x0c, NULL, HFILL } }, { &hf_015_V1_1_030, { "030, Warning/Error Conditions", "asterix.015_V1_1_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_030_Subitem, { "Subitem, Subitem", "asterix.015_V1_1_030_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_015_V1_1_050, { "050, Update Period", "asterix.015_V1_1_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_050_UPD, { "UPD, Update Period, [s]", "asterix.015_V1_1_050_UPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_145, { "145, Time of Applicability", "asterix.015_V1_1_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_145_VALUE, { "Time of Applicability, [s]", "asterix.015_V1_1_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_161, { "161, Track/Plot Number", "asterix.015_V1_1_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_161_VALUE, { "Track/Plot Number", "asterix.015_V1_1_161_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_170, { "170, Track/Plot Status", "asterix.015_V1_1_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_170_BIZ, { "BIZ", "asterix.015_V1_1_170_BIZ", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_170_BIZ), 0x80, NULL, HFILL } }, { &hf_015_V1_1_170_BAZ, { "BAZ", "asterix.015_V1_1_170_BAZ", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_170_BAZ), 0x40, NULL, HFILL } }, { &hf_015_V1_1_170_TUR, { "TUR", "asterix.015_V1_1_170_TUR", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_170_TUR), 0x20, NULL, HFILL } }, { &hf_015_V1_1_170_CSTP, { "CSTP, Coasted - Position", "asterix.015_V1_1_170_CSTP", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_170_CSTP), 0x08, NULL, HFILL } }, { &hf_015_V1_1_170_CSTH, { "CSTH, Coasted – Height", "asterix.015_V1_1_170_CSTH", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_170_CSTH), 0x04, NULL, HFILL } }, { &hf_015_V1_1_170_CNF, { "CNF, Confirmed vs. Tentative Track", "asterix.015_V1_1_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_015_V1_1_170_CNF), 0x02, NULL, HFILL } }, { &hf_015_V1_1_270, { "270, Target Size & Orientation", "asterix.015_V1_1_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_LEN, { "LEN, Target Length", "asterix.015_V1_1_270_LEN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_LEN_VALUE, { "Target Length, [m]", "asterix.015_V1_1_270_LEN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_WDT, { "WDT, Target Width", "asterix.015_V1_1_270_WDT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_WDT_VALUE, { "Target Width, [m]", "asterix.015_V1_1_270_WDT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_HGT, { "HGT, Target Height", "asterix.015_V1_1_270_HGT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_HGT_VALUE, { "Target Height, [m]", "asterix.015_V1_1_270_HGT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_ORT, { "ORT, Target Orientation", "asterix.015_V1_1_270_ORT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_270_ORT_VALUE, { "Target Orientation, [°]", "asterix.015_V1_1_270_ORT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_300, { "300, Object Classification", "asterix.015_V1_1_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_300_CLS, { "CLS, Classification", "asterix.015_V1_1_300_CLS", FT_UINT16, BASE_DEC, NULL, 0xff80, NULL, HFILL } }, { &hf_015_V1_1_300_PRB, { "PRB, Probability", "asterix.015_V1_1_300_PRB", FT_UINT8, BASE_DEC, NULL, 0x7f, NULL, HFILL } }, { &hf_015_V1_1_400, { "400, Measurement Identifier", "asterix.015_V1_1_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_400_PID, { "PID, Pair Identifier", "asterix.015_V1_1_400_PID", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_400_ON, { "ON, Observation Number", "asterix.015_V1_1_400_ON", FT_UINT24, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_480, { "480, Associations", "asterix.015_V1_1_480", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_480_VALUE, { "Associations", "asterix.015_V1_1_480_VALUE", FT_UINT40, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600, { "600, Horizontal Position Information", "asterix.015_V1_1_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_P84, { "P84, Horizontal Position in WGS-84 Coordinates", "asterix.015_V1_1_600_P84", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_P84_LATITUDE, { "LATITUDE, [°]", "asterix.015_V1_1_600_P84_LATITUDE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_P84_LONGITUDE, { "LONGITUDE, [°]", "asterix.015_V1_1_600_P84_LONGITUDE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPR, { "HPR, Horizontal Position Resolution", "asterix.015_V1_1_600_HPR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPR_RSHPX, { "RSHPX, [m]", "asterix.015_V1_1_600_HPR_RSHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPR_RSHPY, { "RSHPY, [m]", "asterix.015_V1_1_600_HPR_RSHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPR_CORSHPXY, { "CORSHPXY", "asterix.015_V1_1_600_HPR_CORSHPXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPP, { "HPP, Horizontal Position Precision", "asterix.015_V1_1_600_HPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPP_SDHPX, { "SDHPX, [m]", "asterix.015_V1_1_600_HPP_SDHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPP_SDHPY, { "SDHPY, [m]", "asterix.015_V1_1_600_HPP_SDHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_600_HPP_COSDHPXY, { "COSDHPXY", "asterix.015_V1_1_600_HPP_COSDHPXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601, { "601, Geometric Height Information", "asterix.015_V1_1_601", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_GH, { "GH, Geometric Height (WGS-84)", "asterix.015_V1_1_601_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_GH_VALUE, { "Geometric Height (WGS-84), [m]", "asterix.015_V1_1_601_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_RSGH, { "RSGH, Geometric Height Resolution", "asterix.015_V1_1_601_RSGH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_RSGH_VALUE, { "Geometric Height Resolution, [m]", "asterix.015_V1_1_601_RSGH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_SDGH, { "SDGH, Geometric Height Precision", "asterix.015_V1_1_601_SDGH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_SDGH_VALUE, { "Geometric Height Precision, [m]", "asterix.015_V1_1_601_SDGH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_CI6, { "CI6, Confidence Interval for Geometric Height (67%)", "asterix.015_V1_1_601_CI6", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_CI6_UCI6, { "UCI6, [m]", "asterix.015_V1_1_601_CI6_UCI6", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_CI6_LCI6, { "LCI6, [m]", "asterix.015_V1_1_601_CI6_LCI6", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_CI9, { "CI9, Confidence Interval for Geometric Height (95%)", "asterix.015_V1_1_601_CI9", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_CI9_UCI9, { "UCI9, [m]", "asterix.015_V1_1_601_CI9_UCI9", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_CI9_LCI9, { "LCI9, [m]", "asterix.015_V1_1_601_CI9_LCI9", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHP, { "COGHHP, Correlation of Geometric Height and Horizontal Position", "asterix.015_V1_1_601_COGHHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHP_X, { "X", "asterix.015_V1_1_601_COGHHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHP_Y, { "Y", "asterix.015_V1_1_601_COGHHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHV, { "COGHHV, Correlation of Geometric Height and Horizontal Velocity", "asterix.015_V1_1_601_COGHHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHV_X, { "X", "asterix.015_V1_1_601_COGHHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHV_Y, { "Y", "asterix.015_V1_1_601_COGHHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHA, { "COGHHA, Correlation of Geometric Height and Horizontal Acceleration", "asterix.015_V1_1_601_COGHHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHA_X, { "X", "asterix.015_V1_1_601_COGHHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_601_COGHHA_Y, { "Y", "asterix.015_V1_1_601_COGHHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602, { "602, Horizontal Velocity Information", "asterix.015_V1_1_602", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_HV, { "HV, Horizontal Velocity Vector", "asterix.015_V1_1_602_HV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_HV_X, { "X, [m/s]", "asterix.015_V1_1_602_HV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_HV_Y, { "Y, [m/s]", "asterix.015_V1_1_602_HV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_RSHV, { "RSHV, Horizontal Velocity Resolution", "asterix.015_V1_1_602_RSHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_RSHV_X, { "X, [m/s]", "asterix.015_V1_1_602_RSHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_RSHV_Y, { "Y, [m/s]", "asterix.015_V1_1_602_RSHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_RSHV_CORSHVXY, { "CORSHVXY", "asterix.015_V1_1_602_RSHV_CORSHVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_SDHV, { "SDHV, Horizontal Velocity Precision", "asterix.015_V1_1_602_SDHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_SDHV_X, { "X, [m/s]", "asterix.015_V1_1_602_SDHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_SDHV_Y, { "Y, [m/s]", "asterix.015_V1_1_602_SDHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_SDHV_COHVXY, { "COHVXY", "asterix.015_V1_1_602_SDHV_COHVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_COHVHP, { "COHVHP, Correlation of Horizontal Velocity and Horizontal Position", "asterix.015_V1_1_602_COHVHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_COHVHP_COHVXHPX, { "COHVXHPX", "asterix.015_V1_1_602_COHVHP_COHVXHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_COHVHP_COHVXHPY, { "COHVXHPY", "asterix.015_V1_1_602_COHVHP_COHVXHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_COHVHP_COHVYHPX, { "COHVYHPX", "asterix.015_V1_1_602_COHVHP_COHVYHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_602_COHVHP_COHVYHPY, { "COHVYHPY", "asterix.015_V1_1_602_COHVHP_COHVYHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603, { "603, Horizontal Acceleration Information", "asterix.015_V1_1_603", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_HA, { "HA, Horizontal Acceleration Vector", "asterix.015_V1_1_603_HA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_HA_X, { "X, [m/s²]", "asterix.015_V1_1_603_HA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_HA_Y, { "Y, [m/s²]", "asterix.015_V1_1_603_HA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_SDHA, { "SDHA, Horizontal Acceleration Precision", "asterix.015_V1_1_603_SDHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_SDHA_X, { "X, [m/s²]", "asterix.015_V1_1_603_SDHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_SDHA_Y, { "Y, [m/s²]", "asterix.015_V1_1_603_SDHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_SDHA_COHAXY, { "COHAXY", "asterix.015_V1_1_603_SDHA_COHAXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHP, { "COHAHP, Correlation of Horizontal Acceleration and Horizontal Position", "asterix.015_V1_1_603_COHAHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHP_COHAXHPX, { "COHAXHPX", "asterix.015_V1_1_603_COHAHP_COHAXHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHP_COHAXHPY, { "COHAXHPY", "asterix.015_V1_1_603_COHAHP_COHAXHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHP_COHAYHPX, { "COHAYHPX", "asterix.015_V1_1_603_COHAHP_COHAYHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHP_COAYHPY, { "COAYHPY", "asterix.015_V1_1_603_COHAHP_COAYHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHV, { "COHAHV, Correlation of Horizontal Acceleration and Horizontal Velocity", "asterix.015_V1_1_603_COHAHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHV_COHAXHVX, { "COHAXHVX", "asterix.015_V1_1_603_COHAHV_COHAXHVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHV_COHAXHVY, { "COHAXHVY", "asterix.015_V1_1_603_COHAHV_COHAXHVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHV_COHAYHVX, { "COHAYHVX", "asterix.015_V1_1_603_COHAHV_COHAYHVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_603_COHAHV_COHAYHVY, { "COHAYHVY", "asterix.015_V1_1_603_COHAHV_COHAYHVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604, { "604, Vertical Velocity Information", "asterix.015_V1_1_604", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_VV, { "VV, Vertical Velocity", "asterix.015_V1_1_604_VV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_VV_VALUE, { "Vertical Velocity, [m/s]", "asterix.015_V1_1_604_VV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_RSVV, { "RSVV, Vertical Velocity Resolution", "asterix.015_V1_1_604_RSVV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_RSVV_VALUE, { "Vertical Velocity Resolution, [m/s]", "asterix.015_V1_1_604_RSVV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_SDVV, { "SDVV, Vertical Velocity Precision", "asterix.015_V1_1_604_SDVV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_SDVV_SDVV, { "SDVV, [m/s]", "asterix.015_V1_1_604_SDVV_SDVV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_SDVV_COVVGH, { "COVVGH", "asterix.015_V1_1_604_SDVV_COVVGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHP, { "COVVHP, Correlation of Vertical Velocity and Horizontal Position", "asterix.015_V1_1_604_COVVHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHP_X, { "X", "asterix.015_V1_1_604_COVVHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHP_Y, { "Y", "asterix.015_V1_1_604_COVVHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHV, { "COVVHV, Correlation of Vertical Velocity and Horizontal Velocity", "asterix.015_V1_1_604_COVVHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHV_X, { "X", "asterix.015_V1_1_604_COVVHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHV_Y, { "Y", "asterix.015_V1_1_604_COVVHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHA, { "COVVHA, Correlation of Vertical Velocity and Horizontal Acceleration", "asterix.015_V1_1_604_COVVHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHA_X, { "X", "asterix.015_V1_1_604_COVVHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_604_COVVHA_Y, { "Y", "asterix.015_V1_1_604_COVVHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605, { "605, Vertical Velocity Information", "asterix.015_V1_1_605", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_VA, { "VA, Vertical Acceleration", "asterix.015_V1_1_605_VA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_VA_VALUE, { "Vertical Acceleration, [m/s²]", "asterix.015_V1_1_605_VA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_RSVA, { "RSVA, Vertical Acceleration Precision", "asterix.015_V1_1_605_RSVA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_RSVA_SDVA, { "SDVA, [m/s²]", "asterix.015_V1_1_605_RSVA_SDVA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_RSVA_COVAGH, { "COVAGH", "asterix.015_V1_1_605_RSVA_COVAGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_RSVA_COVAVV, { "COVAVV", "asterix.015_V1_1_605_RSVA_COVAVV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHP, { "COVAHP, Correlation of Vertical Acceleration and Horizontal Position", "asterix.015_V1_1_605_COVAHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHP_X, { "X", "asterix.015_V1_1_605_COVAHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHP_Y, { "Y", "asterix.015_V1_1_605_COVAHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHV, { "COVAHV, Correlation of Vertical Acceleration and Horizontal Velocity", "asterix.015_V1_1_605_COVAHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHV_X, { "X", "asterix.015_V1_1_605_COVAHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHV_Y, { "Y", "asterix.015_V1_1_605_COVAHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHA, { "COVAHA, Correlation of Vertical Acceleration and Horizontal Acceleration", "asterix.015_V1_1_605_COVAHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHA_X, { "X", "asterix.015_V1_1_605_COVAHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_605_COVAHA_Y, { "Y", "asterix.015_V1_1_605_COVAHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625, { "625, Range Information", "asterix.015_V1_1_625", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_R, { "R, Range", "asterix.015_V1_1_625_R", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_R_VALUE, { "Range, [m]", "asterix.015_V1_1_625_R_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RSR, { "RSR, Range Resolution", "asterix.015_V1_1_625_RSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RSR_VALUE, { "Range Resolution, [m]", "asterix.015_V1_1_625_RSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDR, { "SDR, Range Precision", "asterix.015_V1_1_625_SDR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDR_VALUE, { "Range Precision, [m]", "asterix.015_V1_1_625_SDR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RR, { "RR, Range Rate", "asterix.015_V1_1_625_RR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RR_VALUE, { "Range Rate, [m/s]", "asterix.015_V1_1_625_RR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RSRR, { "RSRR, Range Rate Resolution", "asterix.015_V1_1_625_RSRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RSRR_VALUE, { "Range Rate Resolution, [m/s]", "asterix.015_V1_1_625_RSRR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDRR, { "SDRR, Range Rate Precision", "asterix.015_V1_1_625_SDRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDRR_SDRR, { "SDRR, [m/s]", "asterix.015_V1_1_625_SDRR_SDRR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDRR_CORRR, { "CORRR", "asterix.015_V1_1_625_SDRR_CORRR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RA, { "RA, Range Acceleration", "asterix.015_V1_1_625_RA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_RA_VALUE, { "Range Acceleration, [m/s²]", "asterix.015_V1_1_625_RA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDRA, { "SDRA, Range Acceleration Precision", "asterix.015_V1_1_625_SDRA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDRA_SDRA, { "SDRA, [m/s²]", "asterix.015_V1_1_625_SDRA_SDRA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDRA_CORAR, { "CORAR", "asterix.015_V1_1_625_SDRA_CORAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_625_SDRA_CORARR, { "CORARR", "asterix.015_V1_1_625_SDRA_CORARR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626, { "626, Doppler Information", "asterix.015_V1_1_626", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_DV, { "DV, Doppler Velocity", "asterix.015_V1_1_626_DV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_DV_VALUE, { "Doppler Velocity, [m/s]", "asterix.015_V1_1_626_DV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_SDDV, { "SDDV, Precision of Doppler Velocity", "asterix.015_V1_1_626_SDDV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_SDDV_VALUE, { "Precision of Doppler Velocity, [m/s]", "asterix.015_V1_1_626_SDDV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_DA, { "DA, Doppler Acceleration", "asterix.015_V1_1_626_DA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_DA_VALUE, { "Doppler Acceleration, [m/s²]", "asterix.015_V1_1_626_DA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_SDDA, { "SDDA, Precision of Doppler Acceleration", "asterix.015_V1_1_626_SDDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_SDDA_SDDA, { "SDDA, [m/s²]", "asterix.015_V1_1_626_SDDA_SDDA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_SDDA_CODADV, { "CODADV", "asterix.015_V1_1_626_SDDA_CODADV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODVR, { "CODVR, Correlation of Doppler Velocity and Range", "asterix.015_V1_1_626_CODVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODVR_VALUE, { "Correlation of Doppler Velocity and Range", "asterix.015_V1_1_626_CODVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODVRR, { "CODVRR, Correlation of Doppler Velocity and Range Rate", "asterix.015_V1_1_626_CODVRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODVRR_VALUE, { "Correlation of Doppler Velocity and Range Rate", "asterix.015_V1_1_626_CODVRR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODVRA, { "CODVRA, Correlation of Doppler Velocity and Range Acceleration", "asterix.015_V1_1_626_CODVRA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODVRA_VALUE, { "Correlation of Doppler Velocity and Range Acceleration", "asterix.015_V1_1_626_CODVRA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODAR, { "CODAR, Correlation of Doppler Acceleration and Range", "asterix.015_V1_1_626_CODAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODAR_VALUE, { "Correlation of Doppler Acceleration and Range", "asterix.015_V1_1_626_CODAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODARR, { "CODARR, Correlation of Doppler Acceleration and Range Rate", "asterix.015_V1_1_626_CODARR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODARR_VALUE, { "Correlation of Doppler Acceleration and Range Rate", "asterix.015_V1_1_626_CODARR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODARA, { "CODARA, Correlation of Doppler Acceleration and Range Acceleration", "asterix.015_V1_1_626_CODARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_626_CODARA_VALUE, { "Correlation of Doppler Acceleration and Range Acceleration", "asterix.015_V1_1_626_CODARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627, { "627, Azimuth Information", "asterix.015_V1_1_627", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_AZ, { "AZ, Azimuth", "asterix.015_V1_1_627_AZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_AZ_VALUE, { "Azimuth, [°]", "asterix.015_V1_1_627_AZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_RSAZ, { "RSAZ, Azimuth Resolution", "asterix.015_V1_1_627_RSAZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_RSAZ_VALUE, { "Azimuth Resolution, [°]", "asterix.015_V1_1_627_RSAZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_SDASZ, { "SDASZ, Standard Deviation of Azimuth", "asterix.015_V1_1_627_SDASZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_SDASZ_VALUE, { "Standard Deviation of Azimuth, [°]", "asterix.015_V1_1_627_SDASZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_AZR, { "AZR, Azimuth Rate", "asterix.015_V1_1_627_AZR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_AZR_VALUE, { "Azimuth Rate, [°]", "asterix.015_V1_1_627_AZR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_SDAZR, { "SDAZR, Standard Deviation of Azimuth Rate", "asterix.015_V1_1_627_SDAZR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_SDAZR_SDAZR, { "SDAZR, [°]", "asterix.015_V1_1_627_SDAZR_SDAZR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_SDAZR_COAZRAZ, { "COAZRAZ", "asterix.015_V1_1_627_SDAZR_COAZRAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_AZEX, { "AZEX, Azimuth Extent", "asterix.015_V1_1_627_AZEX", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_AZEX_S, { "S, [°]", "asterix.015_V1_1_627_AZEX_S", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_627_AZEX_E, { "E, [°]", "asterix.015_V1_1_627_AZEX_E", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628, { "628, Elevation Information", "asterix.015_V1_1_628", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_EL, { "EL, Elevation", "asterix.015_V1_1_628_EL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_EL_VALUE, { "Elevation, [°]", "asterix.015_V1_1_628_EL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_RSEL, { "RSEL, Elevation Resolution", "asterix.015_V1_1_628_RSEL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_RSEL_VALUE, { "Elevation Resolution, [°]", "asterix.015_V1_1_628_RSEL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_SDEL, { "SDEL, Standard Deviation of Elevation", "asterix.015_V1_1_628_SDEL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_SDEL_VALUE, { "Standard Deviation of Elevation, [°]", "asterix.015_V1_1_628_SDEL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_ER, { "ER, Elevation Rate", "asterix.015_V1_1_628_ER", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_ER_VALUE, { "Elevation Rate, [°/s]", "asterix.015_V1_1_628_ER_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_SDER, { "SDER, Standard Deviation of Elevation Rate", "asterix.015_V1_1_628_SDER", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_SDER_SDELR, { "SDELR, [°/s]", "asterix.015_V1_1_628_SDER_SDELR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_SDER_COELREL, { "COELREL", "asterix.015_V1_1_628_SDER_COELREL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_ELEX, { "ELEX, Elevation Extent", "asterix.015_V1_1_628_ELEX", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_ELEX_S, { "S, [°]", "asterix.015_V1_1_628_ELEX_S", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_628_ELEX_E, { "E, [°]", "asterix.015_V1_1_628_ELEX_E", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630, { "630, Path Quality", "asterix.015_V1_1_630", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_DPP, { "DPP, Direct Path - Power", "asterix.015_V1_1_630_DPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_DPP_VALUE, { "Direct Path - Power, [dB]", "asterix.015_V1_1_630_DPP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_DPS, { "DPS, Direct Path - Signal to Noise Ratio (SNR)", "asterix.015_V1_1_630_DPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_DPS_VALUE, { "Direct Path - Signal to Noise Ratio (SNR), [dB]", "asterix.015_V1_1_630_DPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_RPP, { "RPP, Reflected Path - Power", "asterix.015_V1_1_630_RPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_RPP_RPP, { "RPP, [dB]", "asterix.015_V1_1_630_RPP_RPP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_RPS, { "RPS, Reflected Path - Signal to Noise Ratio (SNR)", "asterix.015_V1_1_630_RPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_630_RPS_VALUE, { "Reflected Path - Signal to Noise Ratio (SNR), [dB]", "asterix.015_V1_1_630_RPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_631, { "631, Contour (Azimuth, Elevation Angle, Range Extent)", "asterix.015_V1_1_631", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_631_AZCON, { "AZCON, [°]", "asterix.015_V1_1_631_AZCON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_631_ELCON, { "ELCON, [°]", "asterix.015_V1_1_631_ELCON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_631_RGCONSTOP, { "RGCONSTOP, [m]", "asterix.015_V1_1_631_RGCONSTOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_631_RGCONSTART, { "RGCONSTART, [m]", "asterix.015_V1_1_631_RGCONSTART", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_V1_1_SP, { "SP, Special Purpose Field", "asterix.015_V1_1_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_000, { "000, Message Type", "asterix.015_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_000_MT, { "MT, Message Type", "asterix.015_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_015_000_MT), 0xfe, NULL, HFILL } }, { &hf_015_000_RG, { "RG, Report Generation", "asterix.015_000_RG", FT_UINT8, BASE_DEC, VALS (valstr_015_000_RG), 0x01, NULL, HFILL } }, { &hf_015_010, { "010, Data Source Identifier", "asterix.015_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_010_SAC, { "SAC, System Area Code", "asterix.015_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_010_SIC, { "SIC, System Identification Code", "asterix.015_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_015, { "015, Service Identification", "asterix.015_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_015_VALUE, { "Service Identification", "asterix.015_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_020, { "020, Target Report Descriptor", "asterix.015_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_020_MOMU, { "MOMU, Mono-Static Target Report or Multi-Static Target Report", "asterix.015_020_MOMU", FT_UINT8, BASE_DEC, VALS (valstr_015_020_MOMU), 0xc0, NULL, HFILL } }, { &hf_015_020_TTAX, { "TTAX, Target Taxonomy", "asterix.015_020_TTAX", FT_UINT8, BASE_DEC, VALS (valstr_015_020_TTAX), 0x30, NULL, HFILL } }, { &hf_015_020_SCD, { "SCD, Scanning Direction", "asterix.015_020_SCD", FT_UINT8, BASE_DEC, VALS (valstr_015_020_SCD), 0x0c, NULL, HFILL } }, { &hf_015_030, { "030, Warning/Error Conditions", "asterix.015_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_030_Subitem, { "Subitem, Subitem", "asterix.015_030_Subitem", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_015_050, { "050, Update Period", "asterix.015_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_050_UPD, { "UPD, Update Period, [s]", "asterix.015_050_UPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_145, { "145, Time of Applicability", "asterix.015_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_145_VALUE, { "Time of Applicability, [s]", "asterix.015_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_161, { "161, Track/Plot Number", "asterix.015_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_161_VALUE, { "Track/Plot Number", "asterix.015_161_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_170, { "170, Track/Plot Status", "asterix.015_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_170_BIZ, { "BIZ", "asterix.015_170_BIZ", FT_UINT8, BASE_DEC, VALS (valstr_015_170_BIZ), 0x80, NULL, HFILL } }, { &hf_015_170_BAZ, { "BAZ", "asterix.015_170_BAZ", FT_UINT8, BASE_DEC, VALS (valstr_015_170_BAZ), 0x40, NULL, HFILL } }, { &hf_015_170_TUR, { "TUR", "asterix.015_170_TUR", FT_UINT8, BASE_DEC, VALS (valstr_015_170_TUR), 0x20, NULL, HFILL } }, { &hf_015_170_CSTP, { "CSTP, Coasted - Position", "asterix.015_170_CSTP", FT_UINT8, BASE_DEC, VALS (valstr_015_170_CSTP), 0x08, NULL, HFILL } }, { &hf_015_170_CSTH, { "CSTH, Coasted – Height", "asterix.015_170_CSTH", FT_UINT8, BASE_DEC, VALS (valstr_015_170_CSTH), 0x04, NULL, HFILL } }, { &hf_015_170_CNF, { "CNF, Confirmed vs. Tentative Track", "asterix.015_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_015_170_CNF), 0x02, NULL, HFILL } }, { &hf_015_270, { "270, Target Size & Orientation", "asterix.015_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_LEN, { "LEN, Target Length", "asterix.015_270_LEN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_LEN_VALUE, { "Target Length, [m]", "asterix.015_270_LEN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_WDT, { "WDT, Target Width", "asterix.015_270_WDT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_WDT_VALUE, { "Target Width, [m]", "asterix.015_270_WDT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_HGT, { "HGT, Target Height", "asterix.015_270_HGT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_HGT_VALUE, { "Target Height, [m]", "asterix.015_270_HGT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_ORT, { "ORT, Target Orientation", "asterix.015_270_ORT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_270_ORT_VALUE, { "Target Orientation, [°]", "asterix.015_270_ORT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_300, { "300, Object Classification", "asterix.015_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_300_CLS, { "CLS, Classification", "asterix.015_300_CLS", FT_UINT16, BASE_DEC, NULL, 0xff80, NULL, HFILL } }, { &hf_015_300_PRB, { "PRB, Probability", "asterix.015_300_PRB", FT_UINT8, BASE_DEC, NULL, 0x7f, NULL, HFILL } }, { &hf_015_400, { "400, Measurement Identifier", "asterix.015_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_400_PID, { "PID, Pair Identifier", "asterix.015_400_PID", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_400_ON, { "ON, Observation Number", "asterix.015_400_ON", FT_UINT24, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_015_480, { "480, Associations", "asterix.015_480", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_480_VALUE, { "Associations", "asterix.015_480_VALUE", FT_UINT40, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_015_600, { "600, Horizontal Position Information", "asterix.015_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_P84, { "P84, Horizontal Position in WGS-84 Coordinates", "asterix.015_600_P84", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_P84_LATITUDE, { "LATITUDE, [°]", "asterix.015_600_P84_LATITUDE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_P84_LONGITUDE, { "LONGITUDE, [°]", "asterix.015_600_P84_LONGITUDE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPR, { "HPR, Horizontal Position Resolution", "asterix.015_600_HPR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPR_RSHPX, { "RSHPX, [m]", "asterix.015_600_HPR_RSHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPR_RSHPY, { "RSHPY, [m]", "asterix.015_600_HPR_RSHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPR_CORSHPXY, { "CORSHPXY", "asterix.015_600_HPR_CORSHPXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPP, { "HPP, Horizontal Position Precision", "asterix.015_600_HPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPP_SDHPX, { "SDHPX, [m]", "asterix.015_600_HPP_SDHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPP_SDHPY, { "SDHPY, [m]", "asterix.015_600_HPP_SDHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_600_HPP_COSDHPXY, { "COSDHPXY", "asterix.015_600_HPP_COSDHPXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601, { "601, Geometric Height Information", "asterix.015_601", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_GH, { "GH, Geometric Height (WGS-84)", "asterix.015_601_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_GH_VALUE, { "Geometric Height (WGS-84), [m]", "asterix.015_601_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_RSGH, { "RSGH, Geometric Height Resolution", "asterix.015_601_RSGH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_RSGH_VALUE, { "Geometric Height Resolution, [m]", "asterix.015_601_RSGH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_SDGH, { "SDGH, Geometric Height Precision", "asterix.015_601_SDGH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_SDGH_VALUE, { "Geometric Height Precision, [m]", "asterix.015_601_SDGH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_CI6, { "CI6, Confidence Interval for Geometric Height (67%)", "asterix.015_601_CI6", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_CI6_UCI6, { "UCI6, [m]", "asterix.015_601_CI6_UCI6", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_CI6_LCI6, { "LCI6, [m]", "asterix.015_601_CI6_LCI6", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_CI9, { "CI9, Confidence Interval for Geometric Height (95%)", "asterix.015_601_CI9", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_CI9_UCI9, { "UCI9, [m]", "asterix.015_601_CI9_UCI9", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_CI9_LCI9, { "LCI9, [m]", "asterix.015_601_CI9_LCI9", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHP, { "COGHHP, Correlation of Geometric Height and Horizontal Position", "asterix.015_601_COGHHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHP_X, { "X", "asterix.015_601_COGHHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHP_Y, { "Y", "asterix.015_601_COGHHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHV, { "COGHHV, Correlation of Geometric Height and Horizontal Velocity", "asterix.015_601_COGHHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHV_X, { "X", "asterix.015_601_COGHHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHV_Y, { "Y", "asterix.015_601_COGHHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHA, { "COGHHA, Correlation of Geometric Height and Horizontal Acceleration", "asterix.015_601_COGHHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHA_X, { "X", "asterix.015_601_COGHHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_601_COGHHA_Y, { "Y", "asterix.015_601_COGHHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602, { "602, Horizontal Velocity Information", "asterix.015_602", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_HV, { "HV, Horizontal Velocity Vector", "asterix.015_602_HV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_HV_X, { "X, [m/s]", "asterix.015_602_HV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_HV_Y, { "Y, [m/s]", "asterix.015_602_HV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_RSHV, { "RSHV, Horizontal Velocity Resolution", "asterix.015_602_RSHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_RSHV_X, { "X, [m/s]", "asterix.015_602_RSHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_RSHV_Y, { "Y, [m/s]", "asterix.015_602_RSHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_RSHV_CORSHVXY, { "CORSHVXY", "asterix.015_602_RSHV_CORSHVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_SDHV, { "SDHV, Horizontal Velocity Precision", "asterix.015_602_SDHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_SDHV_X, { "X, [m/s]", "asterix.015_602_SDHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_SDHV_Y, { "Y, [m/s]", "asterix.015_602_SDHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_SDHV_COHVXY, { "COHVXY", "asterix.015_602_SDHV_COHVXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_COHVHP, { "COHVHP, Correlation of Horizontal Velocity and Horizontal Position", "asterix.015_602_COHVHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_COHVHP_COHVXHPX, { "COHVXHPX", "asterix.015_602_COHVHP_COHVXHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_COHVHP_COHVXHPY, { "COHVXHPY", "asterix.015_602_COHVHP_COHVXHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_COHVHP_COHVYHPX, { "COHVYHPX", "asterix.015_602_COHVHP_COHVYHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_602_COHVHP_COHVYHPY, { "COHVYHPY", "asterix.015_602_COHVHP_COHVYHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603, { "603, Horizontal Acceleration Information", "asterix.015_603", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_HA, { "HA, Horizontal Acceleration Vector", "asterix.015_603_HA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_HA_X, { "X, [m/s²]", "asterix.015_603_HA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_HA_Y, { "Y, [m/s²]", "asterix.015_603_HA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_SDHA, { "SDHA, Horizontal Acceleration Precision", "asterix.015_603_SDHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_SDHA_X, { "X, [m/s²]", "asterix.015_603_SDHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_SDHA_Y, { "Y, [m/s²]", "asterix.015_603_SDHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_SDHA_COHAXY, { "COHAXY", "asterix.015_603_SDHA_COHAXY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHP, { "COHAHP, Correlation of Horizontal Acceleration and Horizontal Position", "asterix.015_603_COHAHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHP_COHAXHPX, { "COHAXHPX", "asterix.015_603_COHAHP_COHAXHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHP_COHAXHPY, { "COHAXHPY", "asterix.015_603_COHAHP_COHAXHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHP_COHAYHPX, { "COHAYHPX", "asterix.015_603_COHAHP_COHAYHPX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHP_COAYHPY, { "COAYHPY", "asterix.015_603_COHAHP_COAYHPY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHV, { "COHAHV, Correlation of Horizontal Acceleration and Horizontal Velocity", "asterix.015_603_COHAHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHV_COHAXHVX, { "COHAXHVX", "asterix.015_603_COHAHV_COHAXHVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHV_COHAXHVY, { "COHAXHVY", "asterix.015_603_COHAHV_COHAXHVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHV_COHAYHVX, { "COHAYHVX", "asterix.015_603_COHAHV_COHAYHVX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_603_COHAHV_COHAYHVY, { "COHAYHVY", "asterix.015_603_COHAHV_COHAYHVY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604, { "604, Vertical Velocity Information", "asterix.015_604", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_VV, { "VV, Vertical Velocity", "asterix.015_604_VV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_VV_VALUE, { "Vertical Velocity, [m/s]", "asterix.015_604_VV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_RSVV, { "RSVV, Vertical Velocity Resolution", "asterix.015_604_RSVV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_RSVV_VALUE, { "Vertical Velocity Resolution, [m/s]", "asterix.015_604_RSVV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_SDVV, { "SDVV, Vertical Velocity Precision", "asterix.015_604_SDVV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_SDVV_SDVV, { "SDVV, [m/s]", "asterix.015_604_SDVV_SDVV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_SDVV_COVVGH, { "COVVGH", "asterix.015_604_SDVV_COVVGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHP, { "COVVHP, Correlation of Vertical Velocity and Horizontal Position", "asterix.015_604_COVVHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHP_X, { "X", "asterix.015_604_COVVHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHP_Y, { "Y", "asterix.015_604_COVVHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHV, { "COVVHV, Correlation of Vertical Velocity and Horizontal Velocity", "asterix.015_604_COVVHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHV_X, { "X", "asterix.015_604_COVVHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHV_Y, { "Y", "asterix.015_604_COVVHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHA, { "COVVHA, Correlation of Vertical Velocity and Horizontal Acceleration", "asterix.015_604_COVVHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHA_X, { "X", "asterix.015_604_COVVHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_604_COVVHA_Y, { "Y", "asterix.015_604_COVVHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605, { "605, Vertical Velocity Information", "asterix.015_605", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_VA, { "VA, Vertical Acceleration", "asterix.015_605_VA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_VA_VALUE, { "Vertical Acceleration, [m/s²]", "asterix.015_605_VA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_RSVA, { "RSVA, Vertical Acceleration Precision", "asterix.015_605_RSVA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_RSVA_SDVA, { "SDVA, [m/s²]", "asterix.015_605_RSVA_SDVA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_RSVA_COVAGH, { "COVAGH", "asterix.015_605_RSVA_COVAGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_RSVA_COVAVV, { "COVAVV", "asterix.015_605_RSVA_COVAVV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHP, { "COVAHP, Correlation of Vertical Acceleration and Horizontal Position", "asterix.015_605_COVAHP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHP_X, { "X", "asterix.015_605_COVAHP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHP_Y, { "Y", "asterix.015_605_COVAHP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHV, { "COVAHV, Correlation of Vertical Acceleration and Horizontal Velocity", "asterix.015_605_COVAHV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHV_X, { "X", "asterix.015_605_COVAHV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHV_Y, { "Y", "asterix.015_605_COVAHV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHA, { "COVAHA, Correlation of Vertical Acceleration and Horizontal Acceleration", "asterix.015_605_COVAHA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHA_X, { "X", "asterix.015_605_COVAHA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_605_COVAHA_Y, { "Y", "asterix.015_605_COVAHA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625, { "625, Range Information", "asterix.015_625", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_R, { "R, Range", "asterix.015_625_R", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_R_VALUE, { "Range, [m]", "asterix.015_625_R_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RSR, { "RSR, Range Resolution", "asterix.015_625_RSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RSR_VALUE, { "Range Resolution, [m]", "asterix.015_625_RSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDR, { "SDR, Range Precision", "asterix.015_625_SDR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDR_VALUE, { "Range Precision, [m]", "asterix.015_625_SDR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RR, { "RR, Range Rate", "asterix.015_625_RR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RR_VALUE, { "Range Rate, [m/s]", "asterix.015_625_RR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RSRR, { "RSRR, Range Rate Resolution", "asterix.015_625_RSRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RSRR_VALUE, { "Range Rate Resolution, [m/s]", "asterix.015_625_RSRR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDRR, { "SDRR, Range Rate Precision", "asterix.015_625_SDRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDRR_SDRR, { "SDRR, [m/s]", "asterix.015_625_SDRR_SDRR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDRR_CORRR, { "CORRR", "asterix.015_625_SDRR_CORRR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RA, { "RA, Range Acceleration", "asterix.015_625_RA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_RA_VALUE, { "Range Acceleration, [m/s²]", "asterix.015_625_RA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDRA, { "SDRA, Range Acceleration Precision", "asterix.015_625_SDRA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDRA_SDRA, { "SDRA, [m/s²]", "asterix.015_625_SDRA_SDRA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDRA_CORAR, { "CORAR", "asterix.015_625_SDRA_CORAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_625_SDRA_CORARR, { "CORARR", "asterix.015_625_SDRA_CORARR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626, { "626, Doppler Information", "asterix.015_626", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_DV, { "DV, Doppler Velocity", "asterix.015_626_DV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_DV_VALUE, { "Doppler Velocity, [m/s]", "asterix.015_626_DV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_SDDV, { "SDDV, Precision of Doppler Velocity", "asterix.015_626_SDDV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_SDDV_VALUE, { "Precision of Doppler Velocity, [m/s]", "asterix.015_626_SDDV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_DA, { "DA, Doppler Acceleration", "asterix.015_626_DA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_DA_VALUE, { "Doppler Acceleration, [m/s²]", "asterix.015_626_DA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_SDDA, { "SDDA, Precision of Doppler Acceleration", "asterix.015_626_SDDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_SDDA_SDDA, { "SDDA, [m/s²]", "asterix.015_626_SDDA_SDDA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_SDDA_CODADV, { "CODADV", "asterix.015_626_SDDA_CODADV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODVR, { "CODVR, Correlation of Doppler Velocity and Range", "asterix.015_626_CODVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODVR_VALUE, { "Correlation of Doppler Velocity and Range", "asterix.015_626_CODVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODVRR, { "CODVRR, Correlation of Doppler Velocity and Range Rate", "asterix.015_626_CODVRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODVRR_VALUE, { "Correlation of Doppler Velocity and Range Rate", "asterix.015_626_CODVRR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODVRA, { "CODVRA, Correlation of Doppler Velocity and Range Acceleration", "asterix.015_626_CODVRA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODVRA_VALUE, { "Correlation of Doppler Velocity and Range Acceleration", "asterix.015_626_CODVRA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODAR, { "CODAR, Correlation of Doppler Acceleration and Range", "asterix.015_626_CODAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODAR_VALUE, { "Correlation of Doppler Acceleration and Range", "asterix.015_626_CODAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODARR, { "CODARR, Correlation of Doppler Acceleration and Range Rate", "asterix.015_626_CODARR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODARR_VALUE, { "Correlation of Doppler Acceleration and Range Rate", "asterix.015_626_CODARR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODARA, { "CODARA, Correlation of Doppler Acceleration and Range Acceleration", "asterix.015_626_CODARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_626_CODARA_VALUE, { "Correlation of Doppler Acceleration and Range Acceleration", "asterix.015_626_CODARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627, { "627, Azimuth Information", "asterix.015_627", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_AZ, { "AZ, Azimuth", "asterix.015_627_AZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_AZ_VALUE, { "Azimuth, [°]", "asterix.015_627_AZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_RSAZ, { "RSAZ, Azimuth Resolution", "asterix.015_627_RSAZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_RSAZ_VALUE, { "Azimuth Resolution, [°]", "asterix.015_627_RSAZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_SDASZ, { "SDASZ, Standard Deviation of Azimuth", "asterix.015_627_SDASZ", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_SDASZ_VALUE, { "Standard Deviation of Azimuth, [°]", "asterix.015_627_SDASZ_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_AZR, { "AZR, Azimuth Rate", "asterix.015_627_AZR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_AZR_VALUE, { "Azimuth Rate, [°]", "asterix.015_627_AZR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_SDAZR, { "SDAZR, Standard Deviation of Azimuth Rate", "asterix.015_627_SDAZR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_SDAZR_SDAZR, { "SDAZR, [°]", "asterix.015_627_SDAZR_SDAZR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_SDAZR_COAZRAZ, { "COAZRAZ", "asterix.015_627_SDAZR_COAZRAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_AZEX, { "AZEX, Azimuth Extent", "asterix.015_627_AZEX", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_AZEX_S, { "S, [°]", "asterix.015_627_AZEX_S", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_627_AZEX_E, { "E, [°]", "asterix.015_627_AZEX_E", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628, { "628, Elevation Information", "asterix.015_628", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_EL, { "EL, Elevation", "asterix.015_628_EL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_EL_VALUE, { "Elevation, [°]", "asterix.015_628_EL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_RSEL, { "RSEL, Elevation Resolution", "asterix.015_628_RSEL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_RSEL_VALUE, { "Elevation Resolution, [°]", "asterix.015_628_RSEL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_SDEL, { "SDEL, Standard Deviation of Elevation", "asterix.015_628_SDEL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_SDEL_VALUE, { "Standard Deviation of Elevation, [°]", "asterix.015_628_SDEL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_ER, { "ER, Elevation Rate", "asterix.015_628_ER", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_ER_VALUE, { "Elevation Rate, [°/s]", "asterix.015_628_ER_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_SDER, { "SDER, Standard Deviation of Elevation Rate", "asterix.015_628_SDER", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_SDER_SDELR, { "SDELR, [°/s]", "asterix.015_628_SDER_SDELR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_SDER_COELREL, { "COELREL", "asterix.015_628_SDER_COELREL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_ELEX, { "ELEX, Elevation Extent", "asterix.015_628_ELEX", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_ELEX_S, { "S, [°]", "asterix.015_628_ELEX_S", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_628_ELEX_E, { "E, [°]", "asterix.015_628_ELEX_E", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630, { "630, Path Quality", "asterix.015_630", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_DPP, { "DPP, Direct Path - Power", "asterix.015_630_DPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_DPP_VALUE, { "Direct Path - Power, [dB]", "asterix.015_630_DPP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_DPS, { "DPS, Direct Path - Signal to Noise Ratio (SNR)", "asterix.015_630_DPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_DPS_VALUE, { "Direct Path - Signal to Noise Ratio (SNR), [dB]", "asterix.015_630_DPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_RPP, { "RPP, Reflected Path - Power", "asterix.015_630_RPP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_RPP_RPP, { "RPP, [dB]", "asterix.015_630_RPP_RPP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_RPS, { "RPS, Reflected Path - Signal to Noise Ratio (SNR)", "asterix.015_630_RPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_630_RPS_VALUE, { "Reflected Path - Signal to Noise Ratio (SNR), [dB]", "asterix.015_630_RPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_631, { "631, Contour (Azimuth, Elevation Angle, Range Extent)", "asterix.015_631", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_631_AZCON, { "AZCON, [°]", "asterix.015_631_AZCON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_631_ELCON, { "ELCON, [°]", "asterix.015_631_ELCON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_631_RGCONSTOP, { "RGCONSTOP, [m]", "asterix.015_631_RGCONSTOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_631_RGCONSTART, { "RGCONSTART, [m]", "asterix.015_631_RGCONSTART", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_015_SP, { "SP, Special Purpose Field", "asterix.015_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_000, { "000, Message Type", "asterix.016_V1_0_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_000_VALUE, { "Message Type", "asterix.016_V1_0_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_016_V1_0_000_VALUE), 0x00, NULL, HFILL } }, { &hf_016_V1_0_010, { "010, Data Source Identifier", "asterix.016_V1_0_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_010_SAC, { "SAC, System Area Code", "asterix.016_V1_0_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_010_SIC, { "SIC, System Identification Code", "asterix.016_V1_0_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_015, { "015, Service Identification", "asterix.016_V1_0_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_015_VALUE, { "Service Identification", "asterix.016_V1_0_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_140, { "140, Time of Day", "asterix.016_V1_0_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_140_VALUE, { "Time of Day, [s]", "asterix.016_V1_0_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_200, { "200, System Configuration Reporting Period", "asterix.016_V1_0_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_200_VALUE, { "System Configuration Reporting Period, [s]", "asterix.016_V1_0_200_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_300, { "300, Pair Identification", "asterix.016_V1_0_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_300_PID, { "PID, Pair Identification", "asterix.016_V1_0_300_PID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_300_TID, { "TID, Transmitter Identification", "asterix.016_V1_0_300_TID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_300_RID, { "RID, Receiver Identification", "asterix.016_V1_0_300_RID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_400, { "400, Position of the System Reference Point", "asterix.016_V1_0_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_400_LAT, { "LAT, Latitude, [°]", "asterix.016_V1_0_400_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_400_LON, { "LON, Longitude, [°]", "asterix.016_V1_0_400_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_405, { "405, Height of System Reference Point", "asterix.016_V1_0_405", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_405_VALUE, { "Height of System Reference Point, [m]", "asterix.016_V1_0_405_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410, { "410, Transmitter Properties", "asterix.016_V1_0_410", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410_TID, { "TID, Transmitter ID", "asterix.016_V1_0_410_TID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410_LAT, { "LAT, Latitude, [°]", "asterix.016_V1_0_410_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410_LON, { "LON, Longitude, [°]", "asterix.016_V1_0_410_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410_ALT, { "ALT, Altitude, [m]", "asterix.016_V1_0_410_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410_TTO, { "TTO, Transmission Time Offset, [ns]", "asterix.016_V1_0_410_TTO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410_ATO, { "ATO, Accuracy of Transmission Time Offset, [ns]", "asterix.016_V1_0_410_ATO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_410_PCI, { "PCI, Parallel Transmitter Index", "asterix.016_V1_0_410_PCI", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_420, { "420, Receiver Properties", "asterix.016_V1_0_420", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_420_RID, { "RID, Receiver Component ID", "asterix.016_V1_0_420_RID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_420_LAT, { "LAT, Latitude, [°]", "asterix.016_V1_0_420_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_420_LON, { "LON, Longitude, [°]", "asterix.016_V1_0_420_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_420_ALT, { "ALT, Altitude, [m]", "asterix.016_V1_0_420_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_V1_0_SP, { "SP, Special Purpose Field", "asterix.016_V1_0_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_000, { "000, Message Type", "asterix.016_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_000_VALUE, { "Message Type", "asterix.016_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_016_000_VALUE), 0x00, NULL, HFILL } }, { &hf_016_010, { "010, Data Source Identifier", "asterix.016_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_010_SAC, { "SAC, System Area Code", "asterix.016_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_010_SIC, { "SIC, System Identification Code", "asterix.016_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_015, { "015, Service Identification", "asterix.016_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_015_VALUE, { "Service Identification", "asterix.016_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_140, { "140, Time of Day", "asterix.016_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_140_VALUE, { "Time of Day, [s]", "asterix.016_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_200, { "200, System Configuration Reporting Period", "asterix.016_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_200_VALUE, { "System Configuration Reporting Period, [s]", "asterix.016_200_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_300, { "300, Pair Identification", "asterix.016_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_300_PID, { "PID, Pair Identification", "asterix.016_300_PID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_300_TID, { "TID, Transmitter Identification", "asterix.016_300_TID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_300_RID, { "RID, Receiver Identification", "asterix.016_300_RID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_400, { "400, Position of the System Reference Point", "asterix.016_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_400_LAT, { "LAT, Latitude, [°]", "asterix.016_400_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_400_LON, { "LON, Longitude, [°]", "asterix.016_400_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_405, { "405, Height of System Reference Point", "asterix.016_405", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_405_VALUE, { "Height of System Reference Point, [m]", "asterix.016_405_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_410, { "410, Transmitter Properties", "asterix.016_410", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_410_TID, { "TID, Transmitter ID", "asterix.016_410_TID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_410_LAT, { "LAT, Latitude, [°]", "asterix.016_410_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_410_LON, { "LON, Longitude, [°]", "asterix.016_410_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_410_ALT, { "ALT, Altitude, [m]", "asterix.016_410_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_410_TTO, { "TTO, Transmission Time Offset, [ns]", "asterix.016_410_TTO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_410_ATO, { "ATO, Accuracy of Transmission Time Offset, [ns]", "asterix.016_410_ATO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_410_PCI, { "PCI, Parallel Transmitter Index", "asterix.016_410_PCI", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_420, { "420, Receiver Properties", "asterix.016_420", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_420_RID, { "RID, Receiver Component ID", "asterix.016_420_RID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_016_420_LAT, { "LAT, Latitude, [°]", "asterix.016_420_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_420_LON, { "LON, Longitude, [°]", "asterix.016_420_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_420_ALT, { "ALT, Altitude, [m]", "asterix.016_420_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_016_SP, { "SP, Special Purpose Field", "asterix.016_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_000, { "000, Message Type", "asterix.017_V1_3_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_000_VALUE, { "Message Type", "asterix.017_V1_3_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_000_VALUE), 0x00, NULL, HFILL } }, { &hf_017_V1_3_010, { "010, Data Source Identifier", "asterix.017_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_010_SAC, { "SAC, System Area Code", "asterix.017_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.017_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_012, { "012, Data Destination Identifier", "asterix.017_V1_3_012", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_012_SAC, { "SAC, System Area Code", "asterix.017_V1_3_012_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_012_SIC, { "SIC, System Identification Code", "asterix.017_V1_3_012_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_045, { "045, Calculated Position in WGS-84 Coordinates", "asterix.017_V1_3_045", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_045_LAT, { "LAT, Latitude, [°]", "asterix.017_V1_3_045_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_045_LON, { "LON, Longitude, [°]", "asterix.017_V1_3_045_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_050, { "050, Flight Level in Binary Representation", "asterix.017_V1_3_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_050_V, { "V", "asterix.017_V1_3_050_V", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_050_V), 0x80, NULL, HFILL } }, { &hf_017_V1_3_050_G, { "G", "asterix.017_V1_3_050_G", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_050_G), 0x40, NULL, HFILL } }, { &hf_017_V1_3_050_ALT, { "ALT, Altitude, [FL]", "asterix.017_V1_3_050_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_070, { "070, Mode 3/A Code in Octal Representation", "asterix.017_V1_3_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_070_V, { "V", "asterix.017_V1_3_070_V", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_070_V), 0x80, NULL, HFILL } }, { &hf_017_V1_3_070_G, { "G", "asterix.017_V1_3_070_G", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_070_G), 0x40, NULL, HFILL } }, { &hf_017_V1_3_070_L, { "L", "asterix.017_V1_3_070_L", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_070_L), 0x20, NULL, HFILL } }, { &hf_017_V1_3_070_MODE3A, { "MODE3A, Mode 3/A Reply in Octal Representation", "asterix.017_V1_3_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_017_V1_3_140, { "140, Time of Day", "asterix.017_V1_3_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_140_VALUE, { "Time of Day, [s]", "asterix.017_V1_3_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_200, { "200, Track Velocity in Polar Co-ordinates", "asterix.017_V1_3_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.017_V1_3_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.017_V1_3_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_210, { "210, Mode S Address List", "asterix.017_V1_3_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_210_VALUE, { "Mode S Address List", "asterix.017_V1_3_210_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_220, { "220, Aircraft Address", "asterix.017_V1_3_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_220_VALUE, { "Aircraft Address", "asterix.017_V1_3_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_221, { "221, Duplicate Address Reference Number (DRN)", "asterix.017_V1_3_221", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_221_VALUE, { "Duplicate Address Reference Number (DRN)", "asterix.017_V1_3_221_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_230, { "230, Transponder Capability", "asterix.017_V1_3_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_230_CA, { "CA, Communications Capability of the Transponder", "asterix.017_V1_3_230_CA", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_230_CA), 0xe0, NULL, HFILL } }, { &hf_017_V1_3_230_SI, { "SI, SI/II-capabilities of the Transponder", "asterix.017_V1_3_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_230_SI), 0x10, NULL, HFILL } }, { &hf_017_V1_3_240, { "240, Track Status", "asterix.017_V1_3_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_240_CST, { "CST, Track Coasted", "asterix.017_V1_3_240_CST", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_240_CST), 0x80, NULL, HFILL } }, { &hf_017_V1_3_240_FLT, { "FLT, Flight Level Tracking", "asterix.017_V1_3_240_FLT", FT_UINT8, BASE_DEC, VALS (valstr_017_V1_3_240_FLT), 0x40, NULL, HFILL } }, { &hf_017_V1_3_350, { "350, Cluster Station/Node List", "asterix.017_V1_3_350", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_350_SAC, { "SAC, System Area Code", "asterix.017_V1_3_350_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_350_SIC, { "SIC, System Identification Code", "asterix.017_V1_3_350_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_360, { "360, Cluster Controller Command State", "asterix.017_V1_3_360", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_360_VALUE, { "Cluster Controller Command State", "asterix.017_V1_3_360_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_V1_3_SP, { "SP, Special Purpose Field", "asterix.017_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_000, { "000, Message Type", "asterix.017_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_000_VALUE, { "Message Type", "asterix.017_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_017_000_VALUE), 0x00, NULL, HFILL } }, { &hf_017_010, { "010, Data Source Identifier", "asterix.017_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_010_SAC, { "SAC, System Area Code", "asterix.017_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_010_SIC, { "SIC, System Identification Code", "asterix.017_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_012, { "012, Data Destination Identifier", "asterix.017_012", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_012_SAC, { "SAC, System Area Code", "asterix.017_012_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_012_SIC, { "SIC, System Identification Code", "asterix.017_012_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_045, { "045, Calculated Position in WGS-84 Coordinates", "asterix.017_045", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_045_LAT, { "LAT, Latitude, [°]", "asterix.017_045_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_045_LON, { "LON, Longitude, [°]", "asterix.017_045_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_050, { "050, Flight Level in Binary Representation", "asterix.017_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_050_V, { "V", "asterix.017_050_V", FT_UINT8, BASE_DEC, VALS (valstr_017_050_V), 0x80, NULL, HFILL } }, { &hf_017_050_G, { "G", "asterix.017_050_G", FT_UINT8, BASE_DEC, VALS (valstr_017_050_G), 0x40, NULL, HFILL } }, { &hf_017_050_ALT, { "ALT, Altitude, [FL]", "asterix.017_050_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_070, { "070, Mode 3/A Code in Octal Representation", "asterix.017_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_070_V, { "V", "asterix.017_070_V", FT_UINT8, BASE_DEC, VALS (valstr_017_070_V), 0x80, NULL, HFILL } }, { &hf_017_070_G, { "G", "asterix.017_070_G", FT_UINT8, BASE_DEC, VALS (valstr_017_070_G), 0x40, NULL, HFILL } }, { &hf_017_070_L, { "L", "asterix.017_070_L", FT_UINT8, BASE_DEC, VALS (valstr_017_070_L), 0x20, NULL, HFILL } }, { &hf_017_070_MODE3A, { "MODE3A, Mode 3/A Reply in Octal Representation", "asterix.017_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_017_140, { "140, Time of Day", "asterix.017_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_140_VALUE, { "Time of Day, [s]", "asterix.017_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_200, { "200, Track Velocity in Polar Co-ordinates", "asterix.017_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.017_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.017_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_210, { "210, Mode S Address List", "asterix.017_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_210_VALUE, { "Mode S Address List", "asterix.017_210_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_220, { "220, Aircraft Address", "asterix.017_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_220_VALUE, { "Aircraft Address", "asterix.017_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_221, { "221, Duplicate Address Reference Number (DRN)", "asterix.017_221", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_221_VALUE, { "Duplicate Address Reference Number (DRN)", "asterix.017_221_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_230, { "230, Transponder Capability", "asterix.017_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_230_CA, { "CA, Communications Capability of the Transponder", "asterix.017_230_CA", FT_UINT8, BASE_DEC, VALS (valstr_017_230_CA), 0xe0, NULL, HFILL } }, { &hf_017_230_SI, { "SI, SI/II-capabilities of the Transponder", "asterix.017_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_017_230_SI), 0x10, NULL, HFILL } }, { &hf_017_240, { "240, Track Status", "asterix.017_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_240_CST, { "CST, Track Coasted", "asterix.017_240_CST", FT_UINT8, BASE_DEC, VALS (valstr_017_240_CST), 0x80, NULL, HFILL } }, { &hf_017_240_FLT, { "FLT, Flight Level Tracking", "asterix.017_240_FLT", FT_UINT8, BASE_DEC, VALS (valstr_017_240_FLT), 0x40, NULL, HFILL } }, { &hf_017_350, { "350, Cluster Station/Node List", "asterix.017_350", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_350_SAC, { "SAC, System Area Code", "asterix.017_350_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_350_SIC, { "SIC, System Identification Code", "asterix.017_350_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_360, { "360, Cluster Controller Command State", "asterix.017_360", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_017_360_VALUE, { "Cluster Controller Command State", "asterix.017_360_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_017_SP, { "SP, Special Purpose Field", "asterix.017_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_000, { "000, Message Type", "asterix.018_V1_7_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_000_VALUE, { "Message Type", "asterix.018_V1_7_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_000_VALUE), 0x00, NULL, HFILL } }, { &hf_018_V1_7_001, { "001, Result", "asterix.018_V1_7_001", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_001_CAUSE, { "CAUSE, Cause", "asterix.018_V1_7_001_CAUSE", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_001_CAUSE), 0xf0, NULL, HFILL } }, { &hf_018_V1_7_001_DIAG, { "DIAG, Diagnostic", "asterix.018_V1_7_001_DIAG", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_001_DIAG), 0x0f, NULL, HFILL } }, { &hf_018_V1_7_002, { "002, Time of Day", "asterix.018_V1_7_002", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_002_VALUE, { "Time of Day, [s]", "asterix.018_V1_7_002_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_004, { "004, II Code", "asterix.018_V1_7_004", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_004_PREVIOUSII, { "PREVIOUSII, Former II Code", "asterix.018_V1_7_004_PREVIOUSII", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_018_V1_7_004_CURRENTII, { "CURRENTII, Current II Code", "asterix.018_V1_7_004_CURRENTII", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_018_V1_7_005, { "005, Mode S Address", "asterix.018_V1_7_005", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_005_VALUE, { "Mode S Address", "asterix.018_V1_7_005_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_006, { "006, Mode S Address List", "asterix.018_V1_7_006", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_006_VALUE, { "Mode S Address List", "asterix.018_V1_7_006_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_007, { "007, Aircraft Data Link Command", "asterix.018_V1_7_007", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_007_UM, { "UM, Uplink Mask", "asterix.018_V1_7_007_UM", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_007_UM), 0x80, NULL, HFILL } }, { &hf_018_V1_7_007_DM, { "DM, Downlink Mask", "asterix.018_V1_7_007_DM", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_007_DM), 0x40, NULL, HFILL } }, { &hf_018_V1_7_007_UC, { "UC, Uplink Command", "asterix.018_V1_7_007_UC", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_007_UC), 0x20, NULL, HFILL } }, { &hf_018_V1_7_007_DC, { "DC, Downlink Command", "asterix.018_V1_7_007_DC", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_007_DC), 0x10, NULL, HFILL } }, { &hf_018_V1_7_008, { "008, Aircraft Data Link Status", "asterix.018_V1_7_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_008_UDS, { "UDS, Uplink Default Status", "asterix.018_V1_7_008_UDS", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_008_UDS), 0x80, NULL, HFILL } }, { &hf_018_V1_7_008_DDS, { "DDS, Downlink Default Status", "asterix.018_V1_7_008_DDS", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_008_DDS), 0x40, NULL, HFILL } }, { &hf_018_V1_7_008_UCS, { "UCS, Uplink Current Status", "asterix.018_V1_7_008_UCS", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_008_UCS), 0x20, NULL, HFILL } }, { &hf_018_V1_7_008_DCS, { "DCS, Downlink Current Status", "asterix.018_V1_7_008_DCS", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_008_DCS), 0x10, NULL, HFILL } }, { &hf_018_V1_7_008_EI, { "EI, Exit Indication", "asterix.018_V1_7_008_EI", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_008_EI), 0x02, NULL, HFILL } }, { &hf_018_V1_7_008_IC, { "IC, Interrogator Control", "asterix.018_V1_7_008_IC", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_008_IC), 0x80, NULL, HFILL } }, { &hf_018_V1_7_009, { "009, Aircraft Data Link Report Request", "asterix.018_V1_7_009", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_009_SR, { "SR", "asterix.018_V1_7_009_SR", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_SR), 0x80, NULL, HFILL } }, { &hf_018_V1_7_009_AR, { "AR", "asterix.018_V1_7_009_AR", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_AR), 0x40, NULL, HFILL } }, { &hf_018_V1_7_009_ER, { "ER", "asterix.018_V1_7_009_ER", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_ER), 0x20, NULL, HFILL } }, { &hf_018_V1_7_009_FR, { "FR", "asterix.018_V1_7_009_FR", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_FR), 0x10, NULL, HFILL } }, { &hf_018_V1_7_009_MR, { "MR", "asterix.018_V1_7_009_MR", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_MR), 0x08, NULL, HFILL } }, { &hf_018_V1_7_009_PR, { "PR", "asterix.018_V1_7_009_PR", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_PR), 0x04, NULL, HFILL } }, { &hf_018_V1_7_009_CR, { "CR", "asterix.018_V1_7_009_CR", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_CR), 0x02, NULL, HFILL } }, { &hf_018_V1_7_009_ID, { "ID", "asterix.018_V1_7_009_ID", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_ID), 0x80, NULL, HFILL } }, { &hf_018_V1_7_009_MA, { "MA", "asterix.018_V1_7_009_MA", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_MA), 0x40, NULL, HFILL } }, { &hf_018_V1_7_009_SP, { "SP", "asterix.018_V1_7_009_SP", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_SP), 0x20, NULL, HFILL } }, { &hf_018_V1_7_009_HG, { "HG", "asterix.018_V1_7_009_HG", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_HG), 0x10, NULL, HFILL } }, { &hf_018_V1_7_009_HD, { "HD", "asterix.018_V1_7_009_HD", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_009_HD), 0x08, NULL, HFILL } }, { &hf_018_V1_7_010, { "010, Transponder Communications Capability", "asterix.018_V1_7_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_010_COM, { "COM, Communications Capability of the Transponder", "asterix.018_V1_7_010_COM", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_010_COM), 0x07, NULL, HFILL } }, { &hf_018_V1_7_011, { "011, Capability Report", "asterix.018_V1_7_011", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_011_VALUE, { "Capability Report", "asterix.018_V1_7_011_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_012, { "012, Aircraft Coverage Quality Factor", "asterix.018_V1_7_012", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_012_FS, { "FS, Flight Status", "asterix.018_V1_7_012_FS", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_012_FS), 0x80, NULL, HFILL } }, { &hf_018_V1_7_012_CQF, { "CQF, Aircraft CQF", "asterix.018_V1_7_012_CQF", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_012_CQF), 0x7f, NULL, HFILL } }, { &hf_018_V1_7_013, { "013, Aircraft CQF Calculation Method", "asterix.018_V1_7_013", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_013_VALUE, { "Aircraft CQF Calculation Method", "asterix.018_V1_7_013_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_014, { "014, Aircraft Position in Polar Co-ordinates", "asterix.018_V1_7_014", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_014_RHO, { "RHO, [NM]", "asterix.018_V1_7_014_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_014_THETA, { "THETA, [°]", "asterix.018_V1_7_014_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_015, { "015, Aircraft Position in Cartesian Co-ordinates", "asterix.018_V1_7_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_015_X, { "X, X-Component, [NM]", "asterix.018_V1_7_015_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_015_Y, { "Y, Y-Component, [NM]", "asterix.018_V1_7_015_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_016, { "016, Packet Number", "asterix.018_V1_7_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_016_VALUE, { "Packet Number", "asterix.018_V1_7_016_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_017, { "017, Packet Number List", "asterix.018_V1_7_017", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_017_VALUE, { "Packet Number List", "asterix.018_V1_7_017_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_018, { "018, Mode S Packet Properties", "asterix.018_V1_7_018", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_018_PR, { "PR, Mode S Packet Internal Priority", "asterix.018_V1_7_018_PR", FT_UINT8, BASE_DEC, NULL, 0x7c, NULL, HFILL } }, { &hf_018_V1_7_018_PT, { "PT, Packet Type", "asterix.018_V1_7_018_PT", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_018_PT), 0x03, NULL, HFILL } }, { &hf_018_V1_7_019, { "019, Mode S Packet", "asterix.018_V1_7_019", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_020, { "020, Broadcast Number", "asterix.018_V1_7_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_020_VALUE, { "Broadcast Number", "asterix.018_V1_7_020_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_021, { "021, Broadcast Properties", "asterix.018_V1_7_021", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_021_PRIORITY, { "PRIORITY, Priority", "asterix.018_V1_7_021_PRIORITY", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_018_V1_7_021_POWER, { "POWER, Power", "asterix.018_V1_7_021_POWER", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_018_V1_7_021_DURATION, { "DURATION, Duration, [s]", "asterix.018_V1_7_021_DURATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_021_COVERAGE, { "COVERAGE, Coverage", "asterix.018_V1_7_021_COVERAGE", FT_UINT32, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_022, { "022, Broadcast Prefix", "asterix.018_V1_7_022", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_022_PREFIX, { "PREFIX, Prefix Field", "asterix.018_V1_7_022_PREFIX", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_018_V1_7_023, { "023, Uplink or Downlink Broadcast", "asterix.018_V1_7_023", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_023_VALUE, { "Uplink or Downlink Broadcast", "asterix.018_V1_7_023_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_025, { "025, GICB Number", "asterix.018_V1_7_025", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_025_VALUE, { "GICB Number", "asterix.018_V1_7_025_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_027, { "027, BDS Code", "asterix.018_V1_7_027", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_027_VALUE, { "BDS Code", "asterix.018_V1_7_027_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_028, { "028, GICB Extraction Periodicity", "asterix.018_V1_7_028", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_028_VALUE, { "GICB Extraction Periodicity, [s]", "asterix.018_V1_7_028_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_029, { "029, GICB Extracted", "asterix.018_V1_7_029", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_029_VALUE, { "GICB Extracted", "asterix.018_V1_7_029_VALUE", FT_UINT56, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_030, { "030, GICB Properties", "asterix.018_V1_7_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_030_PRIORITY, { "PRIORITY, GICB Priority", "asterix.018_V1_7_030_PRIORITY", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_018_V1_7_030_PC, { "PC, Periodicity Constraint", "asterix.018_V1_7_030_PC", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_030_PC), 0x80, NULL, HFILL } }, { &hf_018_V1_7_030_AU, { "AU, Asynchronous Update", "asterix.018_V1_7_030_AU", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_030_AU), 0x40, NULL, HFILL } }, { &hf_018_V1_7_030_NE, { "NE, Non Extraction", "asterix.018_V1_7_030_NE", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_030_NE), 0x20, NULL, HFILL } }, { &hf_018_V1_7_030_RD, { "RD, Reply Destination", "asterix.018_V1_7_030_RD", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_030_RD), 0x18, NULL, HFILL } }, { &hf_018_V1_7_031, { "031, Aircraft Identity", "asterix.018_V1_7_031", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_031_VALUE, { "Aircraft Identity", "asterix.018_V1_7_031_VALUE", FT_UINT48, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_032, { "032, Aircraft Mode A", "asterix.018_V1_7_032", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_032_V, { "V", "asterix.018_V1_7_032_V", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_032_V), 0x80, NULL, HFILL } }, { &hf_018_V1_7_032_G, { "G", "asterix.018_V1_7_032_G", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_032_G), 0x40, NULL, HFILL } }, { &hf_018_V1_7_032_L, { "L", "asterix.018_V1_7_032_L", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_032_L), 0x20, NULL, HFILL } }, { &hf_018_V1_7_032_MOD3A, { "MOD3A", "asterix.018_V1_7_032_MOD3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_018_V1_7_033, { "033, Aircraft Height", "asterix.018_V1_7_033", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_033_V, { "V", "asterix.018_V1_7_033_V", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_033_V), 0x80, NULL, HFILL } }, { &hf_018_V1_7_033_G, { "G", "asterix.018_V1_7_033_G", FT_UINT8, BASE_DEC, VALS (valstr_018_V1_7_033_G), 0x40, NULL, HFILL } }, { &hf_018_V1_7_033_FL, { "FL, Flight Level, [FL]", "asterix.018_V1_7_033_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_034, { "034, Aircraft Speed", "asterix.018_V1_7_034", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_034_VALUE, { "Aircraft Speed, [NM/s]", "asterix.018_V1_7_034_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_035, { "035, Aircraft Heading", "asterix.018_V1_7_035", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_035_VALUE, { "Aircraft Heading, [°]", "asterix.018_V1_7_035_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_036, { "036, Data Source Identifier", "asterix.018_V1_7_036", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_036_SAC, { "SAC, System Area Code", "asterix.018_V1_7_036_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_036_SIC, { "SIC, System Identification Code", "asterix.018_V1_7_036_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_037, { "037, Data Destination Identifier", "asterix.018_V1_7_037", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_037_SAC, { "SAC, System Area Code", "asterix.018_V1_7_037_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_V1_7_037_SIC, { "SIC, System Identification Code", "asterix.018_V1_7_037_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_000, { "000, Message Type", "asterix.018_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_000_VALUE, { "Message Type", "asterix.018_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_018_000_VALUE), 0x00, NULL, HFILL } }, { &hf_018_001, { "001, Result", "asterix.018_001", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_001_CAUSE, { "CAUSE, Cause", "asterix.018_001_CAUSE", FT_UINT8, BASE_DEC, VALS (valstr_018_001_CAUSE), 0xf0, NULL, HFILL } }, { &hf_018_001_DIAG, { "DIAG, Diagnostic", "asterix.018_001_DIAG", FT_UINT8, BASE_DEC, VALS (valstr_018_001_DIAG), 0x0f, NULL, HFILL } }, { &hf_018_002, { "002, Time of Day", "asterix.018_002", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_002_VALUE, { "Time of Day, [s]", "asterix.018_002_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_004, { "004, II Code", "asterix.018_004", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_004_PREVIOUSII, { "PREVIOUSII, Former II Code", "asterix.018_004_PREVIOUSII", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_018_004_CURRENTII, { "CURRENTII, Current II Code", "asterix.018_004_CURRENTII", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_018_005, { "005, Mode S Address", "asterix.018_005", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_005_VALUE, { "Mode S Address", "asterix.018_005_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_006, { "006, Mode S Address List", "asterix.018_006", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_006_VALUE, { "Mode S Address List", "asterix.018_006_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_007, { "007, Aircraft Data Link Command", "asterix.018_007", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_007_UM, { "UM, Uplink Mask", "asterix.018_007_UM", FT_UINT8, BASE_DEC, VALS (valstr_018_007_UM), 0x80, NULL, HFILL } }, { &hf_018_007_DM, { "DM, Downlink Mask", "asterix.018_007_DM", FT_UINT8, BASE_DEC, VALS (valstr_018_007_DM), 0x40, NULL, HFILL } }, { &hf_018_007_UC, { "UC, Uplink Command", "asterix.018_007_UC", FT_UINT8, BASE_DEC, VALS (valstr_018_007_UC), 0x20, NULL, HFILL } }, { &hf_018_007_DC, { "DC, Downlink Command", "asterix.018_007_DC", FT_UINT8, BASE_DEC, VALS (valstr_018_007_DC), 0x10, NULL, HFILL } }, { &hf_018_008, { "008, Aircraft Data Link Status", "asterix.018_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_008_UDS, { "UDS, Uplink Default Status", "asterix.018_008_UDS", FT_UINT8, BASE_DEC, VALS (valstr_018_008_UDS), 0x80, NULL, HFILL } }, { &hf_018_008_DDS, { "DDS, Downlink Default Status", "asterix.018_008_DDS", FT_UINT8, BASE_DEC, VALS (valstr_018_008_DDS), 0x40, NULL, HFILL } }, { &hf_018_008_UCS, { "UCS, Uplink Current Status", "asterix.018_008_UCS", FT_UINT8, BASE_DEC, VALS (valstr_018_008_UCS), 0x20, NULL, HFILL } }, { &hf_018_008_DCS, { "DCS, Downlink Current Status", "asterix.018_008_DCS", FT_UINT8, BASE_DEC, VALS (valstr_018_008_DCS), 0x10, NULL, HFILL } }, { &hf_018_008_EI, { "EI, Exit Indication", "asterix.018_008_EI", FT_UINT8, BASE_DEC, VALS (valstr_018_008_EI), 0x02, NULL, HFILL } }, { &hf_018_008_IC, { "IC, Interrogator Control", "asterix.018_008_IC", FT_UINT8, BASE_DEC, VALS (valstr_018_008_IC), 0x80, NULL, HFILL } }, { &hf_018_009, { "009, Aircraft Data Link Report Request", "asterix.018_009", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_009_SR, { "SR", "asterix.018_009_SR", FT_UINT8, BASE_DEC, VALS (valstr_018_009_SR), 0x80, NULL, HFILL } }, { &hf_018_009_AR, { "AR", "asterix.018_009_AR", FT_UINT8, BASE_DEC, VALS (valstr_018_009_AR), 0x40, NULL, HFILL } }, { &hf_018_009_ER, { "ER", "asterix.018_009_ER", FT_UINT8, BASE_DEC, VALS (valstr_018_009_ER), 0x20, NULL, HFILL } }, { &hf_018_009_FR, { "FR", "asterix.018_009_FR", FT_UINT8, BASE_DEC, VALS (valstr_018_009_FR), 0x10, NULL, HFILL } }, { &hf_018_009_MR, { "MR", "asterix.018_009_MR", FT_UINT8, BASE_DEC, VALS (valstr_018_009_MR), 0x08, NULL, HFILL } }, { &hf_018_009_PR, { "PR", "asterix.018_009_PR", FT_UINT8, BASE_DEC, VALS (valstr_018_009_PR), 0x04, NULL, HFILL } }, { &hf_018_009_CR, { "CR", "asterix.018_009_CR", FT_UINT8, BASE_DEC, VALS (valstr_018_009_CR), 0x02, NULL, HFILL } }, { &hf_018_009_ID, { "ID", "asterix.018_009_ID", FT_UINT8, BASE_DEC, VALS (valstr_018_009_ID), 0x80, NULL, HFILL } }, { &hf_018_009_MA, { "MA", "asterix.018_009_MA", FT_UINT8, BASE_DEC, VALS (valstr_018_009_MA), 0x40, NULL, HFILL } }, { &hf_018_009_SP, { "SP", "asterix.018_009_SP", FT_UINT8, BASE_DEC, VALS (valstr_018_009_SP), 0x20, NULL, HFILL } }, { &hf_018_009_HG, { "HG", "asterix.018_009_HG", FT_UINT8, BASE_DEC, VALS (valstr_018_009_HG), 0x10, NULL, HFILL } }, { &hf_018_009_HD, { "HD", "asterix.018_009_HD", FT_UINT8, BASE_DEC, VALS (valstr_018_009_HD), 0x08, NULL, HFILL } }, { &hf_018_010, { "010, Transponder Communications Capability", "asterix.018_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_010_COM, { "COM, Communications Capability of the Transponder", "asterix.018_010_COM", FT_UINT8, BASE_DEC, VALS (valstr_018_010_COM), 0x07, NULL, HFILL } }, { &hf_018_011, { "011, Capability Report", "asterix.018_011", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_011_VALUE, { "Capability Report", "asterix.018_011_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_012, { "012, Aircraft Coverage Quality Factor", "asterix.018_012", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_012_FS, { "FS, Flight Status", "asterix.018_012_FS", FT_UINT8, BASE_DEC, VALS (valstr_018_012_FS), 0x80, NULL, HFILL } }, { &hf_018_012_CQF, { "CQF, Aircraft CQF", "asterix.018_012_CQF", FT_UINT8, BASE_DEC, VALS (valstr_018_012_CQF), 0x7f, NULL, HFILL } }, { &hf_018_013, { "013, Aircraft CQF Calculation Method", "asterix.018_013", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_013_VALUE, { "Aircraft CQF Calculation Method", "asterix.018_013_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_014, { "014, Aircraft Position in Polar Co-ordinates", "asterix.018_014", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_014_RHO, { "RHO, [NM]", "asterix.018_014_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_014_THETA, { "THETA, [°]", "asterix.018_014_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_015, { "015, Aircraft Position in Cartesian Co-ordinates", "asterix.018_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_015_X, { "X, X-Component, [NM]", "asterix.018_015_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_015_Y, { "Y, Y-Component, [NM]", "asterix.018_015_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_016, { "016, Packet Number", "asterix.018_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_016_VALUE, { "Packet Number", "asterix.018_016_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_017, { "017, Packet Number List", "asterix.018_017", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_017_VALUE, { "Packet Number List", "asterix.018_017_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_018, { "018, Mode S Packet Properties", "asterix.018_018", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_018_PR, { "PR, Mode S Packet Internal Priority", "asterix.018_018_PR", FT_UINT8, BASE_DEC, NULL, 0x7c, NULL, HFILL } }, { &hf_018_018_PT, { "PT, Packet Type", "asterix.018_018_PT", FT_UINT8, BASE_DEC, VALS (valstr_018_018_PT), 0x03, NULL, HFILL } }, { &hf_018_019, { "019, Mode S Packet", "asterix.018_019", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_020, { "020, Broadcast Number", "asterix.018_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_020_VALUE, { "Broadcast Number", "asterix.018_020_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_021, { "021, Broadcast Properties", "asterix.018_021", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_021_PRIORITY, { "PRIORITY, Priority", "asterix.018_021_PRIORITY", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_018_021_POWER, { "POWER, Power", "asterix.018_021_POWER", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_018_021_DURATION, { "DURATION, Duration, [s]", "asterix.018_021_DURATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_021_COVERAGE, { "COVERAGE, Coverage", "asterix.018_021_COVERAGE", FT_UINT32, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_022, { "022, Broadcast Prefix", "asterix.018_022", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_022_PREFIX, { "PREFIX, Prefix Field", "asterix.018_022_PREFIX", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_018_023, { "023, Uplink or Downlink Broadcast", "asterix.018_023", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_023_VALUE, { "Uplink or Downlink Broadcast", "asterix.018_023_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_025, { "025, GICB Number", "asterix.018_025", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_025_VALUE, { "GICB Number", "asterix.018_025_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_027, { "027, BDS Code", "asterix.018_027", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_027_VALUE, { "BDS Code", "asterix.018_027_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_028, { "028, GICB Extraction Periodicity", "asterix.018_028", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_028_VALUE, { "GICB Extraction Periodicity, [s]", "asterix.018_028_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_029, { "029, GICB Extracted", "asterix.018_029", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_029_VALUE, { "GICB Extracted", "asterix.018_029_VALUE", FT_UINT56, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_030, { "030, GICB Properties", "asterix.018_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_030_PRIORITY, { "PRIORITY, GICB Priority", "asterix.018_030_PRIORITY", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_018_030_PC, { "PC, Periodicity Constraint", "asterix.018_030_PC", FT_UINT8, BASE_DEC, VALS (valstr_018_030_PC), 0x80, NULL, HFILL } }, { &hf_018_030_AU, { "AU, Asynchronous Update", "asterix.018_030_AU", FT_UINT8, BASE_DEC, VALS (valstr_018_030_AU), 0x40, NULL, HFILL } }, { &hf_018_030_NE, { "NE, Non Extraction", "asterix.018_030_NE", FT_UINT8, BASE_DEC, VALS (valstr_018_030_NE), 0x20, NULL, HFILL } }, { &hf_018_030_RD, { "RD, Reply Destination", "asterix.018_030_RD", FT_UINT8, BASE_DEC, VALS (valstr_018_030_RD), 0x18, NULL, HFILL } }, { &hf_018_031, { "031, Aircraft Identity", "asterix.018_031", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_031_VALUE, { "Aircraft Identity", "asterix.018_031_VALUE", FT_UINT48, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_018_032, { "032, Aircraft Mode A", "asterix.018_032", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_032_V, { "V", "asterix.018_032_V", FT_UINT8, BASE_DEC, VALS (valstr_018_032_V), 0x80, NULL, HFILL } }, { &hf_018_032_G, { "G", "asterix.018_032_G", FT_UINT8, BASE_DEC, VALS (valstr_018_032_G), 0x40, NULL, HFILL } }, { &hf_018_032_L, { "L", "asterix.018_032_L", FT_UINT8, BASE_DEC, VALS (valstr_018_032_L), 0x20, NULL, HFILL } }, { &hf_018_032_MOD3A, { "MOD3A", "asterix.018_032_MOD3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_018_033, { "033, Aircraft Height", "asterix.018_033", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_033_V, { "V", "asterix.018_033_V", FT_UINT8, BASE_DEC, VALS (valstr_018_033_V), 0x80, NULL, HFILL } }, { &hf_018_033_G, { "G", "asterix.018_033_G", FT_UINT8, BASE_DEC, VALS (valstr_018_033_G), 0x40, NULL, HFILL } }, { &hf_018_033_FL, { "FL, Flight Level, [FL]", "asterix.018_033_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_034, { "034, Aircraft Speed", "asterix.018_034", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_034_VALUE, { "Aircraft Speed, [NM/s]", "asterix.018_034_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_035, { "035, Aircraft Heading", "asterix.018_035", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_035_VALUE, { "Aircraft Heading, [°]", "asterix.018_035_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_036, { "036, Data Source Identifier", "asterix.018_036", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_036_SAC, { "SAC, System Area Code", "asterix.018_036_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_036_SIC, { "SIC, System Identification Code", "asterix.018_036_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_037, { "037, Data Destination Identifier", "asterix.018_037", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_018_037_SAC, { "SAC, System Area Code", "asterix.018_037_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_018_037_SIC, { "SIC, System Identification Code", "asterix.018_037_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_000, { "000, Message Type", "asterix.019_V1_3_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_000_VALUE, { "Message Type", "asterix.019_V1_3_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_000_VALUE), 0x00, NULL, HFILL } }, { &hf_019_V1_3_010, { "010, Data Source Identifier", "asterix.019_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_010_SAC, { "SAC, System Area Code", "asterix.019_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.019_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_140, { "140, Time of Day", "asterix.019_V1_3_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_140_VALUE, { "Time of Day, [s]", "asterix.019_V1_3_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_550, { "550, System Status", "asterix.019_V1_3_550", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_550_NOGO, { "NOGO, Operational Release Status of the System", "asterix.019_V1_3_550_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_550_NOGO), 0xc0, NULL, HFILL } }, { &hf_019_V1_3_550_OVL, { "OVL, Overload Indicator", "asterix.019_V1_3_550_OVL", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_550_OVL), 0x20, NULL, HFILL } }, { &hf_019_V1_3_550_TSV, { "TSV, Time Source Validity", "asterix.019_V1_3_550_TSV", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_550_TSV), 0x10, NULL, HFILL } }, { &hf_019_V1_3_550_TTF, { "TTF, Test Target", "asterix.019_V1_3_550_TTF", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_550_TTF), 0x08, NULL, HFILL } }, { &hf_019_V1_3_551, { "551, Tracking Processor Detailed Status", "asterix.019_V1_3_551", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_551_TP1A, { "TP1A", "asterix.019_V1_3_551_TP1A", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP1A), 0x80, NULL, HFILL } }, { &hf_019_V1_3_551_TP1B, { "TP1B", "asterix.019_V1_3_551_TP1B", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP1B), 0x40, NULL, HFILL } }, { &hf_019_V1_3_551_TP2A, { "TP2A", "asterix.019_V1_3_551_TP2A", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP2A), 0x20, NULL, HFILL } }, { &hf_019_V1_3_551_TP2B, { "TP2B", "asterix.019_V1_3_551_TP2B", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP2B), 0x10, NULL, HFILL } }, { &hf_019_V1_3_551_TP3A, { "TP3A", "asterix.019_V1_3_551_TP3A", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP3A), 0x08, NULL, HFILL } }, { &hf_019_V1_3_551_TP3B, { "TP3B", "asterix.019_V1_3_551_TP3B", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP3B), 0x04, NULL, HFILL } }, { &hf_019_V1_3_551_TP4A, { "TP4A", "asterix.019_V1_3_551_TP4A", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP4A), 0x02, NULL, HFILL } }, { &hf_019_V1_3_551_TP4B, { "TP4B", "asterix.019_V1_3_551_TP4B", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_551_TP4B), 0x01, NULL, HFILL } }, { &hf_019_V1_3_552, { "552, Remote Sensor Detailed Status", "asterix.019_V1_3_552", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_552_RSI, { "RSI, 8-bit Identification Number of RS", "asterix.019_V1_3_552_RSI", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_552_RS1090, { "RS1090, Receiver 1090 MHz", "asterix.019_V1_3_552_RS1090", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_552_RS1090), 0x40, NULL, HFILL } }, { &hf_019_V1_3_552_TX1030, { "TX1030, Transmitter 1030 MHz", "asterix.019_V1_3_552_TX1030", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_552_TX1030), 0x20, NULL, HFILL } }, { &hf_019_V1_3_552_TX1090, { "TX1090, Transmitter 1090 MHz", "asterix.019_V1_3_552_TX1090", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_552_TX1090), 0x10, NULL, HFILL } }, { &hf_019_V1_3_552_RSS, { "RSS, RS Status", "asterix.019_V1_3_552_RSS", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_552_RSS), 0x08, NULL, HFILL } }, { &hf_019_V1_3_552_RSO, { "RSO, RS Operational", "asterix.019_V1_3_552_RSO", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_552_RSO), 0x04, NULL, HFILL } }, { &hf_019_V1_3_553, { "553, Reference Transponder Detailed Status", "asterix.019_V1_3_553", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_553_REFTR1, { "REFTR1, Ref Trans 1 Status", "asterix.019_V1_3_553_REFTR1", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_553_REFTR1), 0xc0, NULL, HFILL } }, { &hf_019_V1_3_553_REFTR2, { "REFTR2, Ref Trans 2 Status", "asterix.019_V1_3_553_REFTR2", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_553_REFTR2), 0x0c, NULL, HFILL } }, { &hf_019_V1_3_553_REFTR3, { "REFTR3, Ref Trans 3 Status", "asterix.019_V1_3_553_REFTR3", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_553_REFTR3), 0xc0, NULL, HFILL } }, { &hf_019_V1_3_553_REFTR4, { "REFTR4, Ref Trans 4 Status", "asterix.019_V1_3_553_REFTR4", FT_UINT8, BASE_DEC, VALS (valstr_019_V1_3_553_REFTR4), 0x0c, NULL, HFILL } }, { &hf_019_V1_3_600, { "600, Position of the MLT System Reference Point", "asterix.019_V1_3_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_600_LAT, { "LAT, Latitude, [°]", "asterix.019_V1_3_600_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_600_LON, { "LON, Longitude, [°]", "asterix.019_V1_3_600_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_610, { "610, Height of the MLT System Reference Point", "asterix.019_V1_3_610", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_610_VALUE, { "Height of the MLT System Reference Point, [m]", "asterix.019_V1_3_610_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_620, { "620, WGS-84 Undulation", "asterix.019_V1_3_620", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_620_VALUE, { "WGS-84 Undulation, [m]", "asterix.019_V1_3_620_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_RE, { "RE, Reserved Expansion Field", "asterix.019_V1_3_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_V1_3_SP, { "SP, Special Purpose Field", "asterix.019_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_000, { "000, Message Type", "asterix.019_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_000_VALUE, { "Message Type", "asterix.019_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_019_000_VALUE), 0x00, NULL, HFILL } }, { &hf_019_010, { "010, Data Source Identifier", "asterix.019_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_010_SAC, { "SAC, System Area Code", "asterix.019_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_019_010_SIC, { "SIC, System Identification Code", "asterix.019_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_019_140, { "140, Time of Day", "asterix.019_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_140_VALUE, { "Time of Day, [s]", "asterix.019_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_550, { "550, System Status", "asterix.019_550", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_550_NOGO, { "NOGO, Operational Release Status of the System", "asterix.019_550_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_019_550_NOGO), 0xc0, NULL, HFILL } }, { &hf_019_550_OVL, { "OVL, Overload Indicator", "asterix.019_550_OVL", FT_UINT8, BASE_DEC, VALS (valstr_019_550_OVL), 0x20, NULL, HFILL } }, { &hf_019_550_TSV, { "TSV, Time Source Validity", "asterix.019_550_TSV", FT_UINT8, BASE_DEC, VALS (valstr_019_550_TSV), 0x10, NULL, HFILL } }, { &hf_019_550_TTF, { "TTF, Test Target", "asterix.019_550_TTF", FT_UINT8, BASE_DEC, VALS (valstr_019_550_TTF), 0x08, NULL, HFILL } }, { &hf_019_551, { "551, Tracking Processor Detailed Status", "asterix.019_551", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_551_TP1A, { "TP1A", "asterix.019_551_TP1A", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP1A), 0x80, NULL, HFILL } }, { &hf_019_551_TP1B, { "TP1B", "asterix.019_551_TP1B", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP1B), 0x40, NULL, HFILL } }, { &hf_019_551_TP2A, { "TP2A", "asterix.019_551_TP2A", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP2A), 0x20, NULL, HFILL } }, { &hf_019_551_TP2B, { "TP2B", "asterix.019_551_TP2B", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP2B), 0x10, NULL, HFILL } }, { &hf_019_551_TP3A, { "TP3A", "asterix.019_551_TP3A", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP3A), 0x08, NULL, HFILL } }, { &hf_019_551_TP3B, { "TP3B", "asterix.019_551_TP3B", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP3B), 0x04, NULL, HFILL } }, { &hf_019_551_TP4A, { "TP4A", "asterix.019_551_TP4A", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP4A), 0x02, NULL, HFILL } }, { &hf_019_551_TP4B, { "TP4B", "asterix.019_551_TP4B", FT_UINT8, BASE_DEC, VALS (valstr_019_551_TP4B), 0x01, NULL, HFILL } }, { &hf_019_552, { "552, Remote Sensor Detailed Status", "asterix.019_552", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_552_RSI, { "RSI, 8-bit Identification Number of RS", "asterix.019_552_RSI", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_019_552_RS1090, { "RS1090, Receiver 1090 MHz", "asterix.019_552_RS1090", FT_UINT8, BASE_DEC, VALS (valstr_019_552_RS1090), 0x40, NULL, HFILL } }, { &hf_019_552_TX1030, { "TX1030, Transmitter 1030 MHz", "asterix.019_552_TX1030", FT_UINT8, BASE_DEC, VALS (valstr_019_552_TX1030), 0x20, NULL, HFILL } }, { &hf_019_552_TX1090, { "TX1090, Transmitter 1090 MHz", "asterix.019_552_TX1090", FT_UINT8, BASE_DEC, VALS (valstr_019_552_TX1090), 0x10, NULL, HFILL } }, { &hf_019_552_RSS, { "RSS, RS Status", "asterix.019_552_RSS", FT_UINT8, BASE_DEC, VALS (valstr_019_552_RSS), 0x08, NULL, HFILL } }, { &hf_019_552_RSO, { "RSO, RS Operational", "asterix.019_552_RSO", FT_UINT8, BASE_DEC, VALS (valstr_019_552_RSO), 0x04, NULL, HFILL } }, { &hf_019_553, { "553, Reference Transponder Detailed Status", "asterix.019_553", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_553_REFTR1, { "REFTR1, Ref Trans 1 Status", "asterix.019_553_REFTR1", FT_UINT8, BASE_DEC, VALS (valstr_019_553_REFTR1), 0xc0, NULL, HFILL } }, { &hf_019_553_REFTR2, { "REFTR2, Ref Trans 2 Status", "asterix.019_553_REFTR2", FT_UINT8, BASE_DEC, VALS (valstr_019_553_REFTR2), 0x0c, NULL, HFILL } }, { &hf_019_553_REFTR3, { "REFTR3, Ref Trans 3 Status", "asterix.019_553_REFTR3", FT_UINT8, BASE_DEC, VALS (valstr_019_553_REFTR3), 0xc0, NULL, HFILL } }, { &hf_019_553_REFTR4, { "REFTR4, Ref Trans 4 Status", "asterix.019_553_REFTR4", FT_UINT8, BASE_DEC, VALS (valstr_019_553_REFTR4), 0x0c, NULL, HFILL } }, { &hf_019_600, { "600, Position of the MLT System Reference Point", "asterix.019_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_600_LAT, { "LAT, Latitude, [°]", "asterix.019_600_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_600_LON, { "LON, Longitude, [°]", "asterix.019_600_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_610, { "610, Height of the MLT System Reference Point", "asterix.019_610", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_610_VALUE, { "Height of the MLT System Reference Point, [m]", "asterix.019_610_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_620, { "620, WGS-84 Undulation", "asterix.019_620", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_620_VALUE, { "WGS-84 Undulation, [m]", "asterix.019_620_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_RE, { "RE, Reserved Expansion Field", "asterix.019_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_019_SP, { "SP, Special Purpose Field", "asterix.019_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_010, { "010, Data Source Identifier", "asterix.020_V1_9_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_010_SAC, { "SAC, System Area Code", "asterix.020_V1_9_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_010_SIC, { "SIC, System Identification Code", "asterix.020_V1_9_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_020, { "020, Target Report Descriptor", "asterix.020_V1_9_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_020_SSR, { "SSR", "asterix.020_V1_9_020_SSR", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_SSR), 0x80, NULL, HFILL } }, { &hf_020_V1_9_020_MS, { "MS", "asterix.020_V1_9_020_MS", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_MS), 0x40, NULL, HFILL } }, { &hf_020_V1_9_020_HF, { "HF", "asterix.020_V1_9_020_HF", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_HF), 0x20, NULL, HFILL } }, { &hf_020_V1_9_020_VDL4, { "VDL4", "asterix.020_V1_9_020_VDL4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_VDL4), 0x10, NULL, HFILL } }, { &hf_020_V1_9_020_UAT, { "UAT", "asterix.020_V1_9_020_UAT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_UAT), 0x08, NULL, HFILL } }, { &hf_020_V1_9_020_DME, { "DME", "asterix.020_V1_9_020_DME", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_DME), 0x04, NULL, HFILL } }, { &hf_020_V1_9_020_OT, { "OT", "asterix.020_V1_9_020_OT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_OT), 0x02, NULL, HFILL } }, { &hf_020_V1_9_020_RAB, { "RAB", "asterix.020_V1_9_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_RAB), 0x80, NULL, HFILL } }, { &hf_020_V1_9_020_SPI, { "SPI", "asterix.020_V1_9_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_SPI), 0x40, NULL, HFILL } }, { &hf_020_V1_9_020_CHN, { "CHN", "asterix.020_V1_9_020_CHN", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_CHN), 0x20, NULL, HFILL } }, { &hf_020_V1_9_020_GBS, { "GBS", "asterix.020_V1_9_020_GBS", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_GBS), 0x10, NULL, HFILL } }, { &hf_020_V1_9_020_CRT, { "CRT", "asterix.020_V1_9_020_CRT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_CRT), 0x08, NULL, HFILL } }, { &hf_020_V1_9_020_SIM, { "SIM", "asterix.020_V1_9_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_SIM), 0x04, NULL, HFILL } }, { &hf_020_V1_9_020_TST, { "TST", "asterix.020_V1_9_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_020_TST), 0x02, NULL, HFILL } }, { &hf_020_V1_9_030, { "030, Warning/Error Conditions", "asterix.020_V1_9_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_030_Subitem, { "Subitem, Subitem", "asterix.020_V1_9_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_020_V1_9_041, { "041, Position In WGS-84 Coordinates", "asterix.020_V1_9_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_041_LAT, { "LAT, Latitude, [°]", "asterix.020_V1_9_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_041_LON, { "LON, Longitude, [°]", "asterix.020_V1_9_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_042, { "042, Position in Cartesian Coordinates", "asterix.020_V1_9_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_042_X, { "X, X-coordinate, [m]", "asterix.020_V1_9_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_042_Y, { "Y, Y-coordinate, [m]", "asterix.020_V1_9_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_050, { "050, Mode-2 Code in Octal Representation", "asterix.020_V1_9_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_050_V, { "V, Validated", "asterix.020_V1_9_050_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_050_V), 0x80, NULL, HFILL } }, { &hf_020_V1_9_050_G, { "G, Garbled", "asterix.020_V1_9_050_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_050_G), 0x40, NULL, HFILL } }, { &hf_020_V1_9_050_L, { "L", "asterix.020_V1_9_050_L", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_050_L), 0x20, NULL, HFILL } }, { &hf_020_V1_9_050_MODE2, { "MODE2, Mode-2 Reply in Octal Representation", "asterix.020_V1_9_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_9_055, { "055, Mode-1 Code in Octal Representation", "asterix.020_V1_9_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_055_V, { "V, Validated", "asterix.020_V1_9_055_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_055_V), 0x80, NULL, HFILL } }, { &hf_020_V1_9_055_G, { "G, Garbled", "asterix.020_V1_9_055_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_055_G), 0x40, NULL, HFILL } }, { &hf_020_V1_9_055_L, { "L", "asterix.020_V1_9_055_L", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_055_L), 0x20, NULL, HFILL } }, { &hf_020_V1_9_055_MODE1, { "MODE1, Mode-1 Code in Octal Representation", "asterix.020_V1_9_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_020_V1_9_070, { "070, Mode-3/A Code in Octal Representation", "asterix.020_V1_9_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_070_V, { "V, Validated", "asterix.020_V1_9_070_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_070_V), 0x80, NULL, HFILL } }, { &hf_020_V1_9_070_G, { "G, Garbled", "asterix.020_V1_9_070_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_070_G), 0x40, NULL, HFILL } }, { &hf_020_V1_9_070_L, { "L", "asterix.020_V1_9_070_L", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_070_L), 0x20, NULL, HFILL } }, { &hf_020_V1_9_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.020_V1_9_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_9_090, { "090, Flight Level in Binary Representation", "asterix.020_V1_9_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_090_V, { "V, Validated", "asterix.020_V1_9_090_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_090_V), 0x80, NULL, HFILL } }, { &hf_020_V1_9_090_G, { "G, Garbled", "asterix.020_V1_9_090_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_090_G), 0x40, NULL, HFILL } }, { &hf_020_V1_9_090_FL, { "FL, Flight Level, [FL]", "asterix.020_V1_9_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_100, { "100, Mode C Code", "asterix.020_V1_9_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_100_V, { "V, Validated", "asterix.020_V1_9_100_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_V), 0x80, NULL, HFILL } }, { &hf_020_V1_9_100_G, { "G, Garbled", "asterix.020_V1_9_100_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_G), 0x40, NULL, HFILL } }, { &hf_020_V1_9_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.020_V1_9_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_9_100_QC1, { "QC1, Quality Pulse C1", "asterix.020_V1_9_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QC1), 0x08, NULL, HFILL } }, { &hf_020_V1_9_100_QA1, { "QA1, Quality Pulse A1", "asterix.020_V1_9_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QA1), 0x04, NULL, HFILL } }, { &hf_020_V1_9_100_QC2, { "QC2, Quality Pulse C2", "asterix.020_V1_9_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QC2), 0x02, NULL, HFILL } }, { &hf_020_V1_9_100_QA2, { "QA2, Quality Pulse A2", "asterix.020_V1_9_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QA2), 0x01, NULL, HFILL } }, { &hf_020_V1_9_100_QC4, { "QC4, Quality Pulse C4", "asterix.020_V1_9_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QC4), 0x80, NULL, HFILL } }, { &hf_020_V1_9_100_QA4, { "QA4, Quality Pulse A4", "asterix.020_V1_9_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QA4), 0x40, NULL, HFILL } }, { &hf_020_V1_9_100_QB1, { "QB1, Quality Pulse B1", "asterix.020_V1_9_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QB1), 0x20, NULL, HFILL } }, { &hf_020_V1_9_100_QD1, { "QD1, Quality Pulse D1", "asterix.020_V1_9_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QD1), 0x10, NULL, HFILL } }, { &hf_020_V1_9_100_QB2, { "QB2, Quality Pulse B2", "asterix.020_V1_9_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QB2), 0x08, NULL, HFILL } }, { &hf_020_V1_9_100_QD2, { "QD2, Quality Pulse D2", "asterix.020_V1_9_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QD2), 0x04, NULL, HFILL } }, { &hf_020_V1_9_100_QB4, { "QB4, Quality Pulse B4", "asterix.020_V1_9_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QB4), 0x02, NULL, HFILL } }, { &hf_020_V1_9_100_QD4, { "QD4, Quality Pulse D4", "asterix.020_V1_9_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_100_QD4), 0x01, NULL, HFILL } }, { &hf_020_V1_9_105, { "105, Geometric Height (WGS-84)", "asterix.020_V1_9_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_105_VALUE, { "Geometric Height (WGS-84), [ft]", "asterix.020_V1_9_105_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_110, { "110, Measured Height (Local Cartesian Coordinates)", "asterix.020_V1_9_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_110_VALUE, { "Measured Height (Local Cartesian Coordinates), [ft]", "asterix.020_V1_9_110_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_140, { "140, Time of Day", "asterix.020_V1_9_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_140_VALUE, { "Time of Day, [s]", "asterix.020_V1_9_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_161, { "161, Track Number", "asterix.020_V1_9_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_161_TRN, { "TRN, Track Number", "asterix.020_V1_9_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_9_170, { "170, Track Status", "asterix.020_V1_9_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_170_CNF, { "CNF", "asterix.020_V1_9_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_170_CNF), 0x80, NULL, HFILL } }, { &hf_020_V1_9_170_TRE, { "TRE", "asterix.020_V1_9_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_170_TRE), 0x40, NULL, HFILL } }, { &hf_020_V1_9_170_CST, { "CST", "asterix.020_V1_9_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_170_CST), 0x20, NULL, HFILL } }, { &hf_020_V1_9_170_CDM, { "CDM", "asterix.020_V1_9_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_170_CDM), 0x18, NULL, HFILL } }, { &hf_020_V1_9_170_MAH, { "MAH", "asterix.020_V1_9_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_170_MAH), 0x04, NULL, HFILL } }, { &hf_020_V1_9_170_STH, { "STH", "asterix.020_V1_9_170_STH", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_170_STH), 0x02, NULL, HFILL } }, { &hf_020_V1_9_170_GHO, { "GHO", "asterix.020_V1_9_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_170_GHO), 0x80, NULL, HFILL } }, { &hf_020_V1_9_202, { "202, Calculated Track Velocity in Cartesian Coordinates", "asterix.020_V1_9_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_202_VX, { "VX, [m/s]", "asterix.020_V1_9_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_202_VY, { "VY, [m/s]", "asterix.020_V1_9_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_210, { "210, Calculated Acceleration", "asterix.020_V1_9_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_210_AX, { "AX, [m/s²]", "asterix.020_V1_9_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_210_AY, { "AY, [m/s²]", "asterix.020_V1_9_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_220, { "220, Target Address", "asterix.020_V1_9_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_220_VALUE, { "Target Address", "asterix.020_V1_9_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.020_V1_9_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_230_COM, { "COM, Communications Capability of the Transponder", "asterix.020_V1_9_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_230_COM), 0xe0, NULL, HFILL } }, { &hf_020_V1_9_230_STAT, { "STAT, Flight Status", "asterix.020_V1_9_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_230_STAT), 0x1c, NULL, HFILL } }, { &hf_020_V1_9_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.020_V1_9_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_230_MSSC), 0x80, NULL, HFILL } }, { &hf_020_V1_9_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.020_V1_9_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_230_ARC), 0x40, NULL, HFILL } }, { &hf_020_V1_9_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.020_V1_9_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_230_AIC), 0x20, NULL, HFILL } }, { &hf_020_V1_9_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.020_V1_9_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_020_V1_9_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.020_V1_9_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_020_V1_9_245, { "245, Target Identification", "asterix.020_V1_9_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_245_STI, { "STI", "asterix.020_V1_9_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_245_STI), 0xc0, NULL, HFILL } }, { &hf_020_V1_9_245_CHR, { "CHR, Characters 1-8 (coded on 6 Bits Each) Defining Target Identification", "asterix.020_V1_9_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_250, { "250, Mode S MB Data", "asterix.020_V1_9_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_250_MBDATA, { "MBDATA, 56-bit Message Conveying Mode S Comm B Message Data", "asterix.020_V1_9_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.020_V1_9_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_020_V1_9_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.020_V1_9_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_020_V1_9_260, { "260, ACAS Resolution Advisory Report", "asterix.020_V1_9_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.020_V1_9_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_300, { "300, Vehicle Fleet Identification", "asterix.020_V1_9_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_300_VALUE, { "Vehicle Fleet Identification", "asterix.020_V1_9_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_300_VALUE), 0x00, NULL, HFILL } }, { &hf_020_V1_9_310, { "310, Pre-programmed Message", "asterix.020_V1_9_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_310_TRB, { "TRB", "asterix.020_V1_9_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_310_TRB), 0x80, NULL, HFILL } }, { &hf_020_V1_9_310_MSG, { "MSG", "asterix.020_V1_9_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_310_MSG), 0x7f, NULL, HFILL } }, { &hf_020_V1_9_400, { "400, Contributing Devices", "asterix.020_V1_9_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_400_BIT1, { "BIT1, TU1/RU1 Contribution", "asterix.020_V1_9_400_BIT1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT1), 0x80, NULL, HFILL } }, { &hf_020_V1_9_400_BIT2, { "BIT2, TU2/RU2 Contribution", "asterix.020_V1_9_400_BIT2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT2), 0x40, NULL, HFILL } }, { &hf_020_V1_9_400_BIT3, { "BIT3, TU3/RU3 Contribution", "asterix.020_V1_9_400_BIT3", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT3), 0x20, NULL, HFILL } }, { &hf_020_V1_9_400_BIT4, { "BIT4, TU4/RU4 Contribution", "asterix.020_V1_9_400_BIT4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT4), 0x10, NULL, HFILL } }, { &hf_020_V1_9_400_BIT5, { "BIT5, TU5/RU5 Contribution", "asterix.020_V1_9_400_BIT5", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT5), 0x08, NULL, HFILL } }, { &hf_020_V1_9_400_BIT6, { "BIT6, TU6/RU6 Contribution", "asterix.020_V1_9_400_BIT6", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT6), 0x04, NULL, HFILL } }, { &hf_020_V1_9_400_BIT7, { "BIT7, TU7/RU7 Contribution", "asterix.020_V1_9_400_BIT7", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT7), 0x02, NULL, HFILL } }, { &hf_020_V1_9_400_BIT8, { "BIT8, TU8/RU8 Contribution", "asterix.020_V1_9_400_BIT8", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_9_400_BIT8), 0x01, NULL, HFILL } }, { &hf_020_V1_9_500, { "500, Position Accuracy", "asterix.020_V1_9_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_DOP, { "DOP, DOP of Position", "asterix.020_V1_9_500_DOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_DOP_X, { "X, DOP (X-Component)", "asterix.020_V1_9_500_DOP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_DOP_Y, { "Y, DOP (Y-Component)", "asterix.020_V1_9_500_DOP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_DOP_XY, { "XY, DOP (Correlation XY)", "asterix.020_V1_9_500_DOP_XY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_SDP, { "SDP, Standard Deviation of Position", "asterix.020_V1_9_500_SDP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_SDP_X, { "X, SDP (X-Component), [m]", "asterix.020_V1_9_500_SDP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_SDP_Y, { "Y, SDP (Y-Component), [m]", "asterix.020_V1_9_500_SDP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_SDP_XY, { "XY, SDP (Correlation XY)", "asterix.020_V1_9_500_SDP_XY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_SDH, { "SDH, Standard Deviation of Geometric Height (WGS 84)", "asterix.020_V1_9_500_SDH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_500_SDH_VALUE, { "Standard Deviation of Geometric Height (WGS 84), [m]", "asterix.020_V1_9_500_SDH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_RE, { "RE, Reserved Expansion Field", "asterix.020_V1_9_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_9_SP, { "SP, Special Purpose Field", "asterix.020_V1_9_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_010, { "010, Data Source Identifier", "asterix.020_V1_10_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_010_SAC, { "SAC, System Area Code", "asterix.020_V1_10_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_010_SIC, { "SIC, System Identification Code", "asterix.020_V1_10_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_020, { "020, Target Report Descriptor", "asterix.020_V1_10_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_020_SSR, { "SSR", "asterix.020_V1_10_020_SSR", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_SSR), 0x80, NULL, HFILL } }, { &hf_020_V1_10_020_MS, { "MS", "asterix.020_V1_10_020_MS", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_MS), 0x40, NULL, HFILL } }, { &hf_020_V1_10_020_HF, { "HF", "asterix.020_V1_10_020_HF", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_HF), 0x20, NULL, HFILL } }, { &hf_020_V1_10_020_VDL4, { "VDL4", "asterix.020_V1_10_020_VDL4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_VDL4), 0x10, NULL, HFILL } }, { &hf_020_V1_10_020_UAT, { "UAT", "asterix.020_V1_10_020_UAT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_UAT), 0x08, NULL, HFILL } }, { &hf_020_V1_10_020_DME, { "DME", "asterix.020_V1_10_020_DME", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_DME), 0x04, NULL, HFILL } }, { &hf_020_V1_10_020_OT, { "OT", "asterix.020_V1_10_020_OT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_OT), 0x02, NULL, HFILL } }, { &hf_020_V1_10_020_RAB, { "RAB", "asterix.020_V1_10_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_RAB), 0x80, NULL, HFILL } }, { &hf_020_V1_10_020_SPI, { "SPI", "asterix.020_V1_10_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_SPI), 0x40, NULL, HFILL } }, { &hf_020_V1_10_020_CHN, { "CHN", "asterix.020_V1_10_020_CHN", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_CHN), 0x20, NULL, HFILL } }, { &hf_020_V1_10_020_GBS, { "GBS", "asterix.020_V1_10_020_GBS", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_GBS), 0x10, NULL, HFILL } }, { &hf_020_V1_10_020_CRT, { "CRT", "asterix.020_V1_10_020_CRT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_CRT), 0x08, NULL, HFILL } }, { &hf_020_V1_10_020_SIM, { "SIM", "asterix.020_V1_10_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_SIM), 0x04, NULL, HFILL } }, { &hf_020_V1_10_020_TST, { "TST", "asterix.020_V1_10_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_020_TST), 0x02, NULL, HFILL } }, { &hf_020_V1_10_030, { "030, Warning/Error Conditions", "asterix.020_V1_10_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_030_Subitem, { "Subitem, Subitem", "asterix.020_V1_10_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_020_V1_10_041, { "041, Position In WGS-84 Coordinates", "asterix.020_V1_10_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_041_LAT, { "LAT, Latitude, [°]", "asterix.020_V1_10_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_041_LON, { "LON, Longitude, [°]", "asterix.020_V1_10_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_042, { "042, Position in Cartesian Coordinates", "asterix.020_V1_10_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_042_X, { "X, X-coordinate, [m]", "asterix.020_V1_10_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_042_Y, { "Y, Y-coordinate, [m]", "asterix.020_V1_10_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_050, { "050, Mode-2 Code in Octal Representation", "asterix.020_V1_10_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_050_V, { "V, Validated", "asterix.020_V1_10_050_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_050_V), 0x80, NULL, HFILL } }, { &hf_020_V1_10_050_G, { "G, Garbled", "asterix.020_V1_10_050_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_050_G), 0x40, NULL, HFILL } }, { &hf_020_V1_10_050_L, { "L", "asterix.020_V1_10_050_L", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_050_L), 0x20, NULL, HFILL } }, { &hf_020_V1_10_050_MODE2, { "MODE2, Mode-2 Reply in Octal Representation", "asterix.020_V1_10_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_10_055, { "055, Mode-1 Code in Octal Representation", "asterix.020_V1_10_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_055_V, { "V, Validated", "asterix.020_V1_10_055_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_055_V), 0x80, NULL, HFILL } }, { &hf_020_V1_10_055_G, { "G, Garbled", "asterix.020_V1_10_055_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_055_G), 0x40, NULL, HFILL } }, { &hf_020_V1_10_055_L, { "L", "asterix.020_V1_10_055_L", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_055_L), 0x20, NULL, HFILL } }, { &hf_020_V1_10_055_MODE1, { "MODE1, Mode-1 Code in Octal Representation", "asterix.020_V1_10_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_020_V1_10_070, { "070, Mode-3/A Code in Octal Representation", "asterix.020_V1_10_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_070_V, { "V, Validated", "asterix.020_V1_10_070_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_070_V), 0x80, NULL, HFILL } }, { &hf_020_V1_10_070_G, { "G, Garbled", "asterix.020_V1_10_070_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_070_G), 0x40, NULL, HFILL } }, { &hf_020_V1_10_070_L, { "L", "asterix.020_V1_10_070_L", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_070_L), 0x20, NULL, HFILL } }, { &hf_020_V1_10_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.020_V1_10_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_10_090, { "090, Flight Level in Binary Representation", "asterix.020_V1_10_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_090_V, { "V, Validated", "asterix.020_V1_10_090_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_090_V), 0x80, NULL, HFILL } }, { &hf_020_V1_10_090_G, { "G, Garbled", "asterix.020_V1_10_090_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_090_G), 0x40, NULL, HFILL } }, { &hf_020_V1_10_090_FL, { "FL, Flight Level, [FL]", "asterix.020_V1_10_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_100, { "100, Mode C Code", "asterix.020_V1_10_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_100_V, { "V, Validated", "asterix.020_V1_10_100_V", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_V), 0x80, NULL, HFILL } }, { &hf_020_V1_10_100_G, { "G, Garbled", "asterix.020_V1_10_100_G", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_G), 0x40, NULL, HFILL } }, { &hf_020_V1_10_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.020_V1_10_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_10_100_QC1, { "QC1, Quality Pulse C1", "asterix.020_V1_10_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QC1), 0x08, NULL, HFILL } }, { &hf_020_V1_10_100_QA1, { "QA1, Quality Pulse A1", "asterix.020_V1_10_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QA1), 0x04, NULL, HFILL } }, { &hf_020_V1_10_100_QC2, { "QC2, Quality Pulse C2", "asterix.020_V1_10_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QC2), 0x02, NULL, HFILL } }, { &hf_020_V1_10_100_QA2, { "QA2, Quality Pulse A2", "asterix.020_V1_10_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QA2), 0x01, NULL, HFILL } }, { &hf_020_V1_10_100_QC4, { "QC4, Quality Pulse C4", "asterix.020_V1_10_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QC4), 0x80, NULL, HFILL } }, { &hf_020_V1_10_100_QA4, { "QA4, Quality Pulse A4", "asterix.020_V1_10_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QA4), 0x40, NULL, HFILL } }, { &hf_020_V1_10_100_QB1, { "QB1, Quality Pulse B1", "asterix.020_V1_10_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QB1), 0x20, NULL, HFILL } }, { &hf_020_V1_10_100_QD1, { "QD1, Quality Pulse D1", "asterix.020_V1_10_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QD1), 0x10, NULL, HFILL } }, { &hf_020_V1_10_100_QB2, { "QB2, Quality Pulse B2", "asterix.020_V1_10_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QB2), 0x08, NULL, HFILL } }, { &hf_020_V1_10_100_QD2, { "QD2, Quality Pulse D2", "asterix.020_V1_10_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QD2), 0x04, NULL, HFILL } }, { &hf_020_V1_10_100_QB4, { "QB4, Quality Pulse B4", "asterix.020_V1_10_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QB4), 0x02, NULL, HFILL } }, { &hf_020_V1_10_100_QD4, { "QD4, Quality Pulse D4", "asterix.020_V1_10_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_100_QD4), 0x01, NULL, HFILL } }, { &hf_020_V1_10_105, { "105, Geometric Height (WGS-84)", "asterix.020_V1_10_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_105_VALUE, { "Geometric Height (WGS-84), [ft]", "asterix.020_V1_10_105_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_110, { "110, Measured Height (Local Cartesian Coordinates)", "asterix.020_V1_10_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_110_VALUE, { "Measured Height (Local Cartesian Coordinates), [ft]", "asterix.020_V1_10_110_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_140, { "140, Time of Day", "asterix.020_V1_10_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_140_VALUE, { "Time of Day, [s]", "asterix.020_V1_10_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_161, { "161, Track Number", "asterix.020_V1_10_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_161_TRN, { "TRN, Track Number", "asterix.020_V1_10_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_V1_10_170, { "170, Track Status", "asterix.020_V1_10_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_170_CNF, { "CNF", "asterix.020_V1_10_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_170_CNF), 0x80, NULL, HFILL } }, { &hf_020_V1_10_170_TRE, { "TRE", "asterix.020_V1_10_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_170_TRE), 0x40, NULL, HFILL } }, { &hf_020_V1_10_170_CST, { "CST", "asterix.020_V1_10_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_170_CST), 0x20, NULL, HFILL } }, { &hf_020_V1_10_170_CDM, { "CDM", "asterix.020_V1_10_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_170_CDM), 0x18, NULL, HFILL } }, { &hf_020_V1_10_170_MAH, { "MAH", "asterix.020_V1_10_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_170_MAH), 0x04, NULL, HFILL } }, { &hf_020_V1_10_170_STH, { "STH", "asterix.020_V1_10_170_STH", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_170_STH), 0x02, NULL, HFILL } }, { &hf_020_V1_10_170_GHO, { "GHO", "asterix.020_V1_10_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_170_GHO), 0x80, NULL, HFILL } }, { &hf_020_V1_10_202, { "202, Calculated Track Velocity in Cartesian Coordinates", "asterix.020_V1_10_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_202_VX, { "VX, [m/s]", "asterix.020_V1_10_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_202_VY, { "VY, [m/s]", "asterix.020_V1_10_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_210, { "210, Calculated Acceleration", "asterix.020_V1_10_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_210_AX, { "AX, [m/s²]", "asterix.020_V1_10_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_210_AY, { "AY, [m/s²]", "asterix.020_V1_10_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_220, { "220, Target Address", "asterix.020_V1_10_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_220_VALUE, { "Target Address", "asterix.020_V1_10_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.020_V1_10_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_230_COM, { "COM, Communications Capability of the Transponder", "asterix.020_V1_10_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_230_COM), 0xe0, NULL, HFILL } }, { &hf_020_V1_10_230_STAT, { "STAT, Flight Status", "asterix.020_V1_10_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_230_STAT), 0x1c, NULL, HFILL } }, { &hf_020_V1_10_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.020_V1_10_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_230_MSSC), 0x80, NULL, HFILL } }, { &hf_020_V1_10_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.020_V1_10_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_230_ARC), 0x40, NULL, HFILL } }, { &hf_020_V1_10_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.020_V1_10_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_230_AIC), 0x20, NULL, HFILL } }, { &hf_020_V1_10_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.020_V1_10_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_020_V1_10_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.020_V1_10_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_020_V1_10_245, { "245, Target Identification", "asterix.020_V1_10_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_245_STI, { "STI", "asterix.020_V1_10_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_245_STI), 0xc0, NULL, HFILL } }, { &hf_020_V1_10_245_CHR, { "CHR, Characters 1-8 (coded on 6 Bits Each) Defining Target Identification", "asterix.020_V1_10_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_250, { "250, BDS Register Data", "asterix.020_V1_10_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_250_MBDATA, { "MBDATA, 56-bit Message Conveying Mode S Comm B Message Data", "asterix.020_V1_10_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.020_V1_10_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_020_V1_10_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.020_V1_10_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_020_V1_10_260, { "260, ACAS Resolution Advisory Report", "asterix.020_V1_10_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.020_V1_10_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_300, { "300, Vehicle Fleet Identification", "asterix.020_V1_10_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_300_VALUE, { "Vehicle Fleet Identification", "asterix.020_V1_10_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_300_VALUE), 0x00, NULL, HFILL } }, { &hf_020_V1_10_310, { "310, Pre-programmed Message", "asterix.020_V1_10_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_310_TRB, { "TRB", "asterix.020_V1_10_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_310_TRB), 0x80, NULL, HFILL } }, { &hf_020_V1_10_310_MSG, { "MSG", "asterix.020_V1_10_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_310_MSG), 0x7f, NULL, HFILL } }, { &hf_020_V1_10_400, { "400, Contributing Devices", "asterix.020_V1_10_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_400_BIT1, { "BIT1, TU1/RU1 Contribution", "asterix.020_V1_10_400_BIT1", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT1), 0x80, NULL, HFILL } }, { &hf_020_V1_10_400_BIT2, { "BIT2, TU2/RU2 Contribution", "asterix.020_V1_10_400_BIT2", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT2), 0x40, NULL, HFILL } }, { &hf_020_V1_10_400_BIT3, { "BIT3, TU3/RU3 Contribution", "asterix.020_V1_10_400_BIT3", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT3), 0x20, NULL, HFILL } }, { &hf_020_V1_10_400_BIT4, { "BIT4, TU4/RU4 Contribution", "asterix.020_V1_10_400_BIT4", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT4), 0x10, NULL, HFILL } }, { &hf_020_V1_10_400_BIT5, { "BIT5, TU5/RU5 Contribution", "asterix.020_V1_10_400_BIT5", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT5), 0x08, NULL, HFILL } }, { &hf_020_V1_10_400_BIT6, { "BIT6, TU6/RU6 Contribution", "asterix.020_V1_10_400_BIT6", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT6), 0x04, NULL, HFILL } }, { &hf_020_V1_10_400_BIT7, { "BIT7, TU7/RU7 Contribution", "asterix.020_V1_10_400_BIT7", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT7), 0x02, NULL, HFILL } }, { &hf_020_V1_10_400_BIT8, { "BIT8, TU8/RU8 Contribution", "asterix.020_V1_10_400_BIT8", FT_UINT8, BASE_DEC, VALS (valstr_020_V1_10_400_BIT8), 0x01, NULL, HFILL } }, { &hf_020_V1_10_500, { "500, Position Accuracy", "asterix.020_V1_10_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_DOP, { "DOP, DOP of Position", "asterix.020_V1_10_500_DOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_DOP_X, { "X, DOP (X-Component)", "asterix.020_V1_10_500_DOP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_DOP_Y, { "Y, DOP (Y-Component)", "asterix.020_V1_10_500_DOP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_DOP_XY, { "XY, DOP (Correlation XY)", "asterix.020_V1_10_500_DOP_XY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_SDP, { "SDP, Standard Deviation of Position", "asterix.020_V1_10_500_SDP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_SDP_X, { "X, SDP (X-Component), [m]", "asterix.020_V1_10_500_SDP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_SDP_Y, { "Y, SDP (Y-Component), [m]", "asterix.020_V1_10_500_SDP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_SDP_XY, { "XY, SDP (Correlation XY)", "asterix.020_V1_10_500_SDP_XY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_SDH, { "SDH, Standard Deviation of Geometric Height (WGS 84)", "asterix.020_V1_10_500_SDH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_500_SDH_VALUE, { "Standard Deviation of Geometric Height (WGS 84), [m]", "asterix.020_V1_10_500_SDH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_RE, { "RE, Reserved Expansion Field", "asterix.020_V1_10_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_V1_10_SP, { "SP, Special Purpose Field", "asterix.020_V1_10_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_010, { "010, Data Source Identifier", "asterix.020_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_010_SAC, { "SAC, System Area Code", "asterix.020_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_010_SIC, { "SIC, System Identification Code", "asterix.020_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_020, { "020, Target Report Descriptor", "asterix.020_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_020_SSR, { "SSR", "asterix.020_020_SSR", FT_UINT8, BASE_DEC, VALS (valstr_020_020_SSR), 0x80, NULL, HFILL } }, { &hf_020_020_MS, { "MS", "asterix.020_020_MS", FT_UINT8, BASE_DEC, VALS (valstr_020_020_MS), 0x40, NULL, HFILL } }, { &hf_020_020_HF, { "HF", "asterix.020_020_HF", FT_UINT8, BASE_DEC, VALS (valstr_020_020_HF), 0x20, NULL, HFILL } }, { &hf_020_020_VDL4, { "VDL4", "asterix.020_020_VDL4", FT_UINT8, BASE_DEC, VALS (valstr_020_020_VDL4), 0x10, NULL, HFILL } }, { &hf_020_020_UAT, { "UAT", "asterix.020_020_UAT", FT_UINT8, BASE_DEC, VALS (valstr_020_020_UAT), 0x08, NULL, HFILL } }, { &hf_020_020_DME, { "DME", "asterix.020_020_DME", FT_UINT8, BASE_DEC, VALS (valstr_020_020_DME), 0x04, NULL, HFILL } }, { &hf_020_020_OT, { "OT", "asterix.020_020_OT", FT_UINT8, BASE_DEC, VALS (valstr_020_020_OT), 0x02, NULL, HFILL } }, { &hf_020_020_RAB, { "RAB", "asterix.020_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_020_020_RAB), 0x80, NULL, HFILL } }, { &hf_020_020_SPI, { "SPI", "asterix.020_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_020_020_SPI), 0x40, NULL, HFILL } }, { &hf_020_020_CHN, { "CHN", "asterix.020_020_CHN", FT_UINT8, BASE_DEC, VALS (valstr_020_020_CHN), 0x20, NULL, HFILL } }, { &hf_020_020_GBS, { "GBS", "asterix.020_020_GBS", FT_UINT8, BASE_DEC, VALS (valstr_020_020_GBS), 0x10, NULL, HFILL } }, { &hf_020_020_CRT, { "CRT", "asterix.020_020_CRT", FT_UINT8, BASE_DEC, VALS (valstr_020_020_CRT), 0x08, NULL, HFILL } }, { &hf_020_020_SIM, { "SIM", "asterix.020_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_020_020_SIM), 0x04, NULL, HFILL } }, { &hf_020_020_TST, { "TST", "asterix.020_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_020_020_TST), 0x02, NULL, HFILL } }, { &hf_020_030, { "030, Warning/Error Conditions", "asterix.020_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_030_Subitem, { "Subitem, Subitem", "asterix.020_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_020_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_020_041, { "041, Position In WGS-84 Coordinates", "asterix.020_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_041_LAT, { "LAT, Latitude, [°]", "asterix.020_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_041_LON, { "LON, Longitude, [°]", "asterix.020_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_042, { "042, Position in Cartesian Coordinates", "asterix.020_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_042_X, { "X, X-coordinate, [m]", "asterix.020_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_042_Y, { "Y, Y-coordinate, [m]", "asterix.020_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_050, { "050, Mode-2 Code in Octal Representation", "asterix.020_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_050_V, { "V, Validated", "asterix.020_050_V", FT_UINT8, BASE_DEC, VALS (valstr_020_050_V), 0x80, NULL, HFILL } }, { &hf_020_050_G, { "G, Garbled", "asterix.020_050_G", FT_UINT8, BASE_DEC, VALS (valstr_020_050_G), 0x40, NULL, HFILL } }, { &hf_020_050_L, { "L", "asterix.020_050_L", FT_UINT8, BASE_DEC, VALS (valstr_020_050_L), 0x20, NULL, HFILL } }, { &hf_020_050_MODE2, { "MODE2, Mode-2 Reply in Octal Representation", "asterix.020_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_055, { "055, Mode-1 Code in Octal Representation", "asterix.020_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_055_V, { "V, Validated", "asterix.020_055_V", FT_UINT8, BASE_DEC, VALS (valstr_020_055_V), 0x80, NULL, HFILL } }, { &hf_020_055_G, { "G, Garbled", "asterix.020_055_G", FT_UINT8, BASE_DEC, VALS (valstr_020_055_G), 0x40, NULL, HFILL } }, { &hf_020_055_L, { "L", "asterix.020_055_L", FT_UINT8, BASE_DEC, VALS (valstr_020_055_L), 0x20, NULL, HFILL } }, { &hf_020_055_MODE1, { "MODE1, Mode-1 Code in Octal Representation", "asterix.020_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_020_070, { "070, Mode-3/A Code in Octal Representation", "asterix.020_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_070_V, { "V, Validated", "asterix.020_070_V", FT_UINT8, BASE_DEC, VALS (valstr_020_070_V), 0x80, NULL, HFILL } }, { &hf_020_070_G, { "G, Garbled", "asterix.020_070_G", FT_UINT8, BASE_DEC, VALS (valstr_020_070_G), 0x40, NULL, HFILL } }, { &hf_020_070_L, { "L", "asterix.020_070_L", FT_UINT8, BASE_DEC, VALS (valstr_020_070_L), 0x20, NULL, HFILL } }, { &hf_020_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.020_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_090, { "090, Flight Level in Binary Representation", "asterix.020_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_090_V, { "V, Validated", "asterix.020_090_V", FT_UINT8, BASE_DEC, VALS (valstr_020_090_V), 0x80, NULL, HFILL } }, { &hf_020_090_G, { "G, Garbled", "asterix.020_090_G", FT_UINT8, BASE_DEC, VALS (valstr_020_090_G), 0x40, NULL, HFILL } }, { &hf_020_090_FL, { "FL, Flight Level, [FL]", "asterix.020_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_100, { "100, Mode C Code", "asterix.020_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_100_V, { "V, Validated", "asterix.020_100_V", FT_UINT8, BASE_DEC, VALS (valstr_020_100_V), 0x80, NULL, HFILL } }, { &hf_020_100_G, { "G, Garbled", "asterix.020_100_G", FT_UINT8, BASE_DEC, VALS (valstr_020_100_G), 0x40, NULL, HFILL } }, { &hf_020_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.020_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_100_QC1, { "QC1, Quality Pulse C1", "asterix.020_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QC1), 0x08, NULL, HFILL } }, { &hf_020_100_QA1, { "QA1, Quality Pulse A1", "asterix.020_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QA1), 0x04, NULL, HFILL } }, { &hf_020_100_QC2, { "QC2, Quality Pulse C2", "asterix.020_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QC2), 0x02, NULL, HFILL } }, { &hf_020_100_QA2, { "QA2, Quality Pulse A2", "asterix.020_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QA2), 0x01, NULL, HFILL } }, { &hf_020_100_QC4, { "QC4, Quality Pulse C4", "asterix.020_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QC4), 0x80, NULL, HFILL } }, { &hf_020_100_QA4, { "QA4, Quality Pulse A4", "asterix.020_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QA4), 0x40, NULL, HFILL } }, { &hf_020_100_QB1, { "QB1, Quality Pulse B1", "asterix.020_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QB1), 0x20, NULL, HFILL } }, { &hf_020_100_QD1, { "QD1, Quality Pulse D1", "asterix.020_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QD1), 0x10, NULL, HFILL } }, { &hf_020_100_QB2, { "QB2, Quality Pulse B2", "asterix.020_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QB2), 0x08, NULL, HFILL } }, { &hf_020_100_QD2, { "QD2, Quality Pulse D2", "asterix.020_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QD2), 0x04, NULL, HFILL } }, { &hf_020_100_QB4, { "QB4, Quality Pulse B4", "asterix.020_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QB4), 0x02, NULL, HFILL } }, { &hf_020_100_QD4, { "QD4, Quality Pulse D4", "asterix.020_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_020_100_QD4), 0x01, NULL, HFILL } }, { &hf_020_105, { "105, Geometric Height (WGS-84)", "asterix.020_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_105_VALUE, { "Geometric Height (WGS-84), [ft]", "asterix.020_105_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_110, { "110, Measured Height (Local Cartesian Coordinates)", "asterix.020_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_110_VALUE, { "Measured Height (Local Cartesian Coordinates), [ft]", "asterix.020_110_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_140, { "140, Time of Day", "asterix.020_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_140_VALUE, { "Time of Day, [s]", "asterix.020_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_161, { "161, Track Number", "asterix.020_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_161_TRN, { "TRN, Track Number", "asterix.020_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_020_170, { "170, Track Status", "asterix.020_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_170_CNF, { "CNF", "asterix.020_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_020_170_CNF), 0x80, NULL, HFILL } }, { &hf_020_170_TRE, { "TRE", "asterix.020_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_020_170_TRE), 0x40, NULL, HFILL } }, { &hf_020_170_CST, { "CST", "asterix.020_170_CST", FT_UINT8, BASE_DEC, VALS (valstr_020_170_CST), 0x20, NULL, HFILL } }, { &hf_020_170_CDM, { "CDM", "asterix.020_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_020_170_CDM), 0x18, NULL, HFILL } }, { &hf_020_170_MAH, { "MAH", "asterix.020_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_020_170_MAH), 0x04, NULL, HFILL } }, { &hf_020_170_STH, { "STH", "asterix.020_170_STH", FT_UINT8, BASE_DEC, VALS (valstr_020_170_STH), 0x02, NULL, HFILL } }, { &hf_020_170_GHO, { "GHO", "asterix.020_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_020_170_GHO), 0x80, NULL, HFILL } }, { &hf_020_202, { "202, Calculated Track Velocity in Cartesian Coordinates", "asterix.020_202", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_202_VX, { "VX, [m/s]", "asterix.020_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_202_VY, { "VY, [m/s]", "asterix.020_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_210, { "210, Calculated Acceleration", "asterix.020_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_210_AX, { "AX, [m/s²]", "asterix.020_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_210_AY, { "AY, [m/s²]", "asterix.020_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_220, { "220, Target Address", "asterix.020_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_220_VALUE, { "Target Address", "asterix.020_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_020_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.020_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_230_COM, { "COM, Communications Capability of the Transponder", "asterix.020_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_020_230_COM), 0xe0, NULL, HFILL } }, { &hf_020_230_STAT, { "STAT, Flight Status", "asterix.020_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_020_230_STAT), 0x1c, NULL, HFILL } }, { &hf_020_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.020_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_020_230_MSSC), 0x80, NULL, HFILL } }, { &hf_020_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.020_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_020_230_ARC), 0x40, NULL, HFILL } }, { &hf_020_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.020_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_020_230_AIC), 0x20, NULL, HFILL } }, { &hf_020_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.020_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_020_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.020_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_020_245, { "245, Target Identification", "asterix.020_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_245_STI, { "STI", "asterix.020_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_020_245_STI), 0xc0, NULL, HFILL } }, { &hf_020_245_CHR, { "CHR, Characters 1-8 (coded on 6 Bits Each) Defining Target Identification", "asterix.020_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_250, { "250, BDS Register Data", "asterix.020_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_250_MBDATA, { "MBDATA, 56-bit Message Conveying Mode S Comm B Message Data", "asterix.020_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_020_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.020_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_020_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.020_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_020_260, { "260, ACAS Resolution Advisory Report", "asterix.020_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.020_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_020_300, { "300, Vehicle Fleet Identification", "asterix.020_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_300_VALUE, { "Vehicle Fleet Identification", "asterix.020_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_020_300_VALUE), 0x00, NULL, HFILL } }, { &hf_020_310, { "310, Pre-programmed Message", "asterix.020_310", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_310_TRB, { "TRB", "asterix.020_310_TRB", FT_UINT8, BASE_DEC, VALS (valstr_020_310_TRB), 0x80, NULL, HFILL } }, { &hf_020_310_MSG, { "MSG", "asterix.020_310_MSG", FT_UINT8, BASE_DEC, VALS (valstr_020_310_MSG), 0x7f, NULL, HFILL } }, { &hf_020_400, { "400, Contributing Devices", "asterix.020_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_400_BIT1, { "BIT1, TU1/RU1 Contribution", "asterix.020_400_BIT1", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT1), 0x80, NULL, HFILL } }, { &hf_020_400_BIT2, { "BIT2, TU2/RU2 Contribution", "asterix.020_400_BIT2", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT2), 0x40, NULL, HFILL } }, { &hf_020_400_BIT3, { "BIT3, TU3/RU3 Contribution", "asterix.020_400_BIT3", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT3), 0x20, NULL, HFILL } }, { &hf_020_400_BIT4, { "BIT4, TU4/RU4 Contribution", "asterix.020_400_BIT4", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT4), 0x10, NULL, HFILL } }, { &hf_020_400_BIT5, { "BIT5, TU5/RU5 Contribution", "asterix.020_400_BIT5", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT5), 0x08, NULL, HFILL } }, { &hf_020_400_BIT6, { "BIT6, TU6/RU6 Contribution", "asterix.020_400_BIT6", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT6), 0x04, NULL, HFILL } }, { &hf_020_400_BIT7, { "BIT7, TU7/RU7 Contribution", "asterix.020_400_BIT7", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT7), 0x02, NULL, HFILL } }, { &hf_020_400_BIT8, { "BIT8, TU8/RU8 Contribution", "asterix.020_400_BIT8", FT_UINT8, BASE_DEC, VALS (valstr_020_400_BIT8), 0x01, NULL, HFILL } }, { &hf_020_500, { "500, Position Accuracy", "asterix.020_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_DOP, { "DOP, DOP of Position", "asterix.020_500_DOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_DOP_X, { "X, DOP (X-Component)", "asterix.020_500_DOP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_DOP_Y, { "Y, DOP (Y-Component)", "asterix.020_500_DOP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_DOP_XY, { "XY, DOP (Correlation XY)", "asterix.020_500_DOP_XY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_SDP, { "SDP, Standard Deviation of Position", "asterix.020_500_SDP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_SDP_X, { "X, SDP (X-Component), [m]", "asterix.020_500_SDP_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_SDP_Y, { "Y, SDP (Y-Component), [m]", "asterix.020_500_SDP_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_SDP_XY, { "XY, SDP (Correlation XY)", "asterix.020_500_SDP_XY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_SDH, { "SDH, Standard Deviation of Geometric Height (WGS 84)", "asterix.020_500_SDH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_500_SDH_VALUE, { "Standard Deviation of Geometric Height (WGS 84), [m]", "asterix.020_500_SDH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_RE, { "RE, Reserved Expansion Field", "asterix.020_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_020_SP, { "SP, Special Purpose Field", "asterix.020_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_010, { "010, Data Source Identification", "asterix.021_V0_23_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_010_SAC, { "SAC, System Area Code", "asterix.021_V0_23_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_010_SIC, { "SIC, System Identification Code", "asterix.021_V0_23_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_020, { "020, Emitter Category", "asterix.021_V0_23_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_020_VALUE, { "Emitter Category", "asterix.021_V0_23_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_23_030, { "030, Time of Day", "asterix.021_V0_23_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_030_VALUE, { "Time of Day, [s]", "asterix.021_V0_23_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_032, { "032, Time of Day Accuracy", "asterix.021_V0_23_032", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_032_VALUE, { "Time of Day Accuracy, [s]", "asterix.021_V0_23_032_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_040, { "040, Target Report Descriptor", "asterix.021_V0_23_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_040_DCR, { "DCR, Differential Correction", "asterix.021_V0_23_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V0_23_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V0_23_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V0_23_040_SIM, { "SIM, Simulated Target", "asterix.021_V0_23_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V0_23_040_TST, { "TST, Test Target", "asterix.021_V0_23_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V0_23_040_RAB, { "RAB, Report Type", "asterix.021_V0_23_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_RAB), 0x08, NULL, HFILL } }, { &hf_021_V0_23_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V0_23_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_SAA), 0x04, NULL, HFILL } }, { &hf_021_V0_23_040_SPI, { "SPI, Special Position Identification", "asterix.021_V0_23_040_SPI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_SPI), 0x02, NULL, HFILL } }, { &hf_021_V0_23_040_ATP, { "ATP, Address Type", "asterix.021_V0_23_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V0_23_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V0_23_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V0_23_080, { "080, Target Address", "asterix.021_V0_23_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_080_VALUE, { "Target Address", "asterix.021_V0_23_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_090, { "090, Figure of Merit", "asterix.021_V0_23_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_090_AC, { "AC, ACAS Capabilities", "asterix.021_V0_23_090_AC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_090_AC), 0xc0, NULL, HFILL } }, { &hf_021_V0_23_090_MN, { "MN, Multiple Navigation Aids", "asterix.021_V0_23_090_MN", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_090_MN), 0x30, NULL, HFILL } }, { &hf_021_V0_23_090_DC, { "DC, Differencial Correction", "asterix.021_V0_23_090_DC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_090_DC), 0x0c, NULL, HFILL } }, { &hf_021_V0_23_090_PA, { "PA, Position Accuracy", "asterix.021_V0_23_090_PA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_095, { "095, Velocity Accuracy", "asterix.021_V0_23_095", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_095_VALUE, { "Velocity Accuracy", "asterix.021_V0_23_095_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110, { "110, Trajectory Intent", "asterix.021_V0_23_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V0_23_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110_TIS_NAV, { "NAV", "asterix.021_V0_23_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V0_23_110_TIS_NVB, { "NVB", "asterix.021_V0_23_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V0_23_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V0_23_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110_TID_TCA, { "TCA", "asterix.021_V0_23_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V0_23_110_TID_NC, { "NC", "asterix.021_V0_23_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V0_23_110_TID_TCPN, { "TCPN", "asterix.021_V0_23_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V0_23_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V0_23_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_23_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_23_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110_TID_PT, { "PT, Point Type", "asterix.021_V0_23_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V0_23_110_TID_TD, { "TD", "asterix.021_V0_23_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V0_23_110_TID_TRA, { "TRA", "asterix.021_V0_23_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V0_23_110_TID_TOA, { "TOA", "asterix.021_V0_23_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V0_23_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V0_23_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V0_23_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V0_23_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V0_23_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_130_LON, { "LON, Longitude, [°]", "asterix.021_V0_23_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_140, { "140, Geometric Altitude", "asterix.021_V0_23_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_140_VALUE, { "Geometric Altitude, [ft]", "asterix.021_V0_23_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_145, { "145, Flight Level", "asterix.021_V0_23_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_145_VALUE, { "Flight Level, [FL]", "asterix.021_V0_23_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_146, { "146, Intermediate State Selected Altitude", "asterix.021_V0_23_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_146_SAS, { "SAS, Source Availability", "asterix.021_V0_23_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V0_23_146_SRC, { "SRC, Source", "asterix.021_V0_23_146_SRC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_146_SRC), 0x60, NULL, HFILL } }, { &hf_021_V0_23_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_23_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_148, { "148, Final State Selected Altitude", "asterix.021_V0_23_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V0_23_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V0_23_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V0_23_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V0_23_148_AM, { "AM, Approach Mode", "asterix.021_V0_23_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V0_23_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_23_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_150, { "150, Air Speed", "asterix.021_V0_23_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_150_IM, { "IM", "asterix.021_V0_23_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V0_23_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V0_23_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V0_23_151, { "151, True Airspeed", "asterix.021_V0_23_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_151_VALUE, { "True Airspeed, [kt]", "asterix.021_V0_23_151_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_152, { "152, Magnetic Heading", "asterix.021_V0_23_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V0_23_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_155, { "155, Barometric Vertical Rate", "asterix.021_V0_23_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_155_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.021_V0_23_155_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_157, { "157, Geometric Vertical Rate", "asterix.021_V0_23_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_157_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.021_V0_23_157_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_160, { "160, Ground Vector", "asterix.021_V0_23_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_160_GS, { "GS, Ground Speed in Two's Complement Form Referenced to WGS84, [NM/s]", "asterix.021_V0_23_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_160_TA, { "TA, Track Angle, [°]", "asterix.021_V0_23_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_165, { "165, Rate Of Turn", "asterix.021_V0_23_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_165_TI, { "TI, Turn Indicator", "asterix.021_V0_23_165_TI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_165_TI), 0xc0, NULL, HFILL } }, { &hf_021_V0_23_165_ROT, { "ROT, Rate of Turn, [°/s]", "asterix.021_V0_23_165_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_170, { "170, Target Identification", "asterix.021_V0_23_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_170_VALUE, { "Target Identification", "asterix.021_V0_23_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_200, { "200, Target Status", "asterix.021_V0_23_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_200_VALUE, { "Target Status", "asterix.021_V0_23_200_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_200_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_23_210, { "210, Link Technology Indicator", "asterix.021_V0_23_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_210_DTI, { "DTI, Cockpit Display of Traffic Information", "asterix.021_V0_23_210_DTI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_210_DTI), 0x10, NULL, HFILL } }, { &hf_021_V0_23_210_MDS, { "MDS, Mode-S Extended Squitter", "asterix.021_V0_23_210_MDS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_210_MDS), 0x08, NULL, HFILL } }, { &hf_021_V0_23_210_UAT, { "UAT, UAT", "asterix.021_V0_23_210_UAT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_210_UAT), 0x04, NULL, HFILL } }, { &hf_021_V0_23_210_VDL, { "VDL, VDL Mode 4", "asterix.021_V0_23_210_VDL", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_210_VDL), 0x02, NULL, HFILL } }, { &hf_021_V0_23_210_OTR, { "OTR, Other Technology", "asterix.021_V0_23_210_OTR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_23_210_OTR), 0x01, NULL, HFILL } }, { &hf_021_V0_23_220, { "220, Met Information", "asterix.021_V0_23_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_WS, { "WS, Wind Speed", "asterix.021_V0_23_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V0_23_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_WD, { "WD, Wind Direction", "asterix.021_V0_23_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V0_23_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_TMP, { "TMP, Temperature", "asterix.021_V0_23_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V0_23_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_TRB, { "TRB, Turbulence", "asterix.021_V0_23_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_220_TRB_VALUE, { "Turbulence", "asterix.021_V0_23_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_230, { "230, Roll Angle", "asterix.021_V0_23_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_230_VALUE, { "Roll Angle, [°]", "asterix.021_V0_23_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_RE, { "RE, Reserved Expansion Field", "asterix.021_V0_23_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_23_SP, { "SP, Special Purpose Field", "asterix.021_V0_23_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_010, { "010, Data Source Identification", "asterix.021_V0_24_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_010_SAC, { "SAC, System Area Code", "asterix.021_V0_24_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_010_SIC, { "SIC, System Identification Code", "asterix.021_V0_24_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_020, { "020, Emitter Category", "asterix.021_V0_24_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_020_VALUE, { "Emitter Category", "asterix.021_V0_24_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_24_030, { "030, Time of Day", "asterix.021_V0_24_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_030_VALUE, { "Time of Day, [s]", "asterix.021_V0_24_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_032, { "032, Time of Day Accuracy", "asterix.021_V0_24_032", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_032_VALUE, { "Time of Day Accuracy, [s]", "asterix.021_V0_24_032_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_040, { "040, Target Report Descriptor", "asterix.021_V0_24_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_040_DCR, { "DCR, Differential Correction", "asterix.021_V0_24_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V0_24_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V0_24_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V0_24_040_SIM, { "SIM, Simulated Target", "asterix.021_V0_24_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V0_24_040_TST, { "TST, Test Target", "asterix.021_V0_24_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V0_24_040_RAB, { "RAB, Report Type", "asterix.021_V0_24_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_RAB), 0x08, NULL, HFILL } }, { &hf_021_V0_24_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V0_24_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_SAA), 0x04, NULL, HFILL } }, { &hf_021_V0_24_040_SPI, { "SPI, Special Position Identification", "asterix.021_V0_24_040_SPI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_SPI), 0x02, NULL, HFILL } }, { &hf_021_V0_24_040_ATP, { "ATP, Address Type", "asterix.021_V0_24_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V0_24_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V0_24_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V0_24_080, { "080, Target Address", "asterix.021_V0_24_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_080_VALUE, { "Target Address", "asterix.021_V0_24_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_090, { "090, Figure of Merit", "asterix.021_V0_24_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_090_AC, { "AC, ACAS Capabilities", "asterix.021_V0_24_090_AC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_090_AC), 0xc0, NULL, HFILL } }, { &hf_021_V0_24_090_MN, { "MN, Multiple Navigation Aids", "asterix.021_V0_24_090_MN", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_090_MN), 0x30, NULL, HFILL } }, { &hf_021_V0_24_090_DC, { "DC, Differencial Correction", "asterix.021_V0_24_090_DC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_090_DC), 0x0c, NULL, HFILL } }, { &hf_021_V0_24_090_PA, { "PA, Position Accuracy", "asterix.021_V0_24_090_PA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_095, { "095, Velocity Accuracy", "asterix.021_V0_24_095", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_095_VALUE, { "Velocity Accuracy", "asterix.021_V0_24_095_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110, { "110, Trajectory Intent", "asterix.021_V0_24_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V0_24_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110_TIS_NAV, { "NAV", "asterix.021_V0_24_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V0_24_110_TIS_NVB, { "NVB", "asterix.021_V0_24_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V0_24_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V0_24_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110_TID_TCA, { "TCA", "asterix.021_V0_24_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V0_24_110_TID_NC, { "NC", "asterix.021_V0_24_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V0_24_110_TID_TCPN, { "TCPN", "asterix.021_V0_24_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V0_24_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V0_24_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_24_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_24_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110_TID_PT, { "PT, Point Type", "asterix.021_V0_24_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V0_24_110_TID_TD, { "TD", "asterix.021_V0_24_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V0_24_110_TID_TRA, { "TRA", "asterix.021_V0_24_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V0_24_110_TID_TOA, { "TOA", "asterix.021_V0_24_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V0_24_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V0_24_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V0_24_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V0_24_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V0_24_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_130_LON, { "LON, Longitude, [°]", "asterix.021_V0_24_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_140, { "140, Geometric Altitude", "asterix.021_V0_24_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_140_VALUE, { "Geometric Altitude, [ft]", "asterix.021_V0_24_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_145, { "145, Flight Level", "asterix.021_V0_24_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_145_VALUE, { "Flight Level, [FL]", "asterix.021_V0_24_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_146, { "146, Intermediate State Selected Altitude", "asterix.021_V0_24_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_146_SAS, { "SAS, Source Availability", "asterix.021_V0_24_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V0_24_146_SRC, { "SRC, Source", "asterix.021_V0_24_146_SRC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_146_SRC), 0x60, NULL, HFILL } }, { &hf_021_V0_24_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_24_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_148, { "148, Final State Selected Altitude", "asterix.021_V0_24_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V0_24_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V0_24_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V0_24_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V0_24_148_AM, { "AM, Approach Mode", "asterix.021_V0_24_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V0_24_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_24_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_150, { "150, Air Speed", "asterix.021_V0_24_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_150_IM, { "IM", "asterix.021_V0_24_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V0_24_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V0_24_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V0_24_151, { "151, True Airspeed", "asterix.021_V0_24_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_151_VALUE, { "True Airspeed, [kt]", "asterix.021_V0_24_151_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_152, { "152, Magnetic Heading", "asterix.021_V0_24_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V0_24_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_155, { "155, Barometric Vertical Rate", "asterix.021_V0_24_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_155_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.021_V0_24_155_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_157, { "157, Geometric Vertical Rate", "asterix.021_V0_24_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_157_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.021_V0_24_157_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_160, { "160, Ground Vector", "asterix.021_V0_24_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_160_GS, { "GS, Ground Speed in Two's Complement Form Referenced to WGS84, [NM/s]", "asterix.021_V0_24_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_160_TA, { "TA, Track Angle, [°]", "asterix.021_V0_24_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_165, { "165, Rate Of Turn", "asterix.021_V0_24_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_165_TI, { "TI, Turn Indicator", "asterix.021_V0_24_165_TI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_165_TI), 0xc0, NULL, HFILL } }, { &hf_021_V0_24_165_ROT, { "ROT, Rate of Turn, [°/s]", "asterix.021_V0_24_165_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_170, { "170, Target Identification", "asterix.021_V0_24_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_170_VALUE, { "Target Identification", "asterix.021_V0_24_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_200, { "200, Target Status", "asterix.021_V0_24_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_200_VALUE, { "Target Status", "asterix.021_V0_24_200_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_200_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_24_210, { "210, Link Technology Indicator", "asterix.021_V0_24_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_210_DTI, { "DTI, Cockpit Display of Traffic Information", "asterix.021_V0_24_210_DTI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_210_DTI), 0x10, NULL, HFILL } }, { &hf_021_V0_24_210_MDS, { "MDS, Mode-S Extended Squitter", "asterix.021_V0_24_210_MDS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_210_MDS), 0x08, NULL, HFILL } }, { &hf_021_V0_24_210_UAT, { "UAT, UAT", "asterix.021_V0_24_210_UAT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_210_UAT), 0x04, NULL, HFILL } }, { &hf_021_V0_24_210_VDL, { "VDL, VDL Mode 4", "asterix.021_V0_24_210_VDL", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_210_VDL), 0x02, NULL, HFILL } }, { &hf_021_V0_24_210_OTR, { "OTR, Other Technology", "asterix.021_V0_24_210_OTR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_24_210_OTR), 0x01, NULL, HFILL } }, { &hf_021_V0_24_220, { "220, Met Information", "asterix.021_V0_24_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_WS, { "WS, Wind Speed", "asterix.021_V0_24_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V0_24_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_WD, { "WD, Wind Direction", "asterix.021_V0_24_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V0_24_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_TMP, { "TMP, Temperature", "asterix.021_V0_24_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V0_24_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_TRB, { "TRB, Turbulence", "asterix.021_V0_24_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_220_TRB_VALUE, { "Turbulence", "asterix.021_V0_24_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_230, { "230, Roll Angle", "asterix.021_V0_24_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_230_VALUE, { "Roll Angle, [°]", "asterix.021_V0_24_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_RE, { "RE, Reserved Expansion Field", "asterix.021_V0_24_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_24_SP, { "SP, Special Purpose Field", "asterix.021_V0_24_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_010, { "010, Data Source Identification", "asterix.021_V0_25_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_010_SAC, { "SAC, System Area Code", "asterix.021_V0_25_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_010_SIC, { "SIC, System Identification Code", "asterix.021_V0_25_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_020, { "020, Emitter Category", "asterix.021_V0_25_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_020_VALUE, { "Emitter Category", "asterix.021_V0_25_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_25_030, { "030, Time of Day", "asterix.021_V0_25_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_030_VALUE, { "Time of Day, [s]", "asterix.021_V0_25_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_032, { "032, Time of Day Accuracy", "asterix.021_V0_25_032", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_032_VALUE, { "Time of Day Accuracy, [s]", "asterix.021_V0_25_032_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_040, { "040, Target Report Descriptor", "asterix.021_V0_25_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_040_DCR, { "DCR, Differential Correction", "asterix.021_V0_25_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V0_25_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V0_25_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V0_25_040_SIM, { "SIM, Simulated Target", "asterix.021_V0_25_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V0_25_040_TST, { "TST, Test Target", "asterix.021_V0_25_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V0_25_040_RAB, { "RAB, Report Type", "asterix.021_V0_25_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_RAB), 0x08, NULL, HFILL } }, { &hf_021_V0_25_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V0_25_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_SAA), 0x04, NULL, HFILL } }, { &hf_021_V0_25_040_SPI, { "SPI, Special Position Identification", "asterix.021_V0_25_040_SPI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_SPI), 0x02, NULL, HFILL } }, { &hf_021_V0_25_040_ATP, { "ATP, Address Type", "asterix.021_V0_25_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V0_25_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V0_25_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V0_25_080, { "080, Target Address", "asterix.021_V0_25_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_080_VALUE, { "Target Address", "asterix.021_V0_25_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_090, { "090, Figure of Merit", "asterix.021_V0_25_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_090_AC, { "AC, ACAS Capabilities", "asterix.021_V0_25_090_AC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_090_AC), 0xc0, NULL, HFILL } }, { &hf_021_V0_25_090_MN, { "MN, Multiple Navigation Aids", "asterix.021_V0_25_090_MN", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_090_MN), 0x30, NULL, HFILL } }, { &hf_021_V0_25_090_DC, { "DC, Differencial Correction", "asterix.021_V0_25_090_DC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_090_DC), 0x0c, NULL, HFILL } }, { &hf_021_V0_25_090_PA, { "PA, Position Accuracy", "asterix.021_V0_25_090_PA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_095, { "095, Velocity Accuracy", "asterix.021_V0_25_095", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_095_VALUE, { "Velocity Accuracy", "asterix.021_V0_25_095_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110, { "110, Trajectory Intent", "asterix.021_V0_25_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V0_25_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110_TIS_NAV, { "NAV", "asterix.021_V0_25_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V0_25_110_TIS_NVB, { "NVB", "asterix.021_V0_25_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V0_25_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V0_25_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110_TID_TCA, { "TCA", "asterix.021_V0_25_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V0_25_110_TID_NC, { "NC", "asterix.021_V0_25_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V0_25_110_TID_TCPN, { "TCPN", "asterix.021_V0_25_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V0_25_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V0_25_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_25_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_25_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110_TID_PT, { "PT, Point Type", "asterix.021_V0_25_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V0_25_110_TID_TD, { "TD", "asterix.021_V0_25_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V0_25_110_TID_TRA, { "TRA", "asterix.021_V0_25_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V0_25_110_TID_TOA, { "TOA", "asterix.021_V0_25_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V0_25_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V0_25_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V0_25_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V0_25_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V0_25_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_130_LON, { "LON, Longitude, [°]", "asterix.021_V0_25_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_140, { "140, Geometric Altitude", "asterix.021_V0_25_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_140_VALUE, { "Geometric Altitude, [ft]", "asterix.021_V0_25_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_145, { "145, Flight Level", "asterix.021_V0_25_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_145_VALUE, { "Flight Level, [FL]", "asterix.021_V0_25_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_146, { "146, Intermediate State Selected Altitude", "asterix.021_V0_25_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_146_SAS, { "SAS, Source Availability", "asterix.021_V0_25_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V0_25_146_SRC, { "SRC, Source", "asterix.021_V0_25_146_SRC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_146_SRC), 0x60, NULL, HFILL } }, { &hf_021_V0_25_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_25_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_148, { "148, Final State Selected Altitude", "asterix.021_V0_25_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V0_25_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V0_25_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V0_25_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V0_25_148_AM, { "AM, Approach Mode", "asterix.021_V0_25_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V0_25_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_25_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_150, { "150, Air Speed", "asterix.021_V0_25_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_150_IM, { "IM", "asterix.021_V0_25_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V0_25_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V0_25_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V0_25_151, { "151, True Airspeed", "asterix.021_V0_25_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_151_VALUE, { "True Airspeed, [kt]", "asterix.021_V0_25_151_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_152, { "152, Magnetic Heading", "asterix.021_V0_25_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V0_25_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_155, { "155, Barometric Vertical Rate", "asterix.021_V0_25_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_155_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.021_V0_25_155_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_157, { "157, Geometric Vertical Rate", "asterix.021_V0_25_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_157_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.021_V0_25_157_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_160, { "160, Ground Vector", "asterix.021_V0_25_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_160_GS, { "GS, Ground Speed in Two's Complement Form Referenced to WGS84, [NM/s]", "asterix.021_V0_25_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_160_TA, { "TA, Track Angle, [°]", "asterix.021_V0_25_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_165, { "165, Rate Of Turn", "asterix.021_V0_25_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_165_TI, { "TI, Turn Indicator", "asterix.021_V0_25_165_TI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_165_TI), 0xc0, NULL, HFILL } }, { &hf_021_V0_25_165_ROT, { "ROT, Rate of Turn, [°/s]", "asterix.021_V0_25_165_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_170, { "170, Target Identification", "asterix.021_V0_25_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_170_VALUE, { "Target Identification", "asterix.021_V0_25_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_200, { "200, Target Status", "asterix.021_V0_25_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_200_VALUE, { "Target Status", "asterix.021_V0_25_200_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_200_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_25_210, { "210, Link Technology Indicator", "asterix.021_V0_25_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_210_DTI, { "DTI, Cockpit Display of Traffic Information", "asterix.021_V0_25_210_DTI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_210_DTI), 0x10, NULL, HFILL } }, { &hf_021_V0_25_210_MDS, { "MDS, Mode-S Extended Squitter", "asterix.021_V0_25_210_MDS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_210_MDS), 0x08, NULL, HFILL } }, { &hf_021_V0_25_210_UAT, { "UAT, UAT", "asterix.021_V0_25_210_UAT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_210_UAT), 0x04, NULL, HFILL } }, { &hf_021_V0_25_210_VDL, { "VDL, VDL Mode 4", "asterix.021_V0_25_210_VDL", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_210_VDL), 0x02, NULL, HFILL } }, { &hf_021_V0_25_210_OTR, { "OTR, Other Technology", "asterix.021_V0_25_210_OTR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_25_210_OTR), 0x01, NULL, HFILL } }, { &hf_021_V0_25_220, { "220, Met Information", "asterix.021_V0_25_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_WS, { "WS, Wind Speed", "asterix.021_V0_25_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V0_25_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_WD, { "WD, Wind Direction", "asterix.021_V0_25_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V0_25_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_TMP, { "TMP, Temperature", "asterix.021_V0_25_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V0_25_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_TRB, { "TRB, Turbulence", "asterix.021_V0_25_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_220_TRB_VALUE, { "Turbulence", "asterix.021_V0_25_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_230, { "230, Roll Angle", "asterix.021_V0_25_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_230_VALUE, { "Roll Angle, [°]", "asterix.021_V0_25_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_RE, { "RE, Reserved Expansion Field", "asterix.021_V0_25_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_25_SP, { "SP, Special Purpose Field", "asterix.021_V0_25_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_010, { "010, Data Source Identification", "asterix.021_V0_26_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_010_SAC, { "SAC, System Area Code", "asterix.021_V0_26_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_010_SIC, { "SIC, System Identification Code", "asterix.021_V0_26_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_020, { "020, Emitter Category", "asterix.021_V0_26_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_020_VALUE, { "Emitter Category", "asterix.021_V0_26_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_26_030, { "030, Time of Day", "asterix.021_V0_26_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_030_VALUE, { "Time of Day, [s]", "asterix.021_V0_26_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_032, { "032, Time of Day Accuracy", "asterix.021_V0_26_032", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_032_VALUE, { "Time of Day Accuracy, [s]", "asterix.021_V0_26_032_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_040, { "040, Target Report Descriptor", "asterix.021_V0_26_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_040_DCR, { "DCR, Differential Correction", "asterix.021_V0_26_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V0_26_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V0_26_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V0_26_040_SIM, { "SIM, Simulated Target", "asterix.021_V0_26_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V0_26_040_TST, { "TST, Test Target", "asterix.021_V0_26_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V0_26_040_RAB, { "RAB, Report Type", "asterix.021_V0_26_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_RAB), 0x08, NULL, HFILL } }, { &hf_021_V0_26_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V0_26_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_SAA), 0x04, NULL, HFILL } }, { &hf_021_V0_26_040_SPI, { "SPI, Special Position Identification", "asterix.021_V0_26_040_SPI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_SPI), 0x02, NULL, HFILL } }, { &hf_021_V0_26_040_ATP, { "ATP, Address Type", "asterix.021_V0_26_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V0_26_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V0_26_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V0_26_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_V0_26_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_070_V, { "V", "asterix.021_V0_26_070_V", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_070_V), 0x80, NULL, HFILL } }, { &hf_021_V0_26_070_G, { "G", "asterix.021_V0_26_070_G", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_070_G), 0x40, NULL, HFILL } }, { &hf_021_V0_26_070_L, { "L", "asterix.021_V0_26_070_L", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_070_L), 0x20, NULL, HFILL } }, { &hf_021_V0_26_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.021_V0_26_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V0_26_080, { "080, Target Address", "asterix.021_V0_26_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_080_VALUE, { "Target Address", "asterix.021_V0_26_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_090, { "090, Figure of Merit", "asterix.021_V0_26_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_090_AC, { "AC, ACAS Capabilities", "asterix.021_V0_26_090_AC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_090_AC), 0xc0, NULL, HFILL } }, { &hf_021_V0_26_090_MN, { "MN, Multiple Navigation Aids", "asterix.021_V0_26_090_MN", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_090_MN), 0x30, NULL, HFILL } }, { &hf_021_V0_26_090_DC, { "DC, Differencial Correction", "asterix.021_V0_26_090_DC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_090_DC), 0x0c, NULL, HFILL } }, { &hf_021_V0_26_090_PA, { "PA, Position Accuracy", "asterix.021_V0_26_090_PA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_095, { "095, Velocity Accuracy", "asterix.021_V0_26_095", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_095_VALUE, { "Velocity Accuracy", "asterix.021_V0_26_095_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110, { "110, Trajectory Intent", "asterix.021_V0_26_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V0_26_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110_TIS_NAV, { "NAV", "asterix.021_V0_26_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V0_26_110_TIS_NVB, { "NVB", "asterix.021_V0_26_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V0_26_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V0_26_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110_TID_TCA, { "TCA", "asterix.021_V0_26_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V0_26_110_TID_NC, { "NC", "asterix.021_V0_26_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V0_26_110_TID_TCPN, { "TCPN", "asterix.021_V0_26_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V0_26_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V0_26_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_26_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V0_26_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110_TID_PT, { "PT, Point Type", "asterix.021_V0_26_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V0_26_110_TID_TD, { "TD", "asterix.021_V0_26_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V0_26_110_TID_TRA, { "TRA", "asterix.021_V0_26_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V0_26_110_TID_TOA, { "TOA", "asterix.021_V0_26_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V0_26_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V0_26_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V0_26_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V0_26_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V0_26_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_130_LON, { "LON, Longitude, [°]", "asterix.021_V0_26_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_131, { "131, Signal Amplitude", "asterix.021_V0_26_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_131_VALUE, { "Signal Amplitude", "asterix.021_V0_26_131_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_140, { "140, Geometric Altitude", "asterix.021_V0_26_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_140_VALUE, { "Geometric Altitude, [ft]", "asterix.021_V0_26_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_145, { "145, Flight Level", "asterix.021_V0_26_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_145_VALUE, { "Flight Level, [FL]", "asterix.021_V0_26_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_146, { "146, Intermediate State Selected Altitude", "asterix.021_V0_26_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_146_SAS, { "SAS, Source Availability", "asterix.021_V0_26_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V0_26_146_SRC, { "SRC, Source", "asterix.021_V0_26_146_SRC", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_146_SRC), 0x60, NULL, HFILL } }, { &hf_021_V0_26_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_26_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_148, { "148, Final State Selected Altitude", "asterix.021_V0_26_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V0_26_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V0_26_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V0_26_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V0_26_148_AM, { "AM, Approach Mode", "asterix.021_V0_26_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V0_26_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V0_26_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_150, { "150, Air Speed", "asterix.021_V0_26_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_150_IM, { "IM", "asterix.021_V0_26_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V0_26_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V0_26_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V0_26_151, { "151, True Airspeed", "asterix.021_V0_26_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_151_VALUE, { "True Airspeed, [kt]", "asterix.021_V0_26_151_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_152, { "152, Magnetic Heading", "asterix.021_V0_26_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V0_26_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_155, { "155, Barometric Vertical Rate", "asterix.021_V0_26_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_155_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.021_V0_26_155_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_157, { "157, Geometric Vertical Rate", "asterix.021_V0_26_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_157_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.021_V0_26_157_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_160, { "160, Ground Vector", "asterix.021_V0_26_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_160_GS, { "GS, Ground Speed in Two's Complement Form Referenced to WGS84, [NM/s]", "asterix.021_V0_26_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_160_TA, { "TA, Track Angle, [°]", "asterix.021_V0_26_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_165, { "165, Rate Of Turn", "asterix.021_V0_26_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_165_TI, { "TI, Turn Indicator", "asterix.021_V0_26_165_TI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_165_TI), 0xc0, NULL, HFILL } }, { &hf_021_V0_26_165_ROT, { "ROT, Rate of Turn, [°/s]", "asterix.021_V0_26_165_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_170, { "170, Target Identification", "asterix.021_V0_26_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_170_VALUE, { "Target Identification", "asterix.021_V0_26_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_200, { "200, Target Status", "asterix.021_V0_26_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_200_VALUE, { "Target Status", "asterix.021_V0_26_200_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_200_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V0_26_210, { "210, Link Technology Indicator", "asterix.021_V0_26_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_210_DTI, { "DTI, Cockpit Display of Traffic Information", "asterix.021_V0_26_210_DTI", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_210_DTI), 0x10, NULL, HFILL } }, { &hf_021_V0_26_210_MDS, { "MDS, Mode-S Extended Squitter", "asterix.021_V0_26_210_MDS", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_210_MDS), 0x08, NULL, HFILL } }, { &hf_021_V0_26_210_UAT, { "UAT, UAT", "asterix.021_V0_26_210_UAT", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_210_UAT), 0x04, NULL, HFILL } }, { &hf_021_V0_26_210_VDL, { "VDL, VDL Mode 4", "asterix.021_V0_26_210_VDL", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_210_VDL), 0x02, NULL, HFILL } }, { &hf_021_V0_26_210_OTR, { "OTR, Other Technology", "asterix.021_V0_26_210_OTR", FT_UINT8, BASE_DEC, VALS (valstr_021_V0_26_210_OTR), 0x01, NULL, HFILL } }, { &hf_021_V0_26_220, { "220, Met Information", "asterix.021_V0_26_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_WS, { "WS, Wind Speed", "asterix.021_V0_26_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V0_26_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_WD, { "WD, Wind Direction", "asterix.021_V0_26_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V0_26_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_TMP, { "TMP, Temperature", "asterix.021_V0_26_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V0_26_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_TRB, { "TRB, Turbulence", "asterix.021_V0_26_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_220_TRB_VALUE, { "Turbulence", "asterix.021_V0_26_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_230, { "230, Roll Angle", "asterix.021_V0_26_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_230_VALUE, { "Roll Angle, [°]", "asterix.021_V0_26_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_RE, { "RE, Reserved Expansion Field", "asterix.021_V0_26_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V0_26_SP, { "SP, Special Purpose Field", "asterix.021_V0_26_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_008, { "008, Aircraft Operational Status", "asterix.021_V2_2_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_008_RA, { "RA, TCAS Resolution Advisory Active", "asterix.021_V2_2_008_RA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_008_RA), 0x80, NULL, HFILL } }, { &hf_021_V2_2_008_TC, { "TC, Target Trajectory Change Report Capability", "asterix.021_V2_2_008_TC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_008_TC), 0x60, NULL, HFILL } }, { &hf_021_V2_2_008_TS, { "TS, Target State Report Capability", "asterix.021_V2_2_008_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_008_TS), 0x10, NULL, HFILL } }, { &hf_021_V2_2_008_ARV, { "ARV, Air-Referenced Velocity Report Capability", "asterix.021_V2_2_008_ARV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_008_ARV), 0x08, NULL, HFILL } }, { &hf_021_V2_2_008_CDTIA, { "CDTIA, Cockpit Display of Traffic Information Airborne", "asterix.021_V2_2_008_CDTIA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_008_CDTIA), 0x04, NULL, HFILL } }, { &hf_021_V2_2_008_NOTTCAS, { "NOTTCAS, TCAS System Status", "asterix.021_V2_2_008_NOTTCAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_008_NOTTCAS), 0x02, NULL, HFILL } }, { &hf_021_V2_2_008_SA, { "SA, Single Antenna", "asterix.021_V2_2_008_SA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_008_SA), 0x01, NULL, HFILL } }, { &hf_021_V2_2_010, { "010, Data Source Identification", "asterix.021_V2_2_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_010_SAC, { "SAC, System Area Code", "asterix.021_V2_2_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_010_SIC, { "SIC, System Identification Code", "asterix.021_V2_2_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_015, { "015, Service Identification", "asterix.021_V2_2_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_015_VALUE, { "Service Identification", "asterix.021_V2_2_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_016, { "016, Service Management", "asterix.021_V2_2_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_016_VALUE, { "Service Management, [s]", "asterix.021_V2_2_016_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_020, { "020, Emitter Category", "asterix.021_V2_2_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_020_VALUE, { "Emitter Category", "asterix.021_V2_2_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V2_2_040, { "040, Target Report Descriptor", "asterix.021_V2_2_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_040_ATP, { "ATP, Address Type", "asterix.021_V2_2_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V2_2_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V2_2_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V2_2_040_RC, { "RC, Range Check", "asterix.021_V2_2_040_RC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_RC), 0x04, NULL, HFILL } }, { &hf_021_V2_2_040_RAB, { "RAB, Report Type", "asterix.021_V2_2_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_RAB), 0x02, NULL, HFILL } }, { &hf_021_V2_2_040_DCR, { "DCR, Differential Correction", "asterix.021_V2_2_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V2_2_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V2_2_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V2_2_040_SIM, { "SIM, Simulated Target", "asterix.021_V2_2_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V2_2_040_TST, { "TST, Test Target", "asterix.021_V2_2_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V2_2_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V2_2_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_SAA), 0x08, NULL, HFILL } }, { &hf_021_V2_2_040_CL, { "CL, Confidence Level", "asterix.021_V2_2_040_CL", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_CL), 0x06, NULL, HFILL } }, { &hf_021_V2_2_040_IPC, { "IPC, Independent Position Check", "asterix.021_V2_2_040_IPC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_IPC), 0x20, NULL, HFILL } }, { &hf_021_V2_2_040_NOGO, { "NOGO, No-go Bit Status", "asterix.021_V2_2_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_NOGO), 0x10, NULL, HFILL } }, { &hf_021_V2_2_040_CPR, { "CPR, Compact Position Reporting", "asterix.021_V2_2_040_CPR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_CPR), 0x08, NULL, HFILL } }, { &hf_021_V2_2_040_LDPJ, { "LDPJ, Local Decoding Position Jump", "asterix.021_V2_2_040_LDPJ", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_LDPJ), 0x04, NULL, HFILL } }, { &hf_021_V2_2_040_RCF, { "RCF, Range Check", "asterix.021_V2_2_040_RCF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_040_RCF), 0x02, NULL, HFILL } }, { &hf_021_V2_2_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_V2_2_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.021_V2_2_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_2_071, { "071, Time of Applicability for Position", "asterix.021_V2_2_071", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_071_VALUE, { "Time of Applicability for Position, [s]", "asterix.021_V2_2_071_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_072, { "072, Time of Applicability for Velocity", "asterix.021_V2_2_072", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_072_VALUE, { "Time of Applicability for Velocity, [s]", "asterix.021_V2_2_072_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_073, { "073, Time of Message Reception for Position", "asterix.021_V2_2_073", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_073_VALUE, { "Time of Message Reception for Position, [s]", "asterix.021_V2_2_073_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_074, { "074, Time of Message Reception of Position-High Precision", "asterix.021_V2_2_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_074_FSI, { "FSI, Full Second Indication", "asterix.021_V2_2_074_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_074_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_2_074_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_2_074_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_075, { "075, Time of Message Reception for Velocity", "asterix.021_V2_2_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_075_VALUE, { "Time of Message Reception for Velocity, [s]", "asterix.021_V2_2_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_076, { "076, Time of Message Reception of Velocity-High Precision", "asterix.021_V2_2_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_076_FSI, { "FSI, Full Second Indication", "asterix.021_V2_2_076_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_076_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_2_076_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_2_076_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_077, { "077, Time of ASTERIX Report Transmission", "asterix.021_V2_2_077", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_077_VALUE, { "Time of ASTERIX Report Transmission, [s]", "asterix.021_V2_2_077_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_080, { "080, Target Address", "asterix.021_V2_2_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_080_VALUE, { "Target Address", "asterix.021_V2_2_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_090, { "090, Quality Indicators", "asterix.021_V2_2_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_090_NUCRNACV, { "NUCRNACV, Navigation Uncertainty Category for Velocity NUCr or the Navigation Accuracy Category for Velocity NACv", "asterix.021_V2_2_090_NUCRNACV", FT_UINT8, BASE_DEC, NULL, 0xe0, NULL, HFILL } }, { &hf_021_V2_2_090_NUCPNIC, { "NUCPNIC, Navigation Uncertainty Category for Position NUCp or Navigation Integrity Category NIC", "asterix.021_V2_2_090_NUCPNIC", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_2_090_NICBARO, { "NICBARO, Navigation Integrity Category for Barometric Altitude", "asterix.021_V2_2_090_NICBARO", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } }, { &hf_021_V2_2_090_SIL, { "SIL, Surveillance (version 1) or Source (version 2) Integrity Level", "asterix.021_V2_2_090_SIL", FT_UINT8, BASE_DEC, NULL, 0x60, NULL, HFILL } }, { &hf_021_V2_2_090_NACP, { "NACP, Navigation Accuracy Category for Position", "asterix.021_V2_2_090_NACP", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_2_090_SILS, { "SILS, SIL-Supplement", "asterix.021_V2_2_090_SILS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_090_SILS), 0x20, NULL, HFILL } }, { &hf_021_V2_2_090_SDA, { "SDA, Horizontal Position System Design Assurance Level (as Defined in Version 2)", "asterix.021_V2_2_090_SDA", FT_UINT8, BASE_DEC, NULL, 0x18, NULL, HFILL } }, { &hf_021_V2_2_090_GVA, { "GVA, Geometric Altitude Accuracy", "asterix.021_V2_2_090_GVA", FT_UINT8, BASE_DEC, NULL, 0x06, NULL, HFILL } }, { &hf_021_V2_2_090_PIC, { "PIC, Position Integrity Category", "asterix.021_V2_2_090_PIC", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_2_110, { "110, Trajectory Intent", "asterix.021_V2_2_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V2_2_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_110_TIS_NAV, { "NAV", "asterix.021_V2_2_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V2_2_110_TIS_NVB, { "NVB", "asterix.021_V2_2_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V2_2_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V2_2_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_110_TID_TCA, { "TCA", "asterix.021_V2_2_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V2_2_110_TID_NC, { "NC", "asterix.021_V2_2_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V2_2_110_TID_TCPN, { "TCPN", "asterix.021_V2_2_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V2_2_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V2_2_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_2_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_2_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_110_TID_PT, { "PT, Point Type", "asterix.021_V2_2_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V2_2_110_TID_TD, { "TD", "asterix.021_V2_2_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V2_2_110_TID_TRA, { "TRA", "asterix.021_V2_2_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V2_2_110_TID_TOA, { "TOA", "asterix.021_V2_2_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V2_2_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V2_2_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V2_2_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V2_2_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_2_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_130_LON, { "LON, Longitude, [°]", "asterix.021_V2_2_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_131, { "131, High-Resolution Position in WGS-84 Co-ordinates", "asterix.021_V2_2_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_131_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_2_131_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_131_LON, { "LON, Longitude, [°]", "asterix.021_V2_2_131_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_132, { "132, Message Amplitude", "asterix.021_V2_2_132", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_132_VALUE, { "Message Amplitude, [dBm]", "asterix.021_V2_2_132_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_140, { "140, Geometric Height", "asterix.021_V2_2_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_140_VALUE, { "Geometric Height, [ft]", "asterix.021_V2_2_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_145, { "145, Flight Level", "asterix.021_V2_2_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_145_VALUE, { "Flight Level, [FL]", "asterix.021_V2_2_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_146, { "146, Selected Altitude", "asterix.021_V2_2_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_146_SAS, { "SAS, Source Availability", "asterix.021_V2_2_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V2_2_146_S, { "S, Source", "asterix.021_V2_2_146_S", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_146_S), 0x60, NULL, HFILL } }, { &hf_021_V2_2_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_2_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_148, { "148, Final State Selected Altitude", "asterix.021_V2_2_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V2_2_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V2_2_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V2_2_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V2_2_148_AM, { "AM, Approach Mode", "asterix.021_V2_2_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V2_2_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_2_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_150, { "150, Air Speed", "asterix.021_V2_2_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_150_IM, { "IM", "asterix.021_V2_2_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V2_2_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V2_2_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V2_2_151, { "151, True Airspeed", "asterix.021_V2_2_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_151_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_2_151_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_151_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_2_151_TAS, { "TAS, True Air Speed, [kt]", "asterix.021_V2_2_151_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_152, { "152, Magnetic Heading", "asterix.021_V2_2_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V2_2_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_155, { "155, Barometric Vertical Rate", "asterix.021_V2_2_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_155_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_2_155_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_155_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_2_155_BVR, { "BVR, Barometric Vertical Rate, [ft/min]", "asterix.021_V2_2_155_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_157, { "157, Geometric Vertical Rate", "asterix.021_V2_2_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_157_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_2_157_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_157_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_2_157_GVR, { "GVR, Geometric Vertical Rate, [ft/min]", "asterix.021_V2_2_157_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_160, { "160, Airborne Ground Vector", "asterix.021_V2_2_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_160_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_2_160_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_160_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_2_160_GS, { "GS, Ground Speed Referenced to WGS-84, [NM/s]", "asterix.021_V2_2_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_160_TA, { "TA, Track Angle Clockwise Reference to True North, [°]", "asterix.021_V2_2_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_161, { "161, Track Number", "asterix.021_V2_2_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_161_TRNUM, { "TRNUM, Track Number", "asterix.021_V2_2_161_TRNUM", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_2_165, { "165, Track Angle Rate", "asterix.021_V2_2_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_165_TAR, { "TAR, Track Angle Rate, [°/s]", "asterix.021_V2_2_165_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_170, { "170, Target Identification", "asterix.021_V2_2_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_170_VALUE, { "Target Identification", "asterix.021_V2_2_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_200, { "200, Target Status", "asterix.021_V2_2_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_200_ICF, { "ICF, Intent Change Flag (see Note)", "asterix.021_V2_2_200_ICF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_200_ICF), 0x80, NULL, HFILL } }, { &hf_021_V2_2_200_LNAV, { "LNAV, LNAV Mode", "asterix.021_V2_2_200_LNAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_200_LNAV), 0x40, NULL, HFILL } }, { &hf_021_V2_2_200_ME, { "ME, Military Emergency", "asterix.021_V2_2_200_ME", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_200_ME), 0x20, NULL, HFILL } }, { &hf_021_V2_2_200_PS, { "PS, Priority Status", "asterix.021_V2_2_200_PS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_200_PS), 0x1c, NULL, HFILL } }, { &hf_021_V2_2_200_SS, { "SS, Surveillance Status", "asterix.021_V2_2_200_SS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_200_SS), 0x03, NULL, HFILL } }, { &hf_021_V2_2_210, { "210, MOPS Version", "asterix.021_V2_2_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_210_VNS, { "VNS, Version Not Supported", "asterix.021_V2_2_210_VNS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_210_VNS), 0x40, NULL, HFILL } }, { &hf_021_V2_2_210_VN, { "VN, Version Number", "asterix.021_V2_2_210_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_210_VN), 0x38, NULL, HFILL } }, { &hf_021_V2_2_210_LTT, { "LTT, Link Technology Type", "asterix.021_V2_2_210_LTT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_210_LTT), 0x07, NULL, HFILL } }, { &hf_021_V2_2_220, { "220, Met Information", "asterix.021_V2_2_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_WS, { "WS, Wind Speed", "asterix.021_V2_2_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V2_2_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_WD, { "WD, Wind Direction", "asterix.021_V2_2_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V2_2_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_TMP, { "TMP, Temperature", "asterix.021_V2_2_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V2_2_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_TRB, { "TRB, Turbulence", "asterix.021_V2_2_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_220_TRB_VALUE, { "Turbulence", "asterix.021_V2_2_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_230, { "230, Roll Angle", "asterix.021_V2_2_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_230_VALUE, { "Roll Angle, [°]", "asterix.021_V2_2_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_250, { "250, Mode S MB Data", "asterix.021_V2_2_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_250_VALUE, { "Mode S MB Data", "asterix.021_V2_2_250_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_260, { "260, ACAS Resolution Advisory Report", "asterix.021_V2_2_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_260_TYP, { "TYP, Message Type (= 28 for 1090 ES, Version 2)", "asterix.021_V2_2_260_TYP", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_021_V2_2_260_STYP, { "STYP, Message Sub-type (= 2 for 1090 ES, Version 2)", "asterix.021_V2_2_260_STYP", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_021_V2_2_260_ARA, { "ARA, Active Resolution Advisories", "asterix.021_V2_2_260_ARA", FT_UINT16, BASE_DEC, NULL, 0xfffc, NULL, HFILL } }, { &hf_021_V2_2_260_RAC, { "RAC, RAC (RA Complement) Record", "asterix.021_V2_2_260_RAC", FT_UINT16, BASE_DEC, NULL, 0x03c0, NULL, HFILL } }, { &hf_021_V2_2_260_RAT, { "RAT, RA Terminated", "asterix.021_V2_2_260_RAT", FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL } }, { &hf_021_V2_2_260_MTE, { "MTE, Multiple Threat Encounter", "asterix.021_V2_2_260_MTE", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_021_V2_2_260_TTI, { "TTI, Threat Type Indicator", "asterix.021_V2_2_260_TTI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_021_V2_2_260_TID, { "TID, Threat Identity Data", "asterix.021_V2_2_260_TID", FT_UINT32, BASE_DEC, NULL, 0x03ffffff, NULL, HFILL } }, { &hf_021_V2_2_271, { "271, Surface Capabilities and Characteristics", "asterix.021_V2_2_271", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_271_POA, { "POA, Position Offset Applied", "asterix.021_V2_2_271_POA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_271_POA), 0x20, NULL, HFILL } }, { &hf_021_V2_2_271_CDTIS, { "CDTIS, Cockpit Display of Traffic Information Surface", "asterix.021_V2_2_271_CDTIS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_271_CDTIS), 0x10, NULL, HFILL } }, { &hf_021_V2_2_271_B2LOW, { "B2LOW, Class B2 Transmit Power Less Than 70 Watts", "asterix.021_V2_2_271_B2LOW", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_271_B2LOW), 0x08, NULL, HFILL } }, { &hf_021_V2_2_271_RAS, { "RAS, Receiving ATC Services", "asterix.021_V2_2_271_RAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_271_RAS), 0x04, NULL, HFILL } }, { &hf_021_V2_2_271_IDENT, { "IDENT, Setting of IDENT Switch", "asterix.021_V2_2_271_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_2_271_IDENT), 0x02, NULL, HFILL } }, { &hf_021_V2_2_271_LW, { "LW, Length and Width of the Aircraft", "asterix.021_V2_2_271_LW", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_2_295, { "295, Data Ages", "asterix.021_V2_2_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_AOS, { "AOS, Aircraft Operational Status Age", "asterix.021_V2_2_295_AOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_AOS_VALUE, { "Aircraft Operational Status Age, [s]", "asterix.021_V2_2_295_AOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TRD, { "TRD, Target Report Descriptor Age", "asterix.021_V2_2_295_TRD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TRD_VALUE, { "Target Report Descriptor Age, [s]", "asterix.021_V2_2_295_TRD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_M3A, { "M3A, Mode 3/A Age", "asterix.021_V2_2_295_M3A", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_M3A_VALUE, { "Mode 3/A Age, [s]", "asterix.021_V2_2_295_M3A_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_QI, { "QI, Quality Indicators Age", "asterix.021_V2_2_295_QI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_QI_VALUE, { "Quality Indicators Age, [s]", "asterix.021_V2_2_295_QI_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TI1, { "TI1, Trajectory Intent Age", "asterix.021_V2_2_295_TI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TI1_VALUE, { "Trajectory Intent Age, [s]", "asterix.021_V2_2_295_TI1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_MAM, { "MAM, Message Amplitude Age", "asterix.021_V2_2_295_MAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_MAM_VALUE, { "Message Amplitude Age, [s]", "asterix.021_V2_2_295_MAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_GH, { "GH, Geometric Height Age", "asterix.021_V2_2_295_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_GH_VALUE, { "Geometric Height Age, [s]", "asterix.021_V2_2_295_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_FL, { "FL, Flight Level Age", "asterix.021_V2_2_295_FL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_FL_VALUE, { "Flight Level Age, [s]", "asterix.021_V2_2_295_FL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_ISA, { "ISA, Intermediate State Selected Altitude Age", "asterix.021_V2_2_295_ISA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_ISA_VALUE, { "Intermediate State Selected Altitude Age, [s]", "asterix.021_V2_2_295_ISA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_FSA, { "FSA, Final State Selected Altitude Age", "asterix.021_V2_2_295_FSA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_FSA_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.021_V2_2_295_FSA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_AS, { "AS, Air Speed Age", "asterix.021_V2_2_295_AS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_AS_VALUE, { "Air Speed Age, [s]", "asterix.021_V2_2_295_AS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TAS, { "TAS, True Air Speed Age", "asterix.021_V2_2_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TAS_VALUE, { "True Air Speed Age, [s]", "asterix.021_V2_2_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_MH, { "MH, Magnetic Heading Age", "asterix.021_V2_2_295_MH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_MH_VALUE, { "Magnetic Heading Age, [s]", "asterix.021_V2_2_295_MH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.021_V2_2_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.021_V2_2_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_GVR, { "GVR, Geometric Vertical Rate Age", "asterix.021_V2_2_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_GVR_VALUE, { "Geometric Vertical Rate Age, [s]", "asterix.021_V2_2_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_GV, { "GV, Ground Vector Age", "asterix.021_V2_2_295_GV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_GV_VALUE, { "Ground Vector Age, [s]", "asterix.021_V2_2_295_GV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TAR, { "TAR, Track Angle Rate Age", "asterix.021_V2_2_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.021_V2_2_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TI2, { "TI2, Target Identification Age", "asterix.021_V2_2_295_TI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TI2_VALUE, { "Target Identification Age, [s]", "asterix.021_V2_2_295_TI2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TS, { "TS, Target Status Age", "asterix.021_V2_2_295_TS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_TS_VALUE, { "Target Status Age, [s]", "asterix.021_V2_2_295_TS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_MET, { "MET, Met Information Age", "asterix.021_V2_2_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_MET_VALUE, { "Met Information Age, [s]", "asterix.021_V2_2_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_ROA, { "ROA, Roll Angle Age", "asterix.021_V2_2_295_ROA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_ROA_VALUE, { "Roll Angle Age, [s]", "asterix.021_V2_2_295_ROA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_ARA, { "ARA, ACAS Resolution Advisory Age", "asterix.021_V2_2_295_ARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_ARA_VALUE, { "ACAS Resolution Advisory Age, [s]", "asterix.021_V2_2_295_ARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_SCC, { "SCC, Surface Capabilities and Characteristics Age", "asterix.021_V2_2_295_SCC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_295_SCC_VALUE, { "Surface Capabilities and Characteristics Age, [s]", "asterix.021_V2_2_295_SCC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_400, { "400, Receiver ID", "asterix.021_V2_2_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_400_VALUE, { "Receiver ID", "asterix.021_V2_2_400_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_RE, { "RE, Reserved Expansion Field", "asterix.021_V2_2_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_2_SP, { "SP, Special Purpose Field", "asterix.021_V2_2_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_008, { "008, Aircraft Operational Status", "asterix.021_V2_3_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_008_RA, { "RA, TCAS Resolution Advisory Active", "asterix.021_V2_3_008_RA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_008_RA), 0x80, NULL, HFILL } }, { &hf_021_V2_3_008_TC, { "TC, Target Trajectory Change Report Capability", "asterix.021_V2_3_008_TC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_008_TC), 0x60, NULL, HFILL } }, { &hf_021_V2_3_008_TS, { "TS, Target State Report Capability", "asterix.021_V2_3_008_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_008_TS), 0x10, NULL, HFILL } }, { &hf_021_V2_3_008_ARV, { "ARV, Air-Referenced Velocity Report Capability", "asterix.021_V2_3_008_ARV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_008_ARV), 0x08, NULL, HFILL } }, { &hf_021_V2_3_008_CDTIA, { "CDTIA, Cockpit Display of Traffic Information Airborne", "asterix.021_V2_3_008_CDTIA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_008_CDTIA), 0x04, NULL, HFILL } }, { &hf_021_V2_3_008_NOTTCAS, { "NOTTCAS, TCAS System Status", "asterix.021_V2_3_008_NOTTCAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_008_NOTTCAS), 0x02, NULL, HFILL } }, { &hf_021_V2_3_008_SA, { "SA, Single Antenna", "asterix.021_V2_3_008_SA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_008_SA), 0x01, NULL, HFILL } }, { &hf_021_V2_3_010, { "010, Data Source Identification", "asterix.021_V2_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_010_SAC, { "SAC, System Area Code", "asterix.021_V2_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_010_SIC, { "SIC, System Identification Code", "asterix.021_V2_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_015, { "015, Service Identification", "asterix.021_V2_3_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_015_VALUE, { "Service Identification", "asterix.021_V2_3_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_016, { "016, Service Management", "asterix.021_V2_3_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_016_VALUE, { "Service Management, [s]", "asterix.021_V2_3_016_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_020, { "020, Emitter Category", "asterix.021_V2_3_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_020_VALUE, { "Emitter Category", "asterix.021_V2_3_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V2_3_040, { "040, Target Report Descriptor", "asterix.021_V2_3_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_040_ATP, { "ATP, Address Type", "asterix.021_V2_3_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V2_3_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V2_3_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V2_3_040_RC, { "RC, Range Check", "asterix.021_V2_3_040_RC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_RC), 0x04, NULL, HFILL } }, { &hf_021_V2_3_040_RAB, { "RAB, Report Type", "asterix.021_V2_3_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_RAB), 0x02, NULL, HFILL } }, { &hf_021_V2_3_040_DCR, { "DCR, Differential Correction", "asterix.021_V2_3_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V2_3_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V2_3_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V2_3_040_SIM, { "SIM, Simulated Target", "asterix.021_V2_3_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V2_3_040_TST, { "TST, Test Target", "asterix.021_V2_3_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V2_3_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V2_3_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_SAA), 0x08, NULL, HFILL } }, { &hf_021_V2_3_040_CL, { "CL, Confidence Level", "asterix.021_V2_3_040_CL", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_CL), 0x06, NULL, HFILL } }, { &hf_021_V2_3_040_LLC, { "LLC, List Lookup Check", "asterix.021_V2_3_040_LLC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_LLC), 0x40, NULL, HFILL } }, { &hf_021_V2_3_040_IPC, { "IPC, Independent Position Check", "asterix.021_V2_3_040_IPC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_IPC), 0x20, NULL, HFILL } }, { &hf_021_V2_3_040_NOGO, { "NOGO, No-go Bit Status", "asterix.021_V2_3_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_NOGO), 0x10, NULL, HFILL } }, { &hf_021_V2_3_040_CPR, { "CPR, Compact Position Reporting", "asterix.021_V2_3_040_CPR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_CPR), 0x08, NULL, HFILL } }, { &hf_021_V2_3_040_LDPJ, { "LDPJ, Local Decoding Position Jump", "asterix.021_V2_3_040_LDPJ", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_LDPJ), 0x04, NULL, HFILL } }, { &hf_021_V2_3_040_RCF, { "RCF, Range Check", "asterix.021_V2_3_040_RCF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_040_RCF), 0x02, NULL, HFILL } }, { &hf_021_V2_3_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_V2_3_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.021_V2_3_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_3_071, { "071, Time of Applicability for Position", "asterix.021_V2_3_071", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_071_VALUE, { "Time of Applicability for Position, [s]", "asterix.021_V2_3_071_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_072, { "072, Time of Applicability for Velocity", "asterix.021_V2_3_072", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_072_VALUE, { "Time of Applicability for Velocity, [s]", "asterix.021_V2_3_072_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_073, { "073, Time of Message Reception for Position", "asterix.021_V2_3_073", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_073_VALUE, { "Time of Message Reception for Position, [s]", "asterix.021_V2_3_073_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_074, { "074, Time of Message Reception of Position-High Precision", "asterix.021_V2_3_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_074_FSI, { "FSI, Full Second Indication", "asterix.021_V2_3_074_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_074_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_3_074_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_3_074_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_075, { "075, Time of Message Reception for Velocity", "asterix.021_V2_3_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_075_VALUE, { "Time of Message Reception for Velocity, [s]", "asterix.021_V2_3_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_076, { "076, Time of Message Reception of Velocity-High Precision", "asterix.021_V2_3_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_076_FSI, { "FSI, Full Second Indication", "asterix.021_V2_3_076_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_076_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_3_076_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_3_076_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_077, { "077, Time of ASTERIX Report Transmission", "asterix.021_V2_3_077", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_077_VALUE, { "Time of ASTERIX Report Transmission, [s]", "asterix.021_V2_3_077_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_080, { "080, Target Address", "asterix.021_V2_3_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_080_VALUE, { "Target Address", "asterix.021_V2_3_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_090, { "090, Quality Indicators", "asterix.021_V2_3_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_090_NUCRNACV, { "NUCRNACV, Navigation Uncertainty Category for Velocity NUCr or the Navigation Accuracy Category for Velocity NACv", "asterix.021_V2_3_090_NUCRNACV", FT_UINT8, BASE_DEC, NULL, 0xe0, NULL, HFILL } }, { &hf_021_V2_3_090_NUCPNIC, { "NUCPNIC, Navigation Uncertainty Category for Position NUCp or Navigation Integrity Category NIC", "asterix.021_V2_3_090_NUCPNIC", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_3_090_NICBARO, { "NICBARO, Navigation Integrity Category for Barometric Altitude", "asterix.021_V2_3_090_NICBARO", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } }, { &hf_021_V2_3_090_SIL, { "SIL, Surveillance (version 1) or Source (version 2) Integrity Level", "asterix.021_V2_3_090_SIL", FT_UINT8, BASE_DEC, NULL, 0x60, NULL, HFILL } }, { &hf_021_V2_3_090_NACP, { "NACP, Navigation Accuracy Category for Position", "asterix.021_V2_3_090_NACP", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_3_090_SILS, { "SILS, SIL-Supplement", "asterix.021_V2_3_090_SILS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_090_SILS), 0x20, NULL, HFILL } }, { &hf_021_V2_3_090_SDA, { "SDA, Horizontal Position System Design Assurance Level (as Defined in Version 2)", "asterix.021_V2_3_090_SDA", FT_UINT8, BASE_DEC, NULL, 0x18, NULL, HFILL } }, { &hf_021_V2_3_090_GVA, { "GVA, Geometric Altitude Accuracy", "asterix.021_V2_3_090_GVA", FT_UINT8, BASE_DEC, NULL, 0x06, NULL, HFILL } }, { &hf_021_V2_3_090_PIC, { "PIC, Position Integrity Category", "asterix.021_V2_3_090_PIC", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_3_110, { "110, Trajectory Intent", "asterix.021_V2_3_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V2_3_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_110_TIS_NAV, { "NAV", "asterix.021_V2_3_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V2_3_110_TIS_NVB, { "NVB", "asterix.021_V2_3_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V2_3_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V2_3_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_110_TID_TCA, { "TCA", "asterix.021_V2_3_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V2_3_110_TID_NC, { "NC", "asterix.021_V2_3_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V2_3_110_TID_TCPN, { "TCPN", "asterix.021_V2_3_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V2_3_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V2_3_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_3_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_3_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_110_TID_PT, { "PT, Point Type", "asterix.021_V2_3_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V2_3_110_TID_TD, { "TD", "asterix.021_V2_3_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V2_3_110_TID_TRA, { "TRA", "asterix.021_V2_3_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V2_3_110_TID_TOA, { "TOA", "asterix.021_V2_3_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V2_3_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V2_3_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V2_3_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V2_3_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_3_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_130_LON, { "LON, Longitude, [°]", "asterix.021_V2_3_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_131, { "131, High-Resolution Position in WGS-84 Co-ordinates", "asterix.021_V2_3_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_131_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_3_131_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_131_LON, { "LON, Longitude, [°]", "asterix.021_V2_3_131_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_132, { "132, Message Amplitude", "asterix.021_V2_3_132", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_132_VALUE, { "Message Amplitude, [dBm]", "asterix.021_V2_3_132_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_140, { "140, Geometric Height", "asterix.021_V2_3_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_140_VALUE, { "Geometric Height, [ft]", "asterix.021_V2_3_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_145, { "145, Flight Level", "asterix.021_V2_3_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_145_VALUE, { "Flight Level, [FL]", "asterix.021_V2_3_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_146, { "146, Selected Altitude", "asterix.021_V2_3_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_146_SAS, { "SAS, Source Availability", "asterix.021_V2_3_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V2_3_146_S, { "S, Source", "asterix.021_V2_3_146_S", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_146_S), 0x60, NULL, HFILL } }, { &hf_021_V2_3_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_3_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_148, { "148, Final State Selected Altitude", "asterix.021_V2_3_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V2_3_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V2_3_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V2_3_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V2_3_148_AM, { "AM, Approach Mode", "asterix.021_V2_3_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V2_3_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_3_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_150, { "150, Air Speed", "asterix.021_V2_3_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_150_IM, { "IM", "asterix.021_V2_3_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V2_3_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V2_3_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V2_3_151, { "151, True Airspeed", "asterix.021_V2_3_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_151_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_3_151_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_151_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_3_151_TAS, { "TAS, True Air Speed, [kt]", "asterix.021_V2_3_151_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_152, { "152, Magnetic Heading", "asterix.021_V2_3_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V2_3_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_155, { "155, Barometric Vertical Rate", "asterix.021_V2_3_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_155_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_3_155_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_155_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_3_155_BVR, { "BVR, Barometric Vertical Rate, [ft/min]", "asterix.021_V2_3_155_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_157, { "157, Geometric Vertical Rate", "asterix.021_V2_3_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_157_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_3_157_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_157_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_3_157_GVR, { "GVR, Geometric Vertical Rate, [ft/min]", "asterix.021_V2_3_157_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_160, { "160, Airborne Ground Vector", "asterix.021_V2_3_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_160_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_3_160_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_160_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_3_160_GS, { "GS, Ground Speed Referenced to WGS-84, [NM/s]", "asterix.021_V2_3_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_160_TA, { "TA, Track Angle Clockwise Reference to True North, [°]", "asterix.021_V2_3_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_161, { "161, Track Number", "asterix.021_V2_3_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_161_TRNUM, { "TRNUM, Track Number", "asterix.021_V2_3_161_TRNUM", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_3_165, { "165, Track Angle Rate", "asterix.021_V2_3_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_165_TAR, { "TAR, Track Angle Rate, [°/s]", "asterix.021_V2_3_165_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_170, { "170, Target Identification", "asterix.021_V2_3_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_170_VALUE, { "Target Identification", "asterix.021_V2_3_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_200, { "200, Target Status", "asterix.021_V2_3_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_200_ICF, { "ICF, Intent Change Flag (see Note)", "asterix.021_V2_3_200_ICF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_200_ICF), 0x80, NULL, HFILL } }, { &hf_021_V2_3_200_LNAV, { "LNAV, LNAV Mode", "asterix.021_V2_3_200_LNAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_200_LNAV), 0x40, NULL, HFILL } }, { &hf_021_V2_3_200_ME, { "ME, Military Emergency", "asterix.021_V2_3_200_ME", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_200_ME), 0x20, NULL, HFILL } }, { &hf_021_V2_3_200_PS, { "PS, Priority Status", "asterix.021_V2_3_200_PS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_200_PS), 0x1c, NULL, HFILL } }, { &hf_021_V2_3_200_SS, { "SS, Surveillance Status", "asterix.021_V2_3_200_SS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_200_SS), 0x03, NULL, HFILL } }, { &hf_021_V2_3_210, { "210, MOPS Version", "asterix.021_V2_3_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_210_VNS, { "VNS, Version Not Supported", "asterix.021_V2_3_210_VNS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_210_VNS), 0x40, NULL, HFILL } }, { &hf_021_V2_3_210_VN, { "VN, Version Number", "asterix.021_V2_3_210_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_210_VN), 0x38, NULL, HFILL } }, { &hf_021_V2_3_210_LTT, { "LTT, Link Technology Type", "asterix.021_V2_3_210_LTT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_210_LTT), 0x07, NULL, HFILL } }, { &hf_021_V2_3_220, { "220, Met Information", "asterix.021_V2_3_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_WS, { "WS, Wind Speed", "asterix.021_V2_3_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V2_3_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_WD, { "WD, Wind Direction", "asterix.021_V2_3_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V2_3_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_TMP, { "TMP, Temperature", "asterix.021_V2_3_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V2_3_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_TRB, { "TRB, Turbulence", "asterix.021_V2_3_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_220_TRB_VALUE, { "Turbulence", "asterix.021_V2_3_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_230, { "230, Roll Angle", "asterix.021_V2_3_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_230_VALUE, { "Roll Angle, [°]", "asterix.021_V2_3_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_250, { "250, Mode S MB Data", "asterix.021_V2_3_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_250_VALUE, { "Mode S MB Data", "asterix.021_V2_3_250_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_260, { "260, ACAS Resolution Advisory Report", "asterix.021_V2_3_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_260_TYP, { "TYP, Message Type (= 28 for 1090 ES, Version 2)", "asterix.021_V2_3_260_TYP", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_021_V2_3_260_STYP, { "STYP, Message Sub-type (= 2 for 1090 ES, Version 2)", "asterix.021_V2_3_260_STYP", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_021_V2_3_260_ARA, { "ARA, Active Resolution Advisories", "asterix.021_V2_3_260_ARA", FT_UINT16, BASE_DEC, NULL, 0xfffc, NULL, HFILL } }, { &hf_021_V2_3_260_RAC, { "RAC, RAC (RA Complement) Record", "asterix.021_V2_3_260_RAC", FT_UINT16, BASE_DEC, NULL, 0x03c0, NULL, HFILL } }, { &hf_021_V2_3_260_RAT, { "RAT, RA Terminated", "asterix.021_V2_3_260_RAT", FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL } }, { &hf_021_V2_3_260_MTE, { "MTE, Multiple Threat Encounter", "asterix.021_V2_3_260_MTE", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_021_V2_3_260_TTI, { "TTI, Threat Type Indicator", "asterix.021_V2_3_260_TTI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_021_V2_3_260_TID, { "TID, Threat Identity Data", "asterix.021_V2_3_260_TID", FT_UINT32, BASE_DEC, NULL, 0x03ffffff, NULL, HFILL } }, { &hf_021_V2_3_271, { "271, Surface Capabilities and Characteristics", "asterix.021_V2_3_271", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_271_POA, { "POA, Position Offset Applied", "asterix.021_V2_3_271_POA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_271_POA), 0x20, NULL, HFILL } }, { &hf_021_V2_3_271_CDTIS, { "CDTIS, Cockpit Display of Traffic Information Surface", "asterix.021_V2_3_271_CDTIS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_271_CDTIS), 0x10, NULL, HFILL } }, { &hf_021_V2_3_271_B2LOW, { "B2LOW, Class B2 Transmit Power Less Than 70 Watts", "asterix.021_V2_3_271_B2LOW", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_271_B2LOW), 0x08, NULL, HFILL } }, { &hf_021_V2_3_271_RAS, { "RAS, Receiving ATC Services", "asterix.021_V2_3_271_RAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_271_RAS), 0x04, NULL, HFILL } }, { &hf_021_V2_3_271_IDENT, { "IDENT, Setting of IDENT Switch", "asterix.021_V2_3_271_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_3_271_IDENT), 0x02, NULL, HFILL } }, { &hf_021_V2_3_271_LW, { "LW, Length and Width of the Aircraft", "asterix.021_V2_3_271_LW", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_3_295, { "295, Data Ages", "asterix.021_V2_3_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_AOS, { "AOS, Aircraft Operational Status Age", "asterix.021_V2_3_295_AOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_AOS_VALUE, { "Aircraft Operational Status Age, [s]", "asterix.021_V2_3_295_AOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TRD, { "TRD, Target Report Descriptor Age", "asterix.021_V2_3_295_TRD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TRD_VALUE, { "Target Report Descriptor Age, [s]", "asterix.021_V2_3_295_TRD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_M3A, { "M3A, Mode 3/A Age", "asterix.021_V2_3_295_M3A", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_M3A_VALUE, { "Mode 3/A Age, [s]", "asterix.021_V2_3_295_M3A_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_QI, { "QI, Quality Indicators Age", "asterix.021_V2_3_295_QI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_QI_VALUE, { "Quality Indicators Age, [s]", "asterix.021_V2_3_295_QI_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TI1, { "TI1, Trajectory Intent Age", "asterix.021_V2_3_295_TI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TI1_VALUE, { "Trajectory Intent Age, [s]", "asterix.021_V2_3_295_TI1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_MAM, { "MAM, Message Amplitude Age", "asterix.021_V2_3_295_MAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_MAM_VALUE, { "Message Amplitude Age, [s]", "asterix.021_V2_3_295_MAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_GH, { "GH, Geometric Height Age", "asterix.021_V2_3_295_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_GH_VALUE, { "Geometric Height Age, [s]", "asterix.021_V2_3_295_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_FL, { "FL, Flight Level Age", "asterix.021_V2_3_295_FL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_FL_VALUE, { "Flight Level Age, [s]", "asterix.021_V2_3_295_FL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_ISA, { "ISA, Intermediate State Selected Altitude Age", "asterix.021_V2_3_295_ISA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_ISA_VALUE, { "Intermediate State Selected Altitude Age, [s]", "asterix.021_V2_3_295_ISA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_FSA, { "FSA, Final State Selected Altitude Age", "asterix.021_V2_3_295_FSA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_FSA_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.021_V2_3_295_FSA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_AS, { "AS, Air Speed Age", "asterix.021_V2_3_295_AS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_AS_VALUE, { "Air Speed Age, [s]", "asterix.021_V2_3_295_AS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TAS, { "TAS, True Air Speed Age", "asterix.021_V2_3_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TAS_VALUE, { "True Air Speed Age, [s]", "asterix.021_V2_3_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_MH, { "MH, Magnetic Heading Age", "asterix.021_V2_3_295_MH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_MH_VALUE, { "Magnetic Heading Age, [s]", "asterix.021_V2_3_295_MH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.021_V2_3_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.021_V2_3_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_GVR, { "GVR, Geometric Vertical Rate Age", "asterix.021_V2_3_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_GVR_VALUE, { "Geometric Vertical Rate Age, [s]", "asterix.021_V2_3_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_GV, { "GV, Ground Vector Age", "asterix.021_V2_3_295_GV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_GV_VALUE, { "Ground Vector Age, [s]", "asterix.021_V2_3_295_GV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TAR, { "TAR, Track Angle Rate Age", "asterix.021_V2_3_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.021_V2_3_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TI2, { "TI2, Target Identification Age", "asterix.021_V2_3_295_TI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TI2_VALUE, { "Target Identification Age, [s]", "asterix.021_V2_3_295_TI2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TS, { "TS, Target Status Age", "asterix.021_V2_3_295_TS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_TS_VALUE, { "Target Status Age, [s]", "asterix.021_V2_3_295_TS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_MET, { "MET, Met Information Age", "asterix.021_V2_3_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_MET_VALUE, { "Met Information Age, [s]", "asterix.021_V2_3_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_ROA, { "ROA, Roll Angle Age", "asterix.021_V2_3_295_ROA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_ROA_VALUE, { "Roll Angle Age, [s]", "asterix.021_V2_3_295_ROA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_ARA, { "ARA, ACAS Resolution Advisory Age", "asterix.021_V2_3_295_ARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_ARA_VALUE, { "ACAS Resolution Advisory Age, [s]", "asterix.021_V2_3_295_ARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_SCC, { "SCC, Surface Capabilities and Characteristics Age", "asterix.021_V2_3_295_SCC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_295_SCC_VALUE, { "Surface Capabilities and Characteristics Age, [s]", "asterix.021_V2_3_295_SCC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_400, { "400, Receiver ID", "asterix.021_V2_3_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_400_VALUE, { "Receiver ID", "asterix.021_V2_3_400_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_RE, { "RE, Reserved Expansion Field", "asterix.021_V2_3_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_3_SP, { "SP, Special Purpose Field", "asterix.021_V2_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_008, { "008, Aircraft Operational Status", "asterix.021_V2_4_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_008_RA, { "RA, TCAS Resolution Advisory Active", "asterix.021_V2_4_008_RA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_008_RA), 0x80, NULL, HFILL } }, { &hf_021_V2_4_008_TC, { "TC, Target Trajectory Change Report Capability", "asterix.021_V2_4_008_TC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_008_TC), 0x60, NULL, HFILL } }, { &hf_021_V2_4_008_TS, { "TS, Target State Report Capability", "asterix.021_V2_4_008_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_008_TS), 0x10, NULL, HFILL } }, { &hf_021_V2_4_008_ARV, { "ARV, Air-Referenced Velocity Report Capability", "asterix.021_V2_4_008_ARV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_008_ARV), 0x08, NULL, HFILL } }, { &hf_021_V2_4_008_CDTIA, { "CDTIA, Cockpit Display of Traffic Information Airborne", "asterix.021_V2_4_008_CDTIA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_008_CDTIA), 0x04, NULL, HFILL } }, { &hf_021_V2_4_008_NOTTCAS, { "NOTTCAS, TCAS System Status", "asterix.021_V2_4_008_NOTTCAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_008_NOTTCAS), 0x02, NULL, HFILL } }, { &hf_021_V2_4_008_SA, { "SA, Single Antenna", "asterix.021_V2_4_008_SA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_008_SA), 0x01, NULL, HFILL } }, { &hf_021_V2_4_010, { "010, Data Source Identification", "asterix.021_V2_4_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_010_SAC, { "SAC, System Area Code", "asterix.021_V2_4_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_010_SIC, { "SIC, System Identification Code", "asterix.021_V2_4_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_015, { "015, Service Identification", "asterix.021_V2_4_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_015_VALUE, { "Service Identification", "asterix.021_V2_4_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_016, { "016, Service Management", "asterix.021_V2_4_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_016_VALUE, { "Service Management, [s]", "asterix.021_V2_4_016_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_020, { "020, Emitter Category", "asterix.021_V2_4_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_020_VALUE, { "Emitter Category", "asterix.021_V2_4_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V2_4_040, { "040, Target Report Descriptor", "asterix.021_V2_4_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_040_ATP, { "ATP, Address Type", "asterix.021_V2_4_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V2_4_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V2_4_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V2_4_040_RC, { "RC, Range Check", "asterix.021_V2_4_040_RC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_RC), 0x04, NULL, HFILL } }, { &hf_021_V2_4_040_RAB, { "RAB, Report Type", "asterix.021_V2_4_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_RAB), 0x02, NULL, HFILL } }, { &hf_021_V2_4_040_DCR, { "DCR, Differential Correction", "asterix.021_V2_4_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V2_4_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V2_4_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V2_4_040_SIM, { "SIM, Simulated Target", "asterix.021_V2_4_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V2_4_040_TST, { "TST, Test Target", "asterix.021_V2_4_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V2_4_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V2_4_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_SAA), 0x08, NULL, HFILL } }, { &hf_021_V2_4_040_CL, { "CL, Confidence Level", "asterix.021_V2_4_040_CL", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_CL), 0x06, NULL, HFILL } }, { &hf_021_V2_4_040_LLC, { "LLC, List Lookup Check", "asterix.021_V2_4_040_LLC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_LLC), 0x40, NULL, HFILL } }, { &hf_021_V2_4_040_IPC, { "IPC, Independent Position Check", "asterix.021_V2_4_040_IPC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_IPC), 0x20, NULL, HFILL } }, { &hf_021_V2_4_040_NOGO, { "NOGO, No-go Bit Status", "asterix.021_V2_4_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_NOGO), 0x10, NULL, HFILL } }, { &hf_021_V2_4_040_CPR, { "CPR, Compact Position Reporting", "asterix.021_V2_4_040_CPR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_CPR), 0x08, NULL, HFILL } }, { &hf_021_V2_4_040_LDPJ, { "LDPJ, Local Decoding Position Jump", "asterix.021_V2_4_040_LDPJ", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_LDPJ), 0x04, NULL, HFILL } }, { &hf_021_V2_4_040_RCF, { "RCF, Range Check", "asterix.021_V2_4_040_RCF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_040_RCF), 0x02, NULL, HFILL } }, { &hf_021_V2_4_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_V2_4_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.021_V2_4_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_4_071, { "071, Time of Applicability for Position", "asterix.021_V2_4_071", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_071_VALUE, { "Time of Applicability for Position, [s]", "asterix.021_V2_4_071_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_072, { "072, Time of Applicability for Velocity", "asterix.021_V2_4_072", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_072_VALUE, { "Time of Applicability for Velocity, [s]", "asterix.021_V2_4_072_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_073, { "073, Time of Message Reception for Position", "asterix.021_V2_4_073", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_073_VALUE, { "Time of Message Reception for Position, [s]", "asterix.021_V2_4_073_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_074, { "074, Time of Message Reception of Position-High Precision", "asterix.021_V2_4_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_074_FSI, { "FSI, Full Second Indication", "asterix.021_V2_4_074_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_074_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_4_074_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_4_074_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_075, { "075, Time of Message Reception for Velocity", "asterix.021_V2_4_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_075_VALUE, { "Time of Message Reception for Velocity, [s]", "asterix.021_V2_4_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_076, { "076, Time of Message Reception of Velocity-High Precision", "asterix.021_V2_4_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_076_FSI, { "FSI, Full Second Indication", "asterix.021_V2_4_076_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_076_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_4_076_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_4_076_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_077, { "077, Time of ASTERIX Report Transmission", "asterix.021_V2_4_077", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_077_VALUE, { "Time of ASTERIX Report Transmission, [s]", "asterix.021_V2_4_077_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_080, { "080, Target Address", "asterix.021_V2_4_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_080_VALUE, { "Target Address", "asterix.021_V2_4_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_090, { "090, Quality Indicators", "asterix.021_V2_4_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_090_NUCRNACV, { "NUCRNACV, Navigation Uncertainty Category for Velocity NUCr or the Navigation Accuracy Category for Velocity NACv", "asterix.021_V2_4_090_NUCRNACV", FT_UINT8, BASE_DEC, NULL, 0xe0, NULL, HFILL } }, { &hf_021_V2_4_090_NUCPNIC, { "NUCPNIC, Navigation Uncertainty Category for Position NUCp or Navigation Integrity Category NIC", "asterix.021_V2_4_090_NUCPNIC", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_4_090_NICBARO, { "NICBARO, Navigation Integrity Category for Barometric Altitude", "asterix.021_V2_4_090_NICBARO", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } }, { &hf_021_V2_4_090_SIL, { "SIL, Surveillance (version 1) or Source (version 2) Integrity Level", "asterix.021_V2_4_090_SIL", FT_UINT8, BASE_DEC, NULL, 0x60, NULL, HFILL } }, { &hf_021_V2_4_090_NACP, { "NACP, Navigation Accuracy Category for Position", "asterix.021_V2_4_090_NACP", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_4_090_SILS, { "SILS, SIL-Supplement", "asterix.021_V2_4_090_SILS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_090_SILS), 0x20, NULL, HFILL } }, { &hf_021_V2_4_090_SDA, { "SDA, Horizontal Position System Design Assurance Level (as Defined in Version 2)", "asterix.021_V2_4_090_SDA", FT_UINT8, BASE_DEC, NULL, 0x18, NULL, HFILL } }, { &hf_021_V2_4_090_GVA, { "GVA, Geometric Altitude Accuracy", "asterix.021_V2_4_090_GVA", FT_UINT8, BASE_DEC, NULL, 0x06, NULL, HFILL } }, { &hf_021_V2_4_090_PIC, { "PIC, Position Integrity Category", "asterix.021_V2_4_090_PIC", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_4_110, { "110, Trajectory Intent", "asterix.021_V2_4_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V2_4_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_110_TIS_NAV, { "NAV", "asterix.021_V2_4_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V2_4_110_TIS_NVB, { "NVB", "asterix.021_V2_4_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V2_4_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V2_4_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_110_TID_TCA, { "TCA", "asterix.021_V2_4_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V2_4_110_TID_NC, { "NC", "asterix.021_V2_4_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V2_4_110_TID_TCPN, { "TCPN", "asterix.021_V2_4_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V2_4_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V2_4_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_4_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_4_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_110_TID_PT, { "PT, Point Type", "asterix.021_V2_4_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V2_4_110_TID_TD, { "TD", "asterix.021_V2_4_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V2_4_110_TID_TRA, { "TRA", "asterix.021_V2_4_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V2_4_110_TID_TOA, { "TOA", "asterix.021_V2_4_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V2_4_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V2_4_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V2_4_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V2_4_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_4_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_130_LON, { "LON, Longitude, [°]", "asterix.021_V2_4_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_131, { "131, High-Resolution Position in WGS-84 Co-ordinates", "asterix.021_V2_4_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_131_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_4_131_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_131_LON, { "LON, Longitude, [°]", "asterix.021_V2_4_131_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_132, { "132, Message Amplitude", "asterix.021_V2_4_132", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_132_VALUE, { "Message Amplitude, [dBm]", "asterix.021_V2_4_132_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_140, { "140, Geometric Height", "asterix.021_V2_4_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_140_VALUE, { "Geometric Height, [ft]", "asterix.021_V2_4_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_145, { "145, Flight Level", "asterix.021_V2_4_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_145_VALUE, { "Flight Level, [FL]", "asterix.021_V2_4_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_146, { "146, Selected Altitude", "asterix.021_V2_4_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_146_SAS, { "SAS, Source Availability", "asterix.021_V2_4_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V2_4_146_S, { "S, Source", "asterix.021_V2_4_146_S", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_146_S), 0x60, NULL, HFILL } }, { &hf_021_V2_4_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_4_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_148, { "148, Final State Selected Altitude", "asterix.021_V2_4_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V2_4_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V2_4_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V2_4_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V2_4_148_AM, { "AM, Approach Mode", "asterix.021_V2_4_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V2_4_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_4_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_150, { "150, Air Speed", "asterix.021_V2_4_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_150_IM, { "IM", "asterix.021_V2_4_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V2_4_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V2_4_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V2_4_151, { "151, True Airspeed", "asterix.021_V2_4_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_151_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_4_151_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_151_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_4_151_TAS, { "TAS, True Air Speed, [kt]", "asterix.021_V2_4_151_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_152, { "152, Magnetic Heading", "asterix.021_V2_4_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V2_4_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_155, { "155, Barometric Vertical Rate", "asterix.021_V2_4_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_155_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_4_155_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_155_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_4_155_BVR, { "BVR, Barometric Vertical Rate, [ft/min]", "asterix.021_V2_4_155_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_157, { "157, Geometric Vertical Rate", "asterix.021_V2_4_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_157_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_4_157_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_157_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_4_157_GVR, { "GVR, Geometric Vertical Rate, [ft/min]", "asterix.021_V2_4_157_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_160, { "160, Airborne Ground Vector", "asterix.021_V2_4_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_160_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_4_160_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_160_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_4_160_GS, { "GS, Ground Speed Referenced to WGS-84, [NM/s]", "asterix.021_V2_4_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_160_TA, { "TA, Track Angle Clockwise Reference to True North, [°]", "asterix.021_V2_4_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_161, { "161, Track Number", "asterix.021_V2_4_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_161_TRNUM, { "TRNUM, Track Number", "asterix.021_V2_4_161_TRNUM", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_4_165, { "165, Track Angle Rate", "asterix.021_V2_4_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_165_TAR, { "TAR, Track Angle Rate, [°/s]", "asterix.021_V2_4_165_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_170, { "170, Target Identification", "asterix.021_V2_4_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_170_VALUE, { "Target Identification", "asterix.021_V2_4_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_200, { "200, Target Status", "asterix.021_V2_4_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_200_ICF, { "ICF, Intent Change Flag (see Note)", "asterix.021_V2_4_200_ICF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_200_ICF), 0x80, NULL, HFILL } }, { &hf_021_V2_4_200_LNAV, { "LNAV, LNAV Mode", "asterix.021_V2_4_200_LNAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_200_LNAV), 0x40, NULL, HFILL } }, { &hf_021_V2_4_200_ME, { "ME, Military Emergency", "asterix.021_V2_4_200_ME", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_200_ME), 0x20, NULL, HFILL } }, { &hf_021_V2_4_200_PS, { "PS, Priority Status", "asterix.021_V2_4_200_PS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_200_PS), 0x1c, NULL, HFILL } }, { &hf_021_V2_4_200_SS, { "SS, Surveillance Status", "asterix.021_V2_4_200_SS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_200_SS), 0x03, NULL, HFILL } }, { &hf_021_V2_4_210, { "210, MOPS Version", "asterix.021_V2_4_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_210_VNS, { "VNS, Version Not Supported", "asterix.021_V2_4_210_VNS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_210_VNS), 0x40, NULL, HFILL } }, { &hf_021_V2_4_210_VN, { "VN, Version Number", "asterix.021_V2_4_210_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_210_VN), 0x38, NULL, HFILL } }, { &hf_021_V2_4_210_LTT, { "LTT, Link Technology Type", "asterix.021_V2_4_210_LTT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_210_LTT), 0x07, NULL, HFILL } }, { &hf_021_V2_4_220, { "220, Met Information", "asterix.021_V2_4_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_WS, { "WS, Wind Speed", "asterix.021_V2_4_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V2_4_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_WD, { "WD, Wind Direction", "asterix.021_V2_4_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V2_4_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_TMP, { "TMP, Temperature", "asterix.021_V2_4_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V2_4_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_TRB, { "TRB, Turbulence", "asterix.021_V2_4_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_220_TRB_VALUE, { "Turbulence", "asterix.021_V2_4_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_230, { "230, Roll Angle", "asterix.021_V2_4_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_230_VALUE, { "Roll Angle, [°]", "asterix.021_V2_4_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_250, { "250, Mode S MB Data", "asterix.021_V2_4_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_250_VALUE, { "Mode S MB Data", "asterix.021_V2_4_250_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_260, { "260, ACAS Resolution Advisory Report", "asterix.021_V2_4_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_260_TYP, { "TYP, Message Type (= 28 for 1090 ES, Version 2)", "asterix.021_V2_4_260_TYP", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_021_V2_4_260_STYP, { "STYP, Message Sub-type (= 2 for 1090 ES, Version 2)", "asterix.021_V2_4_260_STYP", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_021_V2_4_260_ARA, { "ARA, Active Resolution Advisories", "asterix.021_V2_4_260_ARA", FT_UINT16, BASE_DEC, NULL, 0xfffc, NULL, HFILL } }, { &hf_021_V2_4_260_RAC, { "RAC, RAC (RA Complement) Record", "asterix.021_V2_4_260_RAC", FT_UINT16, BASE_DEC, NULL, 0x03c0, NULL, HFILL } }, { &hf_021_V2_4_260_RAT, { "RAT, RA Terminated", "asterix.021_V2_4_260_RAT", FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL } }, { &hf_021_V2_4_260_MTE, { "MTE, Multiple Threat Encounter", "asterix.021_V2_4_260_MTE", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_021_V2_4_260_TTI, { "TTI, Threat Type Indicator", "asterix.021_V2_4_260_TTI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_021_V2_4_260_TID, { "TID, Threat Identity Data", "asterix.021_V2_4_260_TID", FT_UINT32, BASE_DEC, NULL, 0x03ffffff, NULL, HFILL } }, { &hf_021_V2_4_271, { "271, Surface Capabilities and Characteristics", "asterix.021_V2_4_271", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_271_POA, { "POA, Position Offset Applied", "asterix.021_V2_4_271_POA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_271_POA), 0x20, NULL, HFILL } }, { &hf_021_V2_4_271_CDTIS, { "CDTIS, Cockpit Display of Traffic Information Surface", "asterix.021_V2_4_271_CDTIS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_271_CDTIS), 0x10, NULL, HFILL } }, { &hf_021_V2_4_271_B2LOW, { "B2LOW, Class B2 Transmit Power Less Than 70 Watts", "asterix.021_V2_4_271_B2LOW", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_271_B2LOW), 0x08, NULL, HFILL } }, { &hf_021_V2_4_271_RAS, { "RAS, Receiving ATC Services", "asterix.021_V2_4_271_RAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_271_RAS), 0x04, NULL, HFILL } }, { &hf_021_V2_4_271_IDENT, { "IDENT, Setting of IDENT Switch", "asterix.021_V2_4_271_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_4_271_IDENT), 0x02, NULL, HFILL } }, { &hf_021_V2_4_271_LW, { "LW, Length and Width of the Aircraft", "asterix.021_V2_4_271_LW", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_4_295, { "295, Data Ages", "asterix.021_V2_4_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_AOS, { "AOS, Aircraft Operational Status Age", "asterix.021_V2_4_295_AOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_AOS_VALUE, { "Aircraft Operational Status Age, [s]", "asterix.021_V2_4_295_AOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TRD, { "TRD, Target Report Descriptor Age", "asterix.021_V2_4_295_TRD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TRD_VALUE, { "Target Report Descriptor Age, [s]", "asterix.021_V2_4_295_TRD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_M3A, { "M3A, Mode 3/A Age", "asterix.021_V2_4_295_M3A", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_M3A_VALUE, { "Mode 3/A Age, [s]", "asterix.021_V2_4_295_M3A_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_QI, { "QI, Quality Indicators Age", "asterix.021_V2_4_295_QI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_QI_VALUE, { "Quality Indicators Age, [s]", "asterix.021_V2_4_295_QI_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TI1, { "TI1, Trajectory Intent Age", "asterix.021_V2_4_295_TI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TI1_VALUE, { "Trajectory Intent Age, [s]", "asterix.021_V2_4_295_TI1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_MAM, { "MAM, Message Amplitude Age", "asterix.021_V2_4_295_MAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_MAM_VALUE, { "Message Amplitude Age, [s]", "asterix.021_V2_4_295_MAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_GH, { "GH, Geometric Height Age", "asterix.021_V2_4_295_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_GH_VALUE, { "Geometric Height Age, [s]", "asterix.021_V2_4_295_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_FL, { "FL, Flight Level Age", "asterix.021_V2_4_295_FL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_FL_VALUE, { "Flight Level Age, [s]", "asterix.021_V2_4_295_FL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_ISA, { "ISA, Intermediate State Selected Altitude Age", "asterix.021_V2_4_295_ISA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_ISA_VALUE, { "Intermediate State Selected Altitude Age, [s]", "asterix.021_V2_4_295_ISA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_FSA, { "FSA, Final State Selected Altitude Age", "asterix.021_V2_4_295_FSA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_FSA_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.021_V2_4_295_FSA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_AS, { "AS, Air Speed Age", "asterix.021_V2_4_295_AS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_AS_VALUE, { "Air Speed Age, [s]", "asterix.021_V2_4_295_AS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TAS, { "TAS, True Air Speed Age", "asterix.021_V2_4_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TAS_VALUE, { "True Air Speed Age, [s]", "asterix.021_V2_4_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_MH, { "MH, Magnetic Heading Age", "asterix.021_V2_4_295_MH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_MH_VALUE, { "Magnetic Heading Age, [s]", "asterix.021_V2_4_295_MH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.021_V2_4_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.021_V2_4_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_GVR, { "GVR, Geometric Vertical Rate Age", "asterix.021_V2_4_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_GVR_VALUE, { "Geometric Vertical Rate Age, [s]", "asterix.021_V2_4_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_GV, { "GV, Ground Vector Age", "asterix.021_V2_4_295_GV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_GV_VALUE, { "Ground Vector Age, [s]", "asterix.021_V2_4_295_GV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TAR, { "TAR, Track Angle Rate Age", "asterix.021_V2_4_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.021_V2_4_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TI2, { "TI2, Target Identification Age", "asterix.021_V2_4_295_TI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TI2_VALUE, { "Target Identification Age, [s]", "asterix.021_V2_4_295_TI2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TS, { "TS, Target Status Age", "asterix.021_V2_4_295_TS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_TS_VALUE, { "Target Status Age, [s]", "asterix.021_V2_4_295_TS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_MET, { "MET, Met Information Age", "asterix.021_V2_4_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_MET_VALUE, { "Met Information Age, [s]", "asterix.021_V2_4_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_ROA, { "ROA, Roll Angle Age", "asterix.021_V2_4_295_ROA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_ROA_VALUE, { "Roll Angle Age, [s]", "asterix.021_V2_4_295_ROA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_ARA, { "ARA, ACAS Resolution Advisory Age", "asterix.021_V2_4_295_ARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_ARA_VALUE, { "ACAS Resolution Advisory Age, [s]", "asterix.021_V2_4_295_ARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_SCC, { "SCC, Surface Capabilities and Characteristics Age", "asterix.021_V2_4_295_SCC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_295_SCC_VALUE, { "Surface Capabilities and Characteristics Age, [s]", "asterix.021_V2_4_295_SCC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_400, { "400, Receiver ID", "asterix.021_V2_4_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_400_VALUE, { "Receiver ID", "asterix.021_V2_4_400_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_RE, { "RE, Reserved Expansion Field", "asterix.021_V2_4_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_4_SP, { "SP, Special Purpose Field", "asterix.021_V2_4_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_008, { "008, Aircraft Operational Status", "asterix.021_V2_5_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_008_RA, { "RA, TCAS Resolution Advisory Active", "asterix.021_V2_5_008_RA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_008_RA), 0x80, NULL, HFILL } }, { &hf_021_V2_5_008_TC, { "TC, Target Trajectory Change Report Capability", "asterix.021_V2_5_008_TC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_008_TC), 0x60, NULL, HFILL } }, { &hf_021_V2_5_008_TS, { "TS, Target State Report Capability", "asterix.021_V2_5_008_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_008_TS), 0x10, NULL, HFILL } }, { &hf_021_V2_5_008_ARV, { "ARV, Air-Referenced Velocity Report Capability", "asterix.021_V2_5_008_ARV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_008_ARV), 0x08, NULL, HFILL } }, { &hf_021_V2_5_008_CDTIA, { "CDTIA, Cockpit Display of Traffic Information Airborne", "asterix.021_V2_5_008_CDTIA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_008_CDTIA), 0x04, NULL, HFILL } }, { &hf_021_V2_5_008_NOTTCAS, { "NOTTCAS, TCAS System Status", "asterix.021_V2_5_008_NOTTCAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_008_NOTTCAS), 0x02, NULL, HFILL } }, { &hf_021_V2_5_008_SA, { "SA, Single Antenna", "asterix.021_V2_5_008_SA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_008_SA), 0x01, NULL, HFILL } }, { &hf_021_V2_5_010, { "010, Data Source Identification", "asterix.021_V2_5_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_010_SAC, { "SAC, System Area Code", "asterix.021_V2_5_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_010_SIC, { "SIC, System Identification Code", "asterix.021_V2_5_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_015, { "015, Service Identification", "asterix.021_V2_5_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_015_VALUE, { "Service Identification", "asterix.021_V2_5_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_016, { "016, Service Management", "asterix.021_V2_5_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_016_VALUE, { "Service Management, [s]", "asterix.021_V2_5_016_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_020, { "020, Emitter Category", "asterix.021_V2_5_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_020_VALUE, { "Emitter Category", "asterix.021_V2_5_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V2_5_040, { "040, Target Report Descriptor", "asterix.021_V2_5_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_040_ATP, { "ATP, Address Type", "asterix.021_V2_5_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V2_5_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V2_5_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V2_5_040_RC, { "RC, Range Check", "asterix.021_V2_5_040_RC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_RC), 0x04, NULL, HFILL } }, { &hf_021_V2_5_040_RAB, { "RAB, Report Type", "asterix.021_V2_5_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_RAB), 0x02, NULL, HFILL } }, { &hf_021_V2_5_040_DCR, { "DCR, Differential Correction", "asterix.021_V2_5_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V2_5_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V2_5_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V2_5_040_SIM, { "SIM, Simulated Target", "asterix.021_V2_5_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V2_5_040_TST, { "TST, Test Target", "asterix.021_V2_5_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V2_5_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V2_5_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_SAA), 0x08, NULL, HFILL } }, { &hf_021_V2_5_040_CL, { "CL, Confidence Level", "asterix.021_V2_5_040_CL", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_CL), 0x06, NULL, HFILL } }, { &hf_021_V2_5_040_LLC, { "LLC, List Lookup Check", "asterix.021_V2_5_040_LLC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_LLC), 0x40, NULL, HFILL } }, { &hf_021_V2_5_040_IPC, { "IPC, Independent Position Check", "asterix.021_V2_5_040_IPC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_IPC), 0x20, NULL, HFILL } }, { &hf_021_V2_5_040_NOGO, { "NOGO, No-go Bit Status", "asterix.021_V2_5_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_NOGO), 0x10, NULL, HFILL } }, { &hf_021_V2_5_040_CPR, { "CPR, Compact Position Reporting", "asterix.021_V2_5_040_CPR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_CPR), 0x08, NULL, HFILL } }, { &hf_021_V2_5_040_LDPJ, { "LDPJ, Local Decoding Position Jump", "asterix.021_V2_5_040_LDPJ", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_LDPJ), 0x04, NULL, HFILL } }, { &hf_021_V2_5_040_RCF, { "RCF, Range Check", "asterix.021_V2_5_040_RCF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_040_RCF), 0x02, NULL, HFILL } }, { &hf_021_V2_5_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_V2_5_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.021_V2_5_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_5_071, { "071, Time of Applicability for Position", "asterix.021_V2_5_071", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_071_VALUE, { "Time of Applicability for Position, [s]", "asterix.021_V2_5_071_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_072, { "072, Time of Applicability for Velocity", "asterix.021_V2_5_072", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_072_VALUE, { "Time of Applicability for Velocity, [s]", "asterix.021_V2_5_072_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_073, { "073, Time of Message Reception for Position", "asterix.021_V2_5_073", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_073_VALUE, { "Time of Message Reception for Position, [s]", "asterix.021_V2_5_073_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_074, { "074, Time of Message Reception of Position-High Precision", "asterix.021_V2_5_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_074_FSI, { "FSI, Full Second Indication", "asterix.021_V2_5_074_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_074_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_5_074_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_5_074_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_075, { "075, Time of Message Reception for Velocity", "asterix.021_V2_5_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_075_VALUE, { "Time of Message Reception for Velocity, [s]", "asterix.021_V2_5_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_076, { "076, Time of Message Reception of Velocity-High Precision", "asterix.021_V2_5_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_076_FSI, { "FSI, Full Second Indication", "asterix.021_V2_5_076_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_076_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_5_076_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_5_076_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_077, { "077, Time of ASTERIX Report Transmission", "asterix.021_V2_5_077", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_077_VALUE, { "Time of ASTERIX Report Transmission, [s]", "asterix.021_V2_5_077_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_080, { "080, Target Address", "asterix.021_V2_5_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_080_VALUE, { "Target Address", "asterix.021_V2_5_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_090, { "090, Quality Indicators", "asterix.021_V2_5_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_090_NUCRNACV, { "NUCRNACV, Navigation Uncertainty Category for Velocity NUCr or the Navigation Accuracy Category for Velocity NACv", "asterix.021_V2_5_090_NUCRNACV", FT_UINT8, BASE_DEC, NULL, 0xe0, NULL, HFILL } }, { &hf_021_V2_5_090_NUCPNIC, { "NUCPNIC, Navigation Uncertainty Category for Position NUCp or Navigation Integrity Category NIC", "asterix.021_V2_5_090_NUCPNIC", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_5_090_NICBARO, { "NICBARO, Navigation Integrity Category for Barometric Altitude", "asterix.021_V2_5_090_NICBARO", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } }, { &hf_021_V2_5_090_SIL, { "SIL, Surveillance (version 1) or Source (version 2) Integrity Level", "asterix.021_V2_5_090_SIL", FT_UINT8, BASE_DEC, NULL, 0x60, NULL, HFILL } }, { &hf_021_V2_5_090_NACP, { "NACP, Navigation Accuracy Category for Position", "asterix.021_V2_5_090_NACP", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_5_090_SILS, { "SILS, SIL-Supplement", "asterix.021_V2_5_090_SILS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_090_SILS), 0x20, NULL, HFILL } }, { &hf_021_V2_5_090_SDA, { "SDA, Horizontal Position System Design Assurance Level (as Defined in Version 2)", "asterix.021_V2_5_090_SDA", FT_UINT8, BASE_DEC, NULL, 0x18, NULL, HFILL } }, { &hf_021_V2_5_090_GVA, { "GVA, Geometric Altitude Accuracy", "asterix.021_V2_5_090_GVA", FT_UINT8, BASE_DEC, NULL, 0x06, NULL, HFILL } }, { &hf_021_V2_5_090_PIC, { "PIC, Position Integrity Category", "asterix.021_V2_5_090_PIC", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_5_110, { "110, Trajectory Intent", "asterix.021_V2_5_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V2_5_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_110_TIS_NAV, { "NAV", "asterix.021_V2_5_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V2_5_110_TIS_NVB, { "NVB", "asterix.021_V2_5_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V2_5_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V2_5_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_110_TID_TCA, { "TCA", "asterix.021_V2_5_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V2_5_110_TID_NC, { "NC", "asterix.021_V2_5_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V2_5_110_TID_TCPN, { "TCPN", "asterix.021_V2_5_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V2_5_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V2_5_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_5_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_5_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_110_TID_PT, { "PT, Point Type", "asterix.021_V2_5_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V2_5_110_TID_TD, { "TD", "asterix.021_V2_5_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V2_5_110_TID_TRA, { "TRA", "asterix.021_V2_5_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V2_5_110_TID_TOA, { "TOA", "asterix.021_V2_5_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V2_5_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V2_5_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V2_5_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V2_5_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_5_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_130_LON, { "LON, Longitude, [°]", "asterix.021_V2_5_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_131, { "131, High-Resolution Position in WGS-84 Co-ordinates", "asterix.021_V2_5_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_131_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_5_131_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_131_LON, { "LON, Longitude, [°]", "asterix.021_V2_5_131_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_132, { "132, Message Amplitude", "asterix.021_V2_5_132", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_132_VALUE, { "Message Amplitude, [dBm]", "asterix.021_V2_5_132_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_140, { "140, Geometric Height", "asterix.021_V2_5_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_140_VALUE, { "Geometric Height, [ft]", "asterix.021_V2_5_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_145, { "145, Flight Level", "asterix.021_V2_5_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_145_VALUE, { "Flight Level, [FL]", "asterix.021_V2_5_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_146, { "146, Selected Altitude", "asterix.021_V2_5_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_146_SAS, { "SAS, Source Availability", "asterix.021_V2_5_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V2_5_146_S, { "S, Source", "asterix.021_V2_5_146_S", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_146_S), 0x60, NULL, HFILL } }, { &hf_021_V2_5_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_5_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_148, { "148, Final State Selected Altitude", "asterix.021_V2_5_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V2_5_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V2_5_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V2_5_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V2_5_148_AM, { "AM, Approach Mode", "asterix.021_V2_5_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V2_5_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_5_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_150, { "150, Air Speed", "asterix.021_V2_5_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_150_IM, { "IM", "asterix.021_V2_5_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V2_5_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V2_5_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V2_5_151, { "151, True Airspeed", "asterix.021_V2_5_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_151_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_5_151_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_151_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_5_151_TAS, { "TAS, True Air Speed, [kt]", "asterix.021_V2_5_151_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_152, { "152, Magnetic Heading", "asterix.021_V2_5_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V2_5_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_155, { "155, Barometric Vertical Rate", "asterix.021_V2_5_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_155_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_5_155_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_155_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_5_155_BVR, { "BVR, Barometric Vertical Rate, [ft/min]", "asterix.021_V2_5_155_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_157, { "157, Geometric Vertical Rate", "asterix.021_V2_5_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_157_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_5_157_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_157_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_5_157_GVR, { "GVR, Geometric Vertical Rate, [ft/min]", "asterix.021_V2_5_157_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_160, { "160, Airborne Ground Vector", "asterix.021_V2_5_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_160_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_5_160_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_160_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_5_160_GS, { "GS, Ground Speed Referenced to WGS-84, [NM/s]", "asterix.021_V2_5_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_160_TA, { "TA, Track Angle Clockwise Reference to True North, [°]", "asterix.021_V2_5_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_161, { "161, Track Number", "asterix.021_V2_5_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_161_TRNUM, { "TRNUM, Track Number", "asterix.021_V2_5_161_TRNUM", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_5_165, { "165, Track Angle Rate", "asterix.021_V2_5_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_165_TAR, { "TAR, Track Angle Rate, [°/s]", "asterix.021_V2_5_165_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_170, { "170, Target Identification", "asterix.021_V2_5_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_170_VALUE, { "Target Identification", "asterix.021_V2_5_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_200, { "200, Target Status", "asterix.021_V2_5_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_200_ICF, { "ICF, Intent Change Flag (see Note)", "asterix.021_V2_5_200_ICF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_200_ICF), 0x80, NULL, HFILL } }, { &hf_021_V2_5_200_LNAV, { "LNAV, LNAV Mode", "asterix.021_V2_5_200_LNAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_200_LNAV), 0x40, NULL, HFILL } }, { &hf_021_V2_5_200_ME, { "ME, Military Emergency", "asterix.021_V2_5_200_ME", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_200_ME), 0x20, NULL, HFILL } }, { &hf_021_V2_5_200_PS, { "PS, Priority Status", "asterix.021_V2_5_200_PS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_200_PS), 0x1c, NULL, HFILL } }, { &hf_021_V2_5_200_SS, { "SS, Surveillance Status", "asterix.021_V2_5_200_SS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_200_SS), 0x03, NULL, HFILL } }, { &hf_021_V2_5_210, { "210, MOPS Version", "asterix.021_V2_5_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_210_VNS, { "VNS, Version Not Supported", "asterix.021_V2_5_210_VNS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_210_VNS), 0x40, NULL, HFILL } }, { &hf_021_V2_5_210_VN, { "VN, Version Number", "asterix.021_V2_5_210_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_210_VN), 0x38, NULL, HFILL } }, { &hf_021_V2_5_210_LTT, { "LTT, Link Technology Type", "asterix.021_V2_5_210_LTT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_210_LTT), 0x07, NULL, HFILL } }, { &hf_021_V2_5_220, { "220, Met Information", "asterix.021_V2_5_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_WS, { "WS, Wind Speed", "asterix.021_V2_5_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V2_5_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_WD, { "WD, Wind Direction", "asterix.021_V2_5_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V2_5_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_TMP, { "TMP, Temperature", "asterix.021_V2_5_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V2_5_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_TRB, { "TRB, Turbulence", "asterix.021_V2_5_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_220_TRB_VALUE, { "Turbulence", "asterix.021_V2_5_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_230, { "230, Roll Angle", "asterix.021_V2_5_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_230_VALUE, { "Roll Angle, [°]", "asterix.021_V2_5_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_250, { "250, Mode S MB Data", "asterix.021_V2_5_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_250_VALUE, { "Mode S MB Data", "asterix.021_V2_5_250_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_260, { "260, ACAS Resolution Advisory Report", "asterix.021_V2_5_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_260_TYP, { "TYP, Message Type (= 28 for 1090 ES, Version 2)", "asterix.021_V2_5_260_TYP", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_021_V2_5_260_STYP, { "STYP, Message Sub-type (= 2 for 1090 ES, Version 2)", "asterix.021_V2_5_260_STYP", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_021_V2_5_260_ARA, { "ARA, Active Resolution Advisories", "asterix.021_V2_5_260_ARA", FT_UINT16, BASE_DEC, NULL, 0xfffc, NULL, HFILL } }, { &hf_021_V2_5_260_RAC, { "RAC, RAC (RA Complement) Record", "asterix.021_V2_5_260_RAC", FT_UINT16, BASE_DEC, NULL, 0x03c0, NULL, HFILL } }, { &hf_021_V2_5_260_RAT, { "RAT, RA Terminated", "asterix.021_V2_5_260_RAT", FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL } }, { &hf_021_V2_5_260_MTE, { "MTE, Multiple Threat Encounter", "asterix.021_V2_5_260_MTE", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_021_V2_5_260_TTI, { "TTI, Threat Type Indicator", "asterix.021_V2_5_260_TTI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_021_V2_5_260_TID, { "TID, Threat Identity Data", "asterix.021_V2_5_260_TID", FT_UINT32, BASE_DEC, NULL, 0x03ffffff, NULL, HFILL } }, { &hf_021_V2_5_271, { "271, Surface Capabilities and Characteristics", "asterix.021_V2_5_271", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_271_POA, { "POA, Position Offset Applied", "asterix.021_V2_5_271_POA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_271_POA), 0x20, NULL, HFILL } }, { &hf_021_V2_5_271_CDTIS, { "CDTIS, Cockpit Display of Traffic Information Surface", "asterix.021_V2_5_271_CDTIS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_271_CDTIS), 0x10, NULL, HFILL } }, { &hf_021_V2_5_271_B2LOW, { "B2LOW, Class B2 Transmit Power Less Than 70 Watts", "asterix.021_V2_5_271_B2LOW", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_271_B2LOW), 0x08, NULL, HFILL } }, { &hf_021_V2_5_271_RAS, { "RAS, Receiving ATC Services", "asterix.021_V2_5_271_RAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_271_RAS), 0x04, NULL, HFILL } }, { &hf_021_V2_5_271_IDENT, { "IDENT, Setting of IDENT Switch", "asterix.021_V2_5_271_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_5_271_IDENT), 0x02, NULL, HFILL } }, { &hf_021_V2_5_271_LW, { "LW, Length and Width of the Aircraft", "asterix.021_V2_5_271_LW", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_5_295, { "295, Data Ages", "asterix.021_V2_5_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_AOS, { "AOS, Aircraft Operational Status Age", "asterix.021_V2_5_295_AOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_AOS_VALUE, { "Aircraft Operational Status Age, [s]", "asterix.021_V2_5_295_AOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TRD, { "TRD, Target Report Descriptor Age", "asterix.021_V2_5_295_TRD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TRD_VALUE, { "Target Report Descriptor Age, [s]", "asterix.021_V2_5_295_TRD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_M3A, { "M3A, Mode 3/A Age", "asterix.021_V2_5_295_M3A", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_M3A_VALUE, { "Mode 3/A Age, [s]", "asterix.021_V2_5_295_M3A_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_QI, { "QI, Quality Indicators Age", "asterix.021_V2_5_295_QI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_QI_VALUE, { "Quality Indicators Age, [s]", "asterix.021_V2_5_295_QI_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TI1, { "TI1, Trajectory Intent Age", "asterix.021_V2_5_295_TI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TI1_VALUE, { "Trajectory Intent Age, [s]", "asterix.021_V2_5_295_TI1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_MAM, { "MAM, Message Amplitude Age", "asterix.021_V2_5_295_MAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_MAM_VALUE, { "Message Amplitude Age, [s]", "asterix.021_V2_5_295_MAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_GH, { "GH, Geometric Height Age", "asterix.021_V2_5_295_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_GH_VALUE, { "Geometric Height Age, [s]", "asterix.021_V2_5_295_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_FL, { "FL, Flight Level Age", "asterix.021_V2_5_295_FL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_FL_VALUE, { "Flight Level Age, [s]", "asterix.021_V2_5_295_FL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_ISA, { "ISA, Intermediate State Selected Altitude Age", "asterix.021_V2_5_295_ISA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_ISA_VALUE, { "Intermediate State Selected Altitude Age, [s]", "asterix.021_V2_5_295_ISA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_FSA, { "FSA, Final State Selected Altitude Age", "asterix.021_V2_5_295_FSA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_FSA_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.021_V2_5_295_FSA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_AS, { "AS, Air Speed Age", "asterix.021_V2_5_295_AS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_AS_VALUE, { "Air Speed Age, [s]", "asterix.021_V2_5_295_AS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TAS, { "TAS, True Air Speed Age", "asterix.021_V2_5_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TAS_VALUE, { "True Air Speed Age, [s]", "asterix.021_V2_5_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_MH, { "MH, Magnetic Heading Age", "asterix.021_V2_5_295_MH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_MH_VALUE, { "Magnetic Heading Age, [s]", "asterix.021_V2_5_295_MH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.021_V2_5_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.021_V2_5_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_GVR, { "GVR, Geometric Vertical Rate Age", "asterix.021_V2_5_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_GVR_VALUE, { "Geometric Vertical Rate Age, [s]", "asterix.021_V2_5_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_GV, { "GV, Ground Vector Age", "asterix.021_V2_5_295_GV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_GV_VALUE, { "Ground Vector Age, [s]", "asterix.021_V2_5_295_GV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TAR, { "TAR, Track Angle Rate Age", "asterix.021_V2_5_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.021_V2_5_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TI2, { "TI2, Target Identification Age", "asterix.021_V2_5_295_TI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TI2_VALUE, { "Target Identification Age, [s]", "asterix.021_V2_5_295_TI2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TS, { "TS, Target Status Age", "asterix.021_V2_5_295_TS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_TS_VALUE, { "Target Status Age, [s]", "asterix.021_V2_5_295_TS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_MET, { "MET, Met Information Age", "asterix.021_V2_5_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_MET_VALUE, { "Met Information Age, [s]", "asterix.021_V2_5_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_ROA, { "ROA, Roll Angle Age", "asterix.021_V2_5_295_ROA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_ROA_VALUE, { "Roll Angle Age, [s]", "asterix.021_V2_5_295_ROA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_ARA, { "ARA, ACAS Resolution Advisory Age", "asterix.021_V2_5_295_ARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_ARA_VALUE, { "ACAS Resolution Advisory Age, [s]", "asterix.021_V2_5_295_ARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_SCC, { "SCC, Surface Capabilities and Characteristics Age", "asterix.021_V2_5_295_SCC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_295_SCC_VALUE, { "Surface Capabilities and Characteristics Age, [s]", "asterix.021_V2_5_295_SCC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_400, { "400, Receiver ID", "asterix.021_V2_5_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_400_VALUE, { "Receiver ID", "asterix.021_V2_5_400_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_RE, { "RE, Reserved Expansion Field", "asterix.021_V2_5_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_5_SP, { "SP, Special Purpose Field", "asterix.021_V2_5_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_008, { "008, Aircraft Operational Status", "asterix.021_V2_6_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_008_RA, { "RA, TCAS Resolution Advisory Active", "asterix.021_V2_6_008_RA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_008_RA), 0x80, NULL, HFILL } }, { &hf_021_V2_6_008_TC, { "TC, Target Trajectory Change Report Capability", "asterix.021_V2_6_008_TC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_008_TC), 0x60, NULL, HFILL } }, { &hf_021_V2_6_008_TS, { "TS, Target State Report Capability", "asterix.021_V2_6_008_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_008_TS), 0x10, NULL, HFILL } }, { &hf_021_V2_6_008_ARV, { "ARV, Air-Referenced Velocity Report Capability", "asterix.021_V2_6_008_ARV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_008_ARV), 0x08, NULL, HFILL } }, { &hf_021_V2_6_008_CDTIA, { "CDTIA, Cockpit Display of Traffic Information Airborne", "asterix.021_V2_6_008_CDTIA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_008_CDTIA), 0x04, NULL, HFILL } }, { &hf_021_V2_6_008_NOTTCAS, { "NOTTCAS, TCAS System Status", "asterix.021_V2_6_008_NOTTCAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_008_NOTTCAS), 0x02, NULL, HFILL } }, { &hf_021_V2_6_008_SA, { "SA, Single Antenna", "asterix.021_V2_6_008_SA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_008_SA), 0x01, NULL, HFILL } }, { &hf_021_V2_6_010, { "010, Data Source Identification", "asterix.021_V2_6_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_010_SAC, { "SAC, System Area Code", "asterix.021_V2_6_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_010_SIC, { "SIC, System Identification Code", "asterix.021_V2_6_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_015, { "015, Service Identification", "asterix.021_V2_6_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_015_VALUE, { "Service Identification", "asterix.021_V2_6_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_016, { "016, Service Management", "asterix.021_V2_6_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_016_VALUE, { "Service Management, [s]", "asterix.021_V2_6_016_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_020, { "020, Emitter Category", "asterix.021_V2_6_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_020_VALUE, { "Emitter Category", "asterix.021_V2_6_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_V2_6_040, { "040, Target Report Descriptor", "asterix.021_V2_6_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_040_ATP, { "ATP, Address Type", "asterix.021_V2_6_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_V2_6_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_V2_6_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_V2_6_040_RC, { "RC, Range Check", "asterix.021_V2_6_040_RC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_RC), 0x04, NULL, HFILL } }, { &hf_021_V2_6_040_RAB, { "RAB, Report Type", "asterix.021_V2_6_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_RAB), 0x02, NULL, HFILL } }, { &hf_021_V2_6_040_DCR, { "DCR, Differential Correction", "asterix.021_V2_6_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_V2_6_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_V2_6_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_V2_6_040_SIM, { "SIM, Simulated Target", "asterix.021_V2_6_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_V2_6_040_TST, { "TST, Test Target", "asterix.021_V2_6_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_TST), 0x10, NULL, HFILL } }, { &hf_021_V2_6_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_V2_6_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_SAA), 0x08, NULL, HFILL } }, { &hf_021_V2_6_040_CL, { "CL, Confidence Level", "asterix.021_V2_6_040_CL", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_CL), 0x06, NULL, HFILL } }, { &hf_021_V2_6_040_LLC, { "LLC, List Lookup Check", "asterix.021_V2_6_040_LLC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_LLC), 0x40, NULL, HFILL } }, { &hf_021_V2_6_040_IPC, { "IPC, Independent Position Check", "asterix.021_V2_6_040_IPC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_IPC), 0x20, NULL, HFILL } }, { &hf_021_V2_6_040_NOGO, { "NOGO, No-go Bit Status", "asterix.021_V2_6_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_NOGO), 0x10, NULL, HFILL } }, { &hf_021_V2_6_040_CPR, { "CPR, Compact Position Reporting", "asterix.021_V2_6_040_CPR", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_CPR), 0x08, NULL, HFILL } }, { &hf_021_V2_6_040_LDPJ, { "LDPJ, Local Decoding Position Jump", "asterix.021_V2_6_040_LDPJ", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_LDPJ), 0x04, NULL, HFILL } }, { &hf_021_V2_6_040_RCF, { "RCF, Range Check", "asterix.021_V2_6_040_RCF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_040_RCF), 0x02, NULL, HFILL } }, { &hf_021_V2_6_040_TBC, { "TBC, Total Bits Corrected", "asterix.021_V2_6_040_TBC", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_021_V2_6_040_MBC, { "MBC, Maximum Bits Corrected", "asterix.021_V2_6_040_MBC", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_021_V2_6_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_V2_6_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.021_V2_6_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_6_071, { "071, Time of Applicability for Position", "asterix.021_V2_6_071", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_071_VALUE, { "Time of Applicability for Position, [s]", "asterix.021_V2_6_071_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_072, { "072, Time of Applicability for Velocity", "asterix.021_V2_6_072", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_072_VALUE, { "Time of Applicability for Velocity, [s]", "asterix.021_V2_6_072_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_073, { "073, Time of Message Reception for Position", "asterix.021_V2_6_073", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_073_VALUE, { "Time of Message Reception for Position, [s]", "asterix.021_V2_6_073_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_074, { "074, Time of Message Reception of Position-High Precision", "asterix.021_V2_6_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_074_FSI, { "FSI, Full Second Indication", "asterix.021_V2_6_074_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_074_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_6_074_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_6_074_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_075, { "075, Time of Message Reception for Velocity", "asterix.021_V2_6_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_075_VALUE, { "Time of Message Reception for Velocity, [s]", "asterix.021_V2_6_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_076, { "076, Time of Message Reception of Velocity-High Precision", "asterix.021_V2_6_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_076_FSI, { "FSI, Full Second Indication", "asterix.021_V2_6_076_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_076_FSI), 0xc0, NULL, HFILL } }, { &hf_021_V2_6_076_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_V2_6_076_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_077, { "077, Time of ASTERIX Report Transmission", "asterix.021_V2_6_077", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_077_VALUE, { "Time of ASTERIX Report Transmission, [s]", "asterix.021_V2_6_077_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_080, { "080, Target Address", "asterix.021_V2_6_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_080_VALUE, { "Target Address", "asterix.021_V2_6_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_090, { "090, Quality Indicators", "asterix.021_V2_6_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_090_NUCRNACV, { "NUCRNACV, Navigation Uncertainty Category for Velocity NUCr or the Navigation Accuracy Category for Velocity NACv", "asterix.021_V2_6_090_NUCRNACV", FT_UINT8, BASE_DEC, NULL, 0xe0, NULL, HFILL } }, { &hf_021_V2_6_090_NUCPNIC, { "NUCPNIC, Navigation Uncertainty Category for Position NUCp or Navigation Integrity Category NIC", "asterix.021_V2_6_090_NUCPNIC", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_6_090_NICBARO, { "NICBARO, Navigation Integrity Category for Barometric Altitude", "asterix.021_V2_6_090_NICBARO", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } }, { &hf_021_V2_6_090_SIL, { "SIL, Surveillance (version 1) or Source (version 2) Integrity Level", "asterix.021_V2_6_090_SIL", FT_UINT8, BASE_DEC, NULL, 0x60, NULL, HFILL } }, { &hf_021_V2_6_090_NACP, { "NACP, Navigation Accuracy Category for Position", "asterix.021_V2_6_090_NACP", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_V2_6_090_SILS, { "SILS, SIL-Supplement", "asterix.021_V2_6_090_SILS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_090_SILS), 0x20, NULL, HFILL } }, { &hf_021_V2_6_090_SDA, { "SDA, Horizontal Position System Design Assurance Level (as Defined in Version 2)", "asterix.021_V2_6_090_SDA", FT_UINT8, BASE_DEC, NULL, 0x18, NULL, HFILL } }, { &hf_021_V2_6_090_GVA, { "GVA, Geometric Altitude Accuracy", "asterix.021_V2_6_090_GVA", FT_UINT8, BASE_DEC, NULL, 0x06, NULL, HFILL } }, { &hf_021_V2_6_090_PIC, { "PIC, Position Integrity Category", "asterix.021_V2_6_090_PIC", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_6_110, { "110, Trajectory Intent", "asterix.021_V2_6_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_V2_6_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_110_TIS_NAV, { "NAV", "asterix.021_V2_6_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_V2_6_110_TIS_NVB, { "NVB", "asterix.021_V2_6_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_V2_6_110_TID, { "TID, Trajectory Intent Data", "asterix.021_V2_6_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_110_TID_TCA, { "TCA", "asterix.021_V2_6_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_V2_6_110_TID_NC, { "NC", "asterix.021_V2_6_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_V2_6_110_TID_TCPN, { "TCPN", "asterix.021_V2_6_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_V2_6_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_V2_6_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_6_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_V2_6_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_110_TID_PT, { "PT, Point Type", "asterix.021_V2_6_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_V2_6_110_TID_TD, { "TD", "asterix.021_V2_6_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_V2_6_110_TID_TRA, { "TRA", "asterix.021_V2_6_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_V2_6_110_TID_TOA, { "TOA", "asterix.021_V2_6_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_V2_6_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_V2_6_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_V2_6_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_V2_6_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_130_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_6_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_130_LON, { "LON, Longitude, [°]", "asterix.021_V2_6_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_131, { "131, High-Resolution Position in WGS-84 Co-ordinates", "asterix.021_V2_6_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_131_LAT, { "LAT, Latitude, [°]", "asterix.021_V2_6_131_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_131_LON, { "LON, Longitude, [°]", "asterix.021_V2_6_131_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_132, { "132, Message Amplitude", "asterix.021_V2_6_132", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_132_VALUE, { "Message Amplitude, [dBm]", "asterix.021_V2_6_132_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_140, { "140, Geometric Height", "asterix.021_V2_6_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_140_VALUE, { "Geometric Height, [ft]", "asterix.021_V2_6_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_145, { "145, Flight Level", "asterix.021_V2_6_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_145_VALUE, { "Flight Level, [FL]", "asterix.021_V2_6_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_146, { "146, Selected Altitude", "asterix.021_V2_6_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_146_SAS, { "SAS, Source Availability", "asterix.021_V2_6_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_V2_6_146_S, { "S, Source", "asterix.021_V2_6_146_S", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_146_S), 0x60, NULL, HFILL } }, { &hf_021_V2_6_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_6_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_148, { "148, Final State Selected Altitude", "asterix.021_V2_6_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_148_MV, { "MV, Manage Vertical Mode", "asterix.021_V2_6_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_148_MV), 0x80, NULL, HFILL } }, { &hf_021_V2_6_148_AH, { "AH, Altitude Hold Mode", "asterix.021_V2_6_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_148_AH), 0x40, NULL, HFILL } }, { &hf_021_V2_6_148_AM, { "AM, Approach Mode", "asterix.021_V2_6_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_148_AM), 0x20, NULL, HFILL } }, { &hf_021_V2_6_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_V2_6_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_150, { "150, Air Speed", "asterix.021_V2_6_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_150_IM, { "IM", "asterix.021_V2_6_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_150_IM), 0x80, NULL, HFILL } }, { &hf_021_V2_6_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_V2_6_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_V2_6_151, { "151, True Airspeed", "asterix.021_V2_6_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_151_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_6_151_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_151_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_6_151_TAS, { "TAS, True Air Speed, [kt]", "asterix.021_V2_6_151_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_152, { "152, Magnetic Heading", "asterix.021_V2_6_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_V2_6_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_155, { "155, Barometric Vertical Rate", "asterix.021_V2_6_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_155_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_6_155_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_155_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_6_155_BVR, { "BVR, Barometric Vertical Rate, [ft/min]", "asterix.021_V2_6_155_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_157, { "157, Geometric Vertical Rate", "asterix.021_V2_6_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_157_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_6_157_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_157_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_6_157_GVR, { "GVR, Geometric Vertical Rate, [ft/min]", "asterix.021_V2_6_157_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_160, { "160, Airborne Ground Vector", "asterix.021_V2_6_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_160_RE, { "RE, Range Exceeded Indicator", "asterix.021_V2_6_160_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_160_RE), 0x80, NULL, HFILL } }, { &hf_021_V2_6_160_GS, { "GS, Ground Speed Referenced to WGS-84, [NM/s]", "asterix.021_V2_6_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_160_TA, { "TA, Track Angle Clockwise Reference to True North, [°]", "asterix.021_V2_6_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_161, { "161, Track Number", "asterix.021_V2_6_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_161_TRNUM, { "TRNUM, Track Number", "asterix.021_V2_6_161_TRNUM", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_V2_6_165, { "165, Track Angle Rate", "asterix.021_V2_6_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_165_TAR, { "TAR, Track Angle Rate, [°/s]", "asterix.021_V2_6_165_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_170, { "170, Target Identification", "asterix.021_V2_6_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_170_VALUE, { "Target Identification", "asterix.021_V2_6_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_200, { "200, Target Status", "asterix.021_V2_6_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_200_ICF, { "ICF, Intent Change Flag (see Note)", "asterix.021_V2_6_200_ICF", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_200_ICF), 0x80, NULL, HFILL } }, { &hf_021_V2_6_200_LNAV, { "LNAV, LNAV Mode", "asterix.021_V2_6_200_LNAV", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_200_LNAV), 0x40, NULL, HFILL } }, { &hf_021_V2_6_200_ME, { "ME, Military Emergency", "asterix.021_V2_6_200_ME", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_200_ME), 0x20, NULL, HFILL } }, { &hf_021_V2_6_200_PS, { "PS, Priority Status", "asterix.021_V2_6_200_PS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_200_PS), 0x1c, NULL, HFILL } }, { &hf_021_V2_6_200_SS, { "SS, Surveillance Status", "asterix.021_V2_6_200_SS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_200_SS), 0x03, NULL, HFILL } }, { &hf_021_V2_6_210, { "210, MOPS Version", "asterix.021_V2_6_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_210_VNS, { "VNS, Version Not Supported", "asterix.021_V2_6_210_VNS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_210_VNS), 0x40, NULL, HFILL } }, { &hf_021_V2_6_210_VN, { "VN, Version Number", "asterix.021_V2_6_210_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_210_VN), 0x38, NULL, HFILL } }, { &hf_021_V2_6_210_LTT, { "LTT, Link Technology Type", "asterix.021_V2_6_210_LTT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_210_LTT), 0x07, NULL, HFILL } }, { &hf_021_V2_6_220, { "220, Met Information", "asterix.021_V2_6_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_WS, { "WS, Wind Speed", "asterix.021_V2_6_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_V2_6_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_WD, { "WD, Wind Direction", "asterix.021_V2_6_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_V2_6_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_TMP, { "TMP, Temperature", "asterix.021_V2_6_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_V2_6_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_TRB, { "TRB, Turbulence", "asterix.021_V2_6_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_220_TRB_VALUE, { "Turbulence", "asterix.021_V2_6_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_230, { "230, Roll Angle", "asterix.021_V2_6_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_230_VALUE, { "Roll Angle, [°]", "asterix.021_V2_6_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_250, { "250, Mode S MB Data", "asterix.021_V2_6_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_250_VALUE, { "Mode S MB Data", "asterix.021_V2_6_250_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_260, { "260, ACAS Resolution Advisory Report", "asterix.021_V2_6_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_260_TYP, { "TYP, Message Type (= 28 for 1090 ES, Version 2)", "asterix.021_V2_6_260_TYP", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_021_V2_6_260_STYP, { "STYP, Message Sub-type (= 2 for 1090 ES, Version 2)", "asterix.021_V2_6_260_STYP", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_021_V2_6_260_ARA, { "ARA, Active Resolution Advisories", "asterix.021_V2_6_260_ARA", FT_UINT16, BASE_DEC, NULL, 0xfffc, NULL, HFILL } }, { &hf_021_V2_6_260_RAC, { "RAC, RAC (RA Complement) Record", "asterix.021_V2_6_260_RAC", FT_UINT16, BASE_DEC, NULL, 0x03c0, NULL, HFILL } }, { &hf_021_V2_6_260_RAT, { "RAT, RA Terminated", "asterix.021_V2_6_260_RAT", FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL } }, { &hf_021_V2_6_260_MTE, { "MTE, Multiple Threat Encounter", "asterix.021_V2_6_260_MTE", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_021_V2_6_260_TTI, { "TTI, Threat Type Indicator", "asterix.021_V2_6_260_TTI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_021_V2_6_260_TID, { "TID, Threat Identity Data", "asterix.021_V2_6_260_TID", FT_UINT32, BASE_DEC, NULL, 0x03ffffff, NULL, HFILL } }, { &hf_021_V2_6_271, { "271, Surface Capabilities and Characteristics", "asterix.021_V2_6_271", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_271_POA, { "POA, Position Offset Applied", "asterix.021_V2_6_271_POA", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_271_POA), 0x20, NULL, HFILL } }, { &hf_021_V2_6_271_CDTIS, { "CDTIS, Cockpit Display of Traffic Information Surface", "asterix.021_V2_6_271_CDTIS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_271_CDTIS), 0x10, NULL, HFILL } }, { &hf_021_V2_6_271_B2LOW, { "B2LOW, Class B2 Transmit Power Less Than 70 Watts", "asterix.021_V2_6_271_B2LOW", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_271_B2LOW), 0x08, NULL, HFILL } }, { &hf_021_V2_6_271_RAS, { "RAS, Receiving ATC Services", "asterix.021_V2_6_271_RAS", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_271_RAS), 0x04, NULL, HFILL } }, { &hf_021_V2_6_271_IDENT, { "IDENT, Setting of IDENT Switch", "asterix.021_V2_6_271_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_021_V2_6_271_IDENT), 0x02, NULL, HFILL } }, { &hf_021_V2_6_271_LW, { "LW, Length and Width of the Aircraft", "asterix.021_V2_6_271_LW", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_V2_6_295, { "295, Data Ages", "asterix.021_V2_6_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_AOS, { "AOS, Aircraft Operational Status Age", "asterix.021_V2_6_295_AOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_AOS_VALUE, { "Aircraft Operational Status Age, [s]", "asterix.021_V2_6_295_AOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TRD, { "TRD, Target Report Descriptor Age", "asterix.021_V2_6_295_TRD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TRD_VALUE, { "Target Report Descriptor Age, [s]", "asterix.021_V2_6_295_TRD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_M3A, { "M3A, Mode 3/A Age", "asterix.021_V2_6_295_M3A", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_M3A_VALUE, { "Mode 3/A Age, [s]", "asterix.021_V2_6_295_M3A_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_QI, { "QI, Quality Indicators Age", "asterix.021_V2_6_295_QI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_QI_VALUE, { "Quality Indicators Age, [s]", "asterix.021_V2_6_295_QI_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TI1, { "TI1, Trajectory Intent Age", "asterix.021_V2_6_295_TI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TI1_VALUE, { "Trajectory Intent Age, [s]", "asterix.021_V2_6_295_TI1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_MAM, { "MAM, Message Amplitude Age", "asterix.021_V2_6_295_MAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_MAM_VALUE, { "Message Amplitude Age, [s]", "asterix.021_V2_6_295_MAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_GH, { "GH, Geometric Height Age", "asterix.021_V2_6_295_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_GH_VALUE, { "Geometric Height Age, [s]", "asterix.021_V2_6_295_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_FL, { "FL, Flight Level Age", "asterix.021_V2_6_295_FL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_FL_VALUE, { "Flight Level Age, [s]", "asterix.021_V2_6_295_FL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_SAL, { "SAL, Selected Altitude Age", "asterix.021_V2_6_295_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_SAL_VALUE, { "Selected Altitude Age, [s]", "asterix.021_V2_6_295_SAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_FSA, { "FSA, Final State Selected Altitude Age", "asterix.021_V2_6_295_FSA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_FSA_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.021_V2_6_295_FSA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_AS, { "AS, Air Speed Age", "asterix.021_V2_6_295_AS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_AS_VALUE, { "Air Speed Age, [s]", "asterix.021_V2_6_295_AS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TAS, { "TAS, True Air Speed Age", "asterix.021_V2_6_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TAS_VALUE, { "True Air Speed Age, [s]", "asterix.021_V2_6_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_MH, { "MH, Magnetic Heading Age", "asterix.021_V2_6_295_MH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_MH_VALUE, { "Magnetic Heading Age, [s]", "asterix.021_V2_6_295_MH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.021_V2_6_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.021_V2_6_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_GVR, { "GVR, Geometric Vertical Rate Age", "asterix.021_V2_6_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_GVR_VALUE, { "Geometric Vertical Rate Age, [s]", "asterix.021_V2_6_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_GV, { "GV, Ground Vector Age", "asterix.021_V2_6_295_GV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_GV_VALUE, { "Ground Vector Age, [s]", "asterix.021_V2_6_295_GV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TAR, { "TAR, Track Angle Rate Age", "asterix.021_V2_6_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.021_V2_6_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TI2, { "TI2, Target Identification Age", "asterix.021_V2_6_295_TI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TI2_VALUE, { "Target Identification Age, [s]", "asterix.021_V2_6_295_TI2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TS, { "TS, Target Status Age", "asterix.021_V2_6_295_TS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_TS_VALUE, { "Target Status Age, [s]", "asterix.021_V2_6_295_TS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_MET, { "MET, Met Information Age", "asterix.021_V2_6_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_MET_VALUE, { "Met Information Age, [s]", "asterix.021_V2_6_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_ROA, { "ROA, Roll Angle Age", "asterix.021_V2_6_295_ROA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_ROA_VALUE, { "Roll Angle Age, [s]", "asterix.021_V2_6_295_ROA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_ARA, { "ARA, ACAS Resolution Advisory Age", "asterix.021_V2_6_295_ARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_ARA_VALUE, { "ACAS Resolution Advisory Age, [s]", "asterix.021_V2_6_295_ARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_SCC, { "SCC, Surface Capabilities and Characteristics Age", "asterix.021_V2_6_295_SCC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_295_SCC_VALUE, { "Surface Capabilities and Characteristics Age, [s]", "asterix.021_V2_6_295_SCC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_400, { "400, Receiver ID", "asterix.021_V2_6_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_400_VALUE, { "Receiver ID", "asterix.021_V2_6_400_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_RE, { "RE, Reserved Expansion Field", "asterix.021_V2_6_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_V2_6_SP, { "SP, Special Purpose Field", "asterix.021_V2_6_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_008, { "008, Aircraft Operational Status", "asterix.021_008", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_008_RA, { "RA, TCAS Resolution Advisory Active", "asterix.021_008_RA", FT_UINT8, BASE_DEC, VALS (valstr_021_008_RA), 0x80, NULL, HFILL } }, { &hf_021_008_TC, { "TC, Target Trajectory Change Report Capability", "asterix.021_008_TC", FT_UINT8, BASE_DEC, VALS (valstr_021_008_TC), 0x60, NULL, HFILL } }, { &hf_021_008_TS, { "TS, Target State Report Capability", "asterix.021_008_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_008_TS), 0x10, NULL, HFILL } }, { &hf_021_008_ARV, { "ARV, Air-Referenced Velocity Report Capability", "asterix.021_008_ARV", FT_UINT8, BASE_DEC, VALS (valstr_021_008_ARV), 0x08, NULL, HFILL } }, { &hf_021_008_CDTIA, { "CDTIA, Cockpit Display of Traffic Information Airborne", "asterix.021_008_CDTIA", FT_UINT8, BASE_DEC, VALS (valstr_021_008_CDTIA), 0x04, NULL, HFILL } }, { &hf_021_008_NOTTCAS, { "NOTTCAS, TCAS System Status", "asterix.021_008_NOTTCAS", FT_UINT8, BASE_DEC, VALS (valstr_021_008_NOTTCAS), 0x02, NULL, HFILL } }, { &hf_021_008_SA, { "SA, Single Antenna", "asterix.021_008_SA", FT_UINT8, BASE_DEC, VALS (valstr_021_008_SA), 0x01, NULL, HFILL } }, { &hf_021_010, { "010, Data Source Identification", "asterix.021_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_010_SAC, { "SAC, System Area Code", "asterix.021_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_010_SIC, { "SIC, System Identification Code", "asterix.021_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_015, { "015, Service Identification", "asterix.021_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_015_VALUE, { "Service Identification", "asterix.021_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_016, { "016, Service Management", "asterix.021_016", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_016_VALUE, { "Service Management, [s]", "asterix.021_016_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_020, { "020, Emitter Category", "asterix.021_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_020_VALUE, { "Emitter Category", "asterix.021_020_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_021_020_VALUE), 0x00, NULL, HFILL } }, { &hf_021_040, { "040, Target Report Descriptor", "asterix.021_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_040_ATP, { "ATP, Address Type", "asterix.021_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_040_ATP), 0xe0, NULL, HFILL } }, { &hf_021_040_ARC, { "ARC, Altitude Reporting Capability", "asterix.021_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_ARC), 0x18, NULL, HFILL } }, { &hf_021_040_RC, { "RC, Range Check", "asterix.021_040_RC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_RC), 0x04, NULL, HFILL } }, { &hf_021_040_RAB, { "RAB, Report Type", "asterix.021_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_040_RAB), 0x02, NULL, HFILL } }, { &hf_021_040_DCR, { "DCR, Differential Correction", "asterix.021_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_040_DCR), 0x80, NULL, HFILL } }, { &hf_021_040_GBS, { "GBS, Ground Bit Setting", "asterix.021_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_040_GBS), 0x40, NULL, HFILL } }, { &hf_021_040_SIM, { "SIM, Simulated Target", "asterix.021_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_040_SIM), 0x20, NULL, HFILL } }, { &hf_021_040_TST, { "TST, Test Target", "asterix.021_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_040_TST), 0x10, NULL, HFILL } }, { &hf_021_040_SAA, { "SAA, Selected Altitude Available", "asterix.021_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_040_SAA), 0x08, NULL, HFILL } }, { &hf_021_040_CL, { "CL, Confidence Level", "asterix.021_040_CL", FT_UINT8, BASE_DEC, VALS (valstr_021_040_CL), 0x06, NULL, HFILL } }, { &hf_021_040_LLC, { "LLC, List Lookup Check", "asterix.021_040_LLC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_LLC), 0x40, NULL, HFILL } }, { &hf_021_040_IPC, { "IPC, Independent Position Check", "asterix.021_040_IPC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_IPC), 0x20, NULL, HFILL } }, { &hf_021_040_NOGO, { "NOGO, No-go Bit Status", "asterix.021_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_021_040_NOGO), 0x10, NULL, HFILL } }, { &hf_021_040_CPR, { "CPR, Compact Position Reporting", "asterix.021_040_CPR", FT_UINT8, BASE_DEC, VALS (valstr_021_040_CPR), 0x08, NULL, HFILL } }, { &hf_021_040_LDPJ, { "LDPJ, Local Decoding Position Jump", "asterix.021_040_LDPJ", FT_UINT8, BASE_DEC, VALS (valstr_021_040_LDPJ), 0x04, NULL, HFILL } }, { &hf_021_040_RCF, { "RCF, Range Check", "asterix.021_040_RCF", FT_UINT8, BASE_DEC, VALS (valstr_021_040_RCF), 0x02, NULL, HFILL } }, { &hf_021_040_TBC, { "TBC, Total Bits Corrected", "asterix.021_040_TBC", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_021_040_MBC, { "MBC, Maximum Bits Corrected", "asterix.021_040_MBC", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_021_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.021_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_071, { "071, Time of Applicability for Position", "asterix.021_071", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_071_VALUE, { "Time of Applicability for Position, [s]", "asterix.021_071_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_072, { "072, Time of Applicability for Velocity", "asterix.021_072", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_072_VALUE, { "Time of Applicability for Velocity, [s]", "asterix.021_072_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_073, { "073, Time of Message Reception for Position", "asterix.021_073", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_073_VALUE, { "Time of Message Reception for Position, [s]", "asterix.021_073_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_074, { "074, Time of Message Reception of Position-High Precision", "asterix.021_074", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_074_FSI, { "FSI, Full Second Indication", "asterix.021_074_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_074_FSI), 0xc0, NULL, HFILL } }, { &hf_021_074_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_074_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_075, { "075, Time of Message Reception for Velocity", "asterix.021_075", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_075_VALUE, { "Time of Message Reception for Velocity, [s]", "asterix.021_075_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_076, { "076, Time of Message Reception of Velocity-High Precision", "asterix.021_076", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_076_FSI, { "FSI, Full Second Indication", "asterix.021_076_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_076_FSI), 0xc0, NULL, HFILL } }, { &hf_021_076_TOMRP, { "TOMRP, Fractional Part of the Time of Message Reception for Position in the Ground Station, [s]", "asterix.021_076_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_077, { "077, Time of ASTERIX Report Transmission", "asterix.021_077", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_077_VALUE, { "Time of ASTERIX Report Transmission, [s]", "asterix.021_077_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_080, { "080, Target Address", "asterix.021_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_080_VALUE, { "Target Address", "asterix.021_080_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_090, { "090, Quality Indicators", "asterix.021_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_090_NUCRNACV, { "NUCRNACV, Navigation Uncertainty Category for Velocity NUCr or the Navigation Accuracy Category for Velocity NACv", "asterix.021_090_NUCRNACV", FT_UINT8, BASE_DEC, NULL, 0xe0, NULL, HFILL } }, { &hf_021_090_NUCPNIC, { "NUCPNIC, Navigation Uncertainty Category for Position NUCp or Navigation Integrity Category NIC", "asterix.021_090_NUCPNIC", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_090_NICBARO, { "NICBARO, Navigation Integrity Category for Barometric Altitude", "asterix.021_090_NICBARO", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } }, { &hf_021_090_SIL, { "SIL, Surveillance (version 1) or Source (version 2) Integrity Level", "asterix.021_090_SIL", FT_UINT8, BASE_DEC, NULL, 0x60, NULL, HFILL } }, { &hf_021_090_NACP, { "NACP, Navigation Accuracy Category for Position", "asterix.021_090_NACP", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } }, { &hf_021_090_SILS, { "SILS, SIL-Supplement", "asterix.021_090_SILS", FT_UINT8, BASE_DEC, VALS (valstr_021_090_SILS), 0x20, NULL, HFILL } }, { &hf_021_090_SDA, { "SDA, Horizontal Position System Design Assurance Level (as Defined in Version 2)", "asterix.021_090_SDA", FT_UINT8, BASE_DEC, NULL, 0x18, NULL, HFILL } }, { &hf_021_090_GVA, { "GVA, Geometric Altitude Accuracy", "asterix.021_090_GVA", FT_UINT8, BASE_DEC, NULL, 0x06, NULL, HFILL } }, { &hf_021_090_PIC, { "PIC, Position Integrity Category", "asterix.021_090_PIC", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_110, { "110, Trajectory Intent", "asterix.021_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_110_TIS, { "TIS, Trajectory Intent Status", "asterix.021_110_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_110_TIS_NAV, { "NAV", "asterix.021_110_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_021_110_TIS_NVB, { "NVB", "asterix.021_110_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_021_110_TID, { "TID, Trajectory Intent Data", "asterix.021_110_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_110_TID_TCA, { "TCA", "asterix.021_110_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TID_TCA), 0x80, NULL, HFILL } }, { &hf_021_110_TID_NC, { "NC", "asterix.021_110_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TID_NC), 0x40, NULL, HFILL } }, { &hf_021_110_TID_TCPN, { "TCPN", "asterix.021_110_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_021_110_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.021_110_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_110_TID_LAT, { "LAT, In WGS.84 in Two's Complement, [°]", "asterix.021_110_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_110_TID_LON, { "LON, In WGS.84 in Two's Complement, [°]", "asterix.021_110_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_110_TID_PT, { "PT, Point Type", "asterix.021_110_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TID_PT), 0xf0, NULL, HFILL } }, { &hf_021_110_TID_TD, { "TD", "asterix.021_110_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TID_TD), 0x0c, NULL, HFILL } }, { &hf_021_110_TID_TRA, { "TRA", "asterix.021_110_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TID_TRA), 0x02, NULL, HFILL } }, { &hf_021_110_TID_TOA, { "TOA", "asterix.021_110_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_110_TID_TOA), 0x01, NULL, HFILL } }, { &hf_021_110_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.021_110_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_110_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.021_110_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_130_LAT, { "LAT, Latitude, [°]", "asterix.021_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_130_LON, { "LON, Longitude, [°]", "asterix.021_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_131, { "131, High-Resolution Position in WGS-84 Co-ordinates", "asterix.021_131", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_131_LAT, { "LAT, Latitude, [°]", "asterix.021_131_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_131_LON, { "LON, Longitude, [°]", "asterix.021_131_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_132, { "132, Message Amplitude", "asterix.021_132", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_132_VALUE, { "Message Amplitude, [dBm]", "asterix.021_132_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_140, { "140, Geometric Height", "asterix.021_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_140_VALUE, { "Geometric Height, [ft]", "asterix.021_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_145, { "145, Flight Level", "asterix.021_145", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_145_VALUE, { "Flight Level, [FL]", "asterix.021_145_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_146, { "146, Selected Altitude", "asterix.021_146", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_146_SAS, { "SAS, Source Availability", "asterix.021_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_146_SAS), 0x80, NULL, HFILL } }, { &hf_021_146_S, { "S, Source", "asterix.021_146_S", FT_UINT8, BASE_DEC, VALS (valstr_021_146_S), 0x60, NULL, HFILL } }, { &hf_021_146_ALT, { "ALT, Altitude, [ft]", "asterix.021_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_148, { "148, Final State Selected Altitude", "asterix.021_148", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_148_MV, { "MV, Manage Vertical Mode", "asterix.021_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_148_MV), 0x80, NULL, HFILL } }, { &hf_021_148_AH, { "AH, Altitude Hold Mode", "asterix.021_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_148_AH), 0x40, NULL, HFILL } }, { &hf_021_148_AM, { "AM, Approach Mode", "asterix.021_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_148_AM), 0x20, NULL, HFILL } }, { &hf_021_148_ALT, { "ALT, Altitude, [ft]", "asterix.021_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_150, { "150, Air Speed", "asterix.021_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_150_IM, { "IM", "asterix.021_150_IM", FT_UINT8, BASE_DEC, VALS (valstr_021_150_IM), 0x80, NULL, HFILL } }, { &hf_021_150_AS, { "AS, Air Speed (IAS or Mach)", "asterix.021_150_AS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_021_151, { "151, True Airspeed", "asterix.021_151", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_151_RE, { "RE, Range Exceeded Indicator", "asterix.021_151_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_151_RE), 0x80, NULL, HFILL } }, { &hf_021_151_TAS, { "TAS, True Air Speed, [kt]", "asterix.021_151_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_152, { "152, Magnetic Heading", "asterix.021_152", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_152_VALUE, { "Magnetic Heading, [°]", "asterix.021_152_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_155, { "155, Barometric Vertical Rate", "asterix.021_155", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_155_RE, { "RE, Range Exceeded Indicator", "asterix.021_155_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_155_RE), 0x80, NULL, HFILL } }, { &hf_021_155_BVR, { "BVR, Barometric Vertical Rate, [ft/min]", "asterix.021_155_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_157, { "157, Geometric Vertical Rate", "asterix.021_157", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_157_RE, { "RE, Range Exceeded Indicator", "asterix.021_157_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_157_RE), 0x80, NULL, HFILL } }, { &hf_021_157_GVR, { "GVR, Geometric Vertical Rate, [ft/min]", "asterix.021_157_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_160, { "160, Airborne Ground Vector", "asterix.021_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_160_RE, { "RE, Range Exceeded Indicator", "asterix.021_160_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_160_RE), 0x80, NULL, HFILL } }, { &hf_021_160_GS, { "GS, Ground Speed Referenced to WGS-84, [NM/s]", "asterix.021_160_GS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_160_TA, { "TA, Track Angle Clockwise Reference to True North, [°]", "asterix.021_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_161, { "161, Track Number", "asterix.021_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_161_TRNUM, { "TRNUM, Track Number", "asterix.021_161_TRNUM", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_021_165, { "165, Track Angle Rate", "asterix.021_165", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_165_TAR, { "TAR, Track Angle Rate, [°/s]", "asterix.021_165_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_170, { "170, Target Identification", "asterix.021_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_170_VALUE, { "Target Identification", "asterix.021_170_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_200, { "200, Target Status", "asterix.021_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_200_ICF, { "ICF, Intent Change Flag (see Note)", "asterix.021_200_ICF", FT_UINT8, BASE_DEC, VALS (valstr_021_200_ICF), 0x80, NULL, HFILL } }, { &hf_021_200_LNAV, { "LNAV, LNAV Mode", "asterix.021_200_LNAV", FT_UINT8, BASE_DEC, VALS (valstr_021_200_LNAV), 0x40, NULL, HFILL } }, { &hf_021_200_ME, { "ME, Military Emergency", "asterix.021_200_ME", FT_UINT8, BASE_DEC, VALS (valstr_021_200_ME), 0x20, NULL, HFILL } }, { &hf_021_200_PS, { "PS, Priority Status", "asterix.021_200_PS", FT_UINT8, BASE_DEC, VALS (valstr_021_200_PS), 0x1c, NULL, HFILL } }, { &hf_021_200_SS, { "SS, Surveillance Status", "asterix.021_200_SS", FT_UINT8, BASE_DEC, VALS (valstr_021_200_SS), 0x03, NULL, HFILL } }, { &hf_021_210, { "210, MOPS Version", "asterix.021_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_210_VNS, { "VNS, Version Not Supported", "asterix.021_210_VNS", FT_UINT8, BASE_DEC, VALS (valstr_021_210_VNS), 0x40, NULL, HFILL } }, { &hf_021_210_VN, { "VN, Version Number", "asterix.021_210_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_210_VN), 0x38, NULL, HFILL } }, { &hf_021_210_LTT, { "LTT, Link Technology Type", "asterix.021_210_LTT", FT_UINT8, BASE_DEC, VALS (valstr_021_210_LTT), 0x07, NULL, HFILL } }, { &hf_021_220, { "220, Met Information", "asterix.021_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_WS, { "WS, Wind Speed", "asterix.021_220_WS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_WS_VALUE, { "Wind Speed, [kt]", "asterix.021_220_WS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_WD, { "WD, Wind Direction", "asterix.021_220_WD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_WD_VALUE, { "Wind Direction, [°]", "asterix.021_220_WD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_TMP, { "TMP, Temperature", "asterix.021_220_TMP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_TMP_VALUE, { "Temperature, [°C]", "asterix.021_220_TMP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_TRB, { "TRB, Turbulence", "asterix.021_220_TRB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_220_TRB_VALUE, { "Turbulence", "asterix.021_220_TRB_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_230, { "230, Roll Angle", "asterix.021_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_230_VALUE, { "Roll Angle, [°]", "asterix.021_230_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_250, { "250, Mode S MB Data", "asterix.021_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_250_VALUE, { "Mode S MB Data", "asterix.021_250_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_260, { "260, ACAS Resolution Advisory Report", "asterix.021_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_260_TYP, { "TYP, Message Type (= 28 for 1090 ES, Version 2)", "asterix.021_260_TYP", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } }, { &hf_021_260_STYP, { "STYP, Message Sub-type (= 2 for 1090 ES, Version 2)", "asterix.021_260_STYP", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_021_260_ARA, { "ARA, Active Resolution Advisories", "asterix.021_260_ARA", FT_UINT16, BASE_DEC, NULL, 0xfffc, NULL, HFILL } }, { &hf_021_260_RAC, { "RAC, RAC (RA Complement) Record", "asterix.021_260_RAC", FT_UINT16, BASE_DEC, NULL, 0x03c0, NULL, HFILL } }, { &hf_021_260_RAT, { "RAT, RA Terminated", "asterix.021_260_RAT", FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL } }, { &hf_021_260_MTE, { "MTE, Multiple Threat Encounter", "asterix.021_260_MTE", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_021_260_TTI, { "TTI, Threat Type Indicator", "asterix.021_260_TTI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_021_260_TID, { "TID, Threat Identity Data", "asterix.021_260_TID", FT_UINT32, BASE_DEC, NULL, 0x03ffffff, NULL, HFILL } }, { &hf_021_271, { "271, Surface Capabilities and Characteristics", "asterix.021_271", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_271_POA, { "POA, Position Offset Applied", "asterix.021_271_POA", FT_UINT8, BASE_DEC, VALS (valstr_021_271_POA), 0x20, NULL, HFILL } }, { &hf_021_271_CDTIS, { "CDTIS, Cockpit Display of Traffic Information Surface", "asterix.021_271_CDTIS", FT_UINT8, BASE_DEC, VALS (valstr_021_271_CDTIS), 0x10, NULL, HFILL } }, { &hf_021_271_B2LOW, { "B2LOW, Class B2 Transmit Power Less Than 70 Watts", "asterix.021_271_B2LOW", FT_UINT8, BASE_DEC, VALS (valstr_021_271_B2LOW), 0x08, NULL, HFILL } }, { &hf_021_271_RAS, { "RAS, Receiving ATC Services", "asterix.021_271_RAS", FT_UINT8, BASE_DEC, VALS (valstr_021_271_RAS), 0x04, NULL, HFILL } }, { &hf_021_271_IDENT, { "IDENT, Setting of IDENT Switch", "asterix.021_271_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_021_271_IDENT), 0x02, NULL, HFILL } }, { &hf_021_271_LW, { "LW, Length and Width of the Aircraft", "asterix.021_271_LW", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_021_295, { "295, Data Ages", "asterix.021_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_AOS, { "AOS, Aircraft Operational Status Age", "asterix.021_295_AOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_AOS_VALUE, { "Aircraft Operational Status Age, [s]", "asterix.021_295_AOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TRD, { "TRD, Target Report Descriptor Age", "asterix.021_295_TRD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TRD_VALUE, { "Target Report Descriptor Age, [s]", "asterix.021_295_TRD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_M3A, { "M3A, Mode 3/A Age", "asterix.021_295_M3A", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_M3A_VALUE, { "Mode 3/A Age, [s]", "asterix.021_295_M3A_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_QI, { "QI, Quality Indicators Age", "asterix.021_295_QI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_QI_VALUE, { "Quality Indicators Age, [s]", "asterix.021_295_QI_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TI1, { "TI1, Trajectory Intent Age", "asterix.021_295_TI1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TI1_VALUE, { "Trajectory Intent Age, [s]", "asterix.021_295_TI1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_MAM, { "MAM, Message Amplitude Age", "asterix.021_295_MAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_MAM_VALUE, { "Message Amplitude Age, [s]", "asterix.021_295_MAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_GH, { "GH, Geometric Height Age", "asterix.021_295_GH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_GH_VALUE, { "Geometric Height Age, [s]", "asterix.021_295_GH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_FL, { "FL, Flight Level Age", "asterix.021_295_FL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_FL_VALUE, { "Flight Level Age, [s]", "asterix.021_295_FL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_SAL, { "SAL, Selected Altitude Age", "asterix.021_295_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_SAL_VALUE, { "Selected Altitude Age, [s]", "asterix.021_295_SAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_FSA, { "FSA, Final State Selected Altitude Age", "asterix.021_295_FSA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_FSA_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.021_295_FSA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_AS, { "AS, Air Speed Age", "asterix.021_295_AS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_AS_VALUE, { "Air Speed Age, [s]", "asterix.021_295_AS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TAS, { "TAS, True Air Speed Age", "asterix.021_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TAS_VALUE, { "True Air Speed Age, [s]", "asterix.021_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_MH, { "MH, Magnetic Heading Age", "asterix.021_295_MH", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_MH_VALUE, { "Magnetic Heading Age, [s]", "asterix.021_295_MH_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.021_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.021_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_GVR, { "GVR, Geometric Vertical Rate Age", "asterix.021_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_GVR_VALUE, { "Geometric Vertical Rate Age, [s]", "asterix.021_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_GV, { "GV, Ground Vector Age", "asterix.021_295_GV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_GV_VALUE, { "Ground Vector Age, [s]", "asterix.021_295_GV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TAR, { "TAR, Track Angle Rate Age", "asterix.021_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.021_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TI2, { "TI2, Target Identification Age", "asterix.021_295_TI2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TI2_VALUE, { "Target Identification Age, [s]", "asterix.021_295_TI2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TS, { "TS, Target Status Age", "asterix.021_295_TS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_TS_VALUE, { "Target Status Age, [s]", "asterix.021_295_TS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_MET, { "MET, Met Information Age", "asterix.021_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_MET_VALUE, { "Met Information Age, [s]", "asterix.021_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_ROA, { "ROA, Roll Angle Age", "asterix.021_295_ROA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_ROA_VALUE, { "Roll Angle Age, [s]", "asterix.021_295_ROA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_ARA, { "ARA, ACAS Resolution Advisory Age", "asterix.021_295_ARA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_ARA_VALUE, { "ACAS Resolution Advisory Age, [s]", "asterix.021_295_ARA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_SCC, { "SCC, Surface Capabilities and Characteristics Age", "asterix.021_295_SCC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_295_SCC_VALUE, { "Surface Capabilities and Characteristics Age, [s]", "asterix.021_295_SCC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_400, { "400, Receiver ID", "asterix.021_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_400_VALUE, { "Receiver ID", "asterix.021_400_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_021_RE, { "RE, Reserved Expansion Field", "asterix.021_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_021_SP, { "SP, Special Purpose Field", "asterix.021_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_000, { "000, Report Type", "asterix.023_V1_2_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_000_VALUE, { "Report Type", "asterix.023_V1_2_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_000_VALUE), 0x00, NULL, HFILL } }, { &hf_023_V1_2_010, { "010, Data Source Identifier", "asterix.023_V1_2_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_010_SAC, { "SAC, System Area Code", "asterix.023_V1_2_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_010_SIC, { "SIC, System Identification Code", "asterix.023_V1_2_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_015, { "015, Service Type and Identification", "asterix.023_V1_2_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_015_SID, { "SID, Service Identification", "asterix.023_V1_2_015_SID", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_023_V1_2_015_STYP, { "STYP, Type of Service", "asterix.023_V1_2_015_STYP", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_015_STYP), 0x0f, NULL, HFILL } }, { &hf_023_V1_2_070, { "070, Time of Day", "asterix.023_V1_2_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_070_VALUE, { "Time of Day, [s]", "asterix.023_V1_2_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_100, { "100, Ground Station Status", "asterix.023_V1_2_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_100_NOGO, { "NOGO, Operational Release Status of the Data", "asterix.023_V1_2_100_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_100_NOGO), 0x80, NULL, HFILL } }, { &hf_023_V1_2_100_ODP, { "ODP, Data Processor Overload Indicator", "asterix.023_V1_2_100_ODP", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_100_ODP), 0x40, NULL, HFILL } }, { &hf_023_V1_2_100_OXT, { "OXT, Ground Interface Data Communications Overload", "asterix.023_V1_2_100_OXT", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_100_OXT), 0x20, NULL, HFILL } }, { &hf_023_V1_2_100_MSC, { "MSC, Monitoring System Connected Status", "asterix.023_V1_2_100_MSC", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_100_MSC), 0x10, NULL, HFILL } }, { &hf_023_V1_2_100_TSV, { "TSV, Time Source Validity", "asterix.023_V1_2_100_TSV", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_100_TSV), 0x08, NULL, HFILL } }, { &hf_023_V1_2_100_SPO, { "SPO, Indication of Spoofing Attack", "asterix.023_V1_2_100_SPO", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_100_SPO), 0x04, NULL, HFILL } }, { &hf_023_V1_2_100_RN, { "RN, Renumbering Indication for Track ID", "asterix.023_V1_2_100_RN", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_100_RN), 0x02, NULL, HFILL } }, { &hf_023_V1_2_100_GSSP, { "GSSP, Ground Station Status Reporting Period, [s]", "asterix.023_V1_2_100_GSSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_101, { "101, Service Configuration", "asterix.023_V1_2_101", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_101_RP, { "RP, Report Period for Category 021 Reports, [s]", "asterix.023_V1_2_101_RP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_101_SC, { "SC, Service Class", "asterix.023_V1_2_101_SC", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_101_SC), 0xe0, NULL, HFILL } }, { &hf_023_V1_2_101_SSRP, { "SSRP, Service Status Reporting Period, [s]", "asterix.023_V1_2_101_SSRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_110, { "110, Service Status", "asterix.023_V1_2_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_110_STAT, { "STAT, Status of the Service", "asterix.023_V1_2_110_STAT", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_110_STAT), 0x0e, NULL, HFILL } }, { &hf_023_V1_2_120, { "120, Service Statistics", "asterix.023_V1_2_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_120_TYPE, { "TYPE, Type of Report Counter", "asterix.023_V1_2_120_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_120_TYPE), 0x00, NULL, HFILL } }, { &hf_023_V1_2_120_REF, { "REF, Reference from which the Messages Are Countered", "asterix.023_V1_2_120_REF", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_2_120_REF), 0x80, NULL, HFILL } }, { &hf_023_V1_2_120_CV, { "CV, 32-bit Counter Value", "asterix.023_V1_2_120_CV", FT_UINT32, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_200, { "200, Operational Range", "asterix.023_V1_2_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_200_VALUE, { "Operational Range, [NM]", "asterix.023_V1_2_200_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_RE, { "RE, Reserved Expansion Field", "asterix.023_V1_2_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_2_SP, { "SP, Special Purpose Field", "asterix.023_V1_2_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_000, { "000, Report Type", "asterix.023_V1_3_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_000_VALUE, { "Report Type", "asterix.023_V1_3_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_000_VALUE), 0x00, NULL, HFILL } }, { &hf_023_V1_3_010, { "010, Data Source Identifier", "asterix.023_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_010_SAC, { "SAC, System Area Code", "asterix.023_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.023_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_015, { "015, Service Type and Identification", "asterix.023_V1_3_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_015_SID, { "SID, Service Identification", "asterix.023_V1_3_015_SID", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_023_V1_3_015_STYP, { "STYP, Type of Service", "asterix.023_V1_3_015_STYP", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_015_STYP), 0x0f, NULL, HFILL } }, { &hf_023_V1_3_070, { "070, Time of Day", "asterix.023_V1_3_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_070_VALUE, { "Time of Day, [s]", "asterix.023_V1_3_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_100, { "100, Ground Station Status", "asterix.023_V1_3_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_100_NOGO, { "NOGO, Operational Release Status of the Data", "asterix.023_V1_3_100_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_100_NOGO), 0x80, NULL, HFILL } }, { &hf_023_V1_3_100_ODP, { "ODP, Data Processor Overload Indicator", "asterix.023_V1_3_100_ODP", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_100_ODP), 0x40, NULL, HFILL } }, { &hf_023_V1_3_100_OXT, { "OXT, Ground Interface Data Communications Overload", "asterix.023_V1_3_100_OXT", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_100_OXT), 0x20, NULL, HFILL } }, { &hf_023_V1_3_100_MSC, { "MSC, Monitoring System Connected Status", "asterix.023_V1_3_100_MSC", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_100_MSC), 0x10, NULL, HFILL } }, { &hf_023_V1_3_100_TSV, { "TSV, Time Source Validity", "asterix.023_V1_3_100_TSV", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_100_TSV), 0x08, NULL, HFILL } }, { &hf_023_V1_3_100_SPO, { "SPO, Indication of Spoofing Attack", "asterix.023_V1_3_100_SPO", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_100_SPO), 0x04, NULL, HFILL } }, { &hf_023_V1_3_100_RN, { "RN, Renumbering Indication for Track ID", "asterix.023_V1_3_100_RN", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_100_RN), 0x02, NULL, HFILL } }, { &hf_023_V1_3_100_GSSP, { "GSSP, Ground Station Status Reporting Period, [s]", "asterix.023_V1_3_100_GSSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_101, { "101, Service Configuration", "asterix.023_V1_3_101", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_101_RP, { "RP, Report Period for Category 021 Reports, [s]", "asterix.023_V1_3_101_RP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_101_SC, { "SC, Service Class", "asterix.023_V1_3_101_SC", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_101_SC), 0xe0, NULL, HFILL } }, { &hf_023_V1_3_101_SSRP, { "SSRP, Service Status Reporting Period, [s]", "asterix.023_V1_3_101_SSRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_110, { "110, Service Status", "asterix.023_V1_3_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_110_STAT, { "STAT, Status of the Service", "asterix.023_V1_3_110_STAT", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_110_STAT), 0x0e, NULL, HFILL } }, { &hf_023_V1_3_120, { "120, Service Statistics", "asterix.023_V1_3_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_120_TYPE, { "TYPE, Type of Report Counter", "asterix.023_V1_3_120_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_120_TYPE), 0x00, NULL, HFILL } }, { &hf_023_V1_3_120_REF, { "REF, Reference from which the Messages Are Countered", "asterix.023_V1_3_120_REF", FT_UINT8, BASE_DEC, VALS (valstr_023_V1_3_120_REF), 0x80, NULL, HFILL } }, { &hf_023_V1_3_120_CV, { "CV, 32-bit Counter Value", "asterix.023_V1_3_120_CV", FT_UINT32, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_200, { "200, Operational Range", "asterix.023_V1_3_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_200_VALUE, { "Operational Range, [NM]", "asterix.023_V1_3_200_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_RE, { "RE, Reserved Expansion Field", "asterix.023_V1_3_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_V1_3_SP, { "SP, Special Purpose Field", "asterix.023_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_000, { "000, Report Type", "asterix.023_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_000_VALUE, { "Report Type", "asterix.023_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_023_000_VALUE), 0x00, NULL, HFILL } }, { &hf_023_010, { "010, Data Source Identifier", "asterix.023_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_010_SAC, { "SAC, System Area Code", "asterix.023_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_023_010_SIC, { "SIC, System Identification Code", "asterix.023_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_023_015, { "015, Service Type and Identification", "asterix.023_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_015_SID, { "SID, Service Identification", "asterix.023_015_SID", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_023_015_STYP, { "STYP, Type of Service", "asterix.023_015_STYP", FT_UINT8, BASE_DEC, VALS (valstr_023_015_STYP), 0x0f, NULL, HFILL } }, { &hf_023_070, { "070, Time of Day", "asterix.023_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_070_VALUE, { "Time of Day, [s]", "asterix.023_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_100, { "100, Ground Station Status", "asterix.023_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_100_NOGO, { "NOGO, Operational Release Status of the Data", "asterix.023_100_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_023_100_NOGO), 0x80, NULL, HFILL } }, { &hf_023_100_ODP, { "ODP, Data Processor Overload Indicator", "asterix.023_100_ODP", FT_UINT8, BASE_DEC, VALS (valstr_023_100_ODP), 0x40, NULL, HFILL } }, { &hf_023_100_OXT, { "OXT, Ground Interface Data Communications Overload", "asterix.023_100_OXT", FT_UINT8, BASE_DEC, VALS (valstr_023_100_OXT), 0x20, NULL, HFILL } }, { &hf_023_100_MSC, { "MSC, Monitoring System Connected Status", "asterix.023_100_MSC", FT_UINT8, BASE_DEC, VALS (valstr_023_100_MSC), 0x10, NULL, HFILL } }, { &hf_023_100_TSV, { "TSV, Time Source Validity", "asterix.023_100_TSV", FT_UINT8, BASE_DEC, VALS (valstr_023_100_TSV), 0x08, NULL, HFILL } }, { &hf_023_100_SPO, { "SPO, Indication of Spoofing Attack", "asterix.023_100_SPO", FT_UINT8, BASE_DEC, VALS (valstr_023_100_SPO), 0x04, NULL, HFILL } }, { &hf_023_100_RN, { "RN, Renumbering Indication for Track ID", "asterix.023_100_RN", FT_UINT8, BASE_DEC, VALS (valstr_023_100_RN), 0x02, NULL, HFILL } }, { &hf_023_100_GSSP, { "GSSP, Ground Station Status Reporting Period, [s]", "asterix.023_100_GSSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_101, { "101, Service Configuration", "asterix.023_101", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_101_RP, { "RP, Report Period for Category 021 Reports, [s]", "asterix.023_101_RP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_101_SC, { "SC, Service Class", "asterix.023_101_SC", FT_UINT8, BASE_DEC, VALS (valstr_023_101_SC), 0xe0, NULL, HFILL } }, { &hf_023_101_SSRP, { "SSRP, Service Status Reporting Period, [s]", "asterix.023_101_SSRP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_110, { "110, Service Status", "asterix.023_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_110_STAT, { "STAT, Status of the Service", "asterix.023_110_STAT", FT_UINT8, BASE_DEC, VALS (valstr_023_110_STAT), 0x0e, NULL, HFILL } }, { &hf_023_120, { "120, Service Statistics", "asterix.023_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_120_TYPE, { "TYPE, Type of Report Counter", "asterix.023_120_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_023_120_TYPE), 0x00, NULL, HFILL } }, { &hf_023_120_REF, { "REF, Reference from which the Messages Are Countered", "asterix.023_120_REF", FT_UINT8, BASE_DEC, VALS (valstr_023_120_REF), 0x80, NULL, HFILL } }, { &hf_023_120_CV, { "CV, 32-bit Counter Value", "asterix.023_120_CV", FT_UINT32, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_023_200, { "200, Operational Range", "asterix.023_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_200_VALUE, { "Operational Range, [NM]", "asterix.023_200_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_RE, { "RE, Reserved Expansion Field", "asterix.023_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_023_SP, { "SP, Special Purpose Field", "asterix.023_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_000, { "000, Report Type", "asterix.025_V1_5_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_000_RTYP, { "RTYP, Report Type", "asterix.025_V1_5_000_RTYP", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_025_V1_5_000_RG, { "RG, Report Generation", "asterix.025_V1_5_000_RG", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_000_RG), 0x01, NULL, HFILL } }, { &hf_025_V1_5_010, { "010, Data Source Identifier", "asterix.025_V1_5_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_010_SAC, { "SAC, System Area Code", "asterix.025_V1_5_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_010_SIC, { "SIC, System Identification Code", "asterix.025_V1_5_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_015, { "015, Service Identification", "asterix.025_V1_5_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_015_VALUE, { "Service Identification", "asterix.025_V1_5_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_020, { "020, Service Designator", "asterix.025_V1_5_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_020_VALUE, { "Service Designator", "asterix.025_V1_5_020_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_070, { "070, Time of Day", "asterix.025_V1_5_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_070_VALUE, { "Time of Day, [s]", "asterix.025_V1_5_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_100, { "100, System and Service Status", "asterix.025_V1_5_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_100_NOGO, { "NOGO", "asterix.025_V1_5_100_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_100_NOGO), 0x80, NULL, HFILL } }, { &hf_025_V1_5_100_OPS, { "OPS", "asterix.025_V1_5_100_OPS", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_100_OPS), 0x60, NULL, HFILL } }, { &hf_025_V1_5_100_SSTAT, { "SSTAT", "asterix.025_V1_5_100_SSTAT", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_100_SSTAT), 0x1e, NULL, HFILL } }, { &hf_025_V1_5_100_SYSTAT, { "SYSTAT", "asterix.025_V1_5_100_SYSTAT", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_100_SYSTAT), 0x70, NULL, HFILL } }, { &hf_025_V1_5_100_SESTAT, { "SESTAT", "asterix.025_V1_5_100_SESTAT", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_100_SESTAT), 0x0e, NULL, HFILL } }, { &hf_025_V1_5_105, { "105, System and Service Error Codes", "asterix.025_V1_5_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_105_VALUE, { "System and Service Error Codes", "asterix.025_V1_5_105_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_105_VALUE), 0x00, NULL, HFILL } }, { &hf_025_V1_5_120, { "120, Component Status", "asterix.025_V1_5_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_120_CID, { "CID, Component ID", "asterix.025_V1_5_120_CID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_120_ERRC, { "ERRC, Error Code", "asterix.025_V1_5_120_ERRC", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_120_ERRC), 0xfc, NULL, HFILL } }, { &hf_025_V1_5_120_CS, { "CS, Component State/Mode", "asterix.025_V1_5_120_CS", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_120_CS), 0x03, NULL, HFILL } }, { &hf_025_V1_5_140, { "140, Service Statistics", "asterix.025_V1_5_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_140_TYPE, { "TYPE, Type of Report Counter", "asterix.025_V1_5_140_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_140_TYPE), 0x00, NULL, HFILL } }, { &hf_025_V1_5_140_REF, { "REF, Reference from which the Messages Are Counted", "asterix.025_V1_5_140_REF", FT_UINT8, BASE_DEC, VALS (valstr_025_V1_5_140_REF), 0x80, NULL, HFILL } }, { &hf_025_V1_5_140_COUNT, { "COUNT, Counter Value", "asterix.025_V1_5_140_COUNT", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_200, { "200, Message Identification", "asterix.025_V1_5_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_200_VALUE, { "Message Identification", "asterix.025_V1_5_200_VALUE", FT_UINT24, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_600, { "600, Position of the System Reference Point", "asterix.025_V1_5_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_600_LAT, { "LAT, Latitude, [°]", "asterix.025_V1_5_600_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_600_LON, { "LON, Longitude, [°]", "asterix.025_V1_5_600_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_610, { "610, Height of the System Reference Point", "asterix.025_V1_5_610", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_610_VALUE, { "Height of the System Reference Point, [m]", "asterix.025_V1_5_610_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_V1_5_SP, { "SP, Special Purpose Field", "asterix.025_V1_5_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_000, { "000, Report Type", "asterix.025_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_000_RTYP, { "RTYP, Report Type", "asterix.025_000_RTYP", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } }, { &hf_025_000_RG, { "RG, Report Generation", "asterix.025_000_RG", FT_UINT8, BASE_DEC, VALS (valstr_025_000_RG), 0x01, NULL, HFILL } }, { &hf_025_010, { "010, Data Source Identifier", "asterix.025_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_010_SAC, { "SAC, System Area Code", "asterix.025_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_010_SIC, { "SIC, System Identification Code", "asterix.025_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_015, { "015, Service Identification", "asterix.025_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_015_VALUE, { "Service Identification", "asterix.025_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_020, { "020, Service Designator", "asterix.025_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_020_VALUE, { "Service Designator", "asterix.025_020_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_070, { "070, Time of Day", "asterix.025_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_070_VALUE, { "Time of Day, [s]", "asterix.025_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_100, { "100, System and Service Status", "asterix.025_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_100_NOGO, { "NOGO", "asterix.025_100_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_025_100_NOGO), 0x80, NULL, HFILL } }, { &hf_025_100_OPS, { "OPS", "asterix.025_100_OPS", FT_UINT8, BASE_DEC, VALS (valstr_025_100_OPS), 0x60, NULL, HFILL } }, { &hf_025_100_SSTAT, { "SSTAT", "asterix.025_100_SSTAT", FT_UINT8, BASE_DEC, VALS (valstr_025_100_SSTAT), 0x1e, NULL, HFILL } }, { &hf_025_100_SYSTAT, { "SYSTAT", "asterix.025_100_SYSTAT", FT_UINT8, BASE_DEC, VALS (valstr_025_100_SYSTAT), 0x70, NULL, HFILL } }, { &hf_025_100_SESTAT, { "SESTAT", "asterix.025_100_SESTAT", FT_UINT8, BASE_DEC, VALS (valstr_025_100_SESTAT), 0x0e, NULL, HFILL } }, { &hf_025_105, { "105, System and Service Error Codes", "asterix.025_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_105_VALUE, { "System and Service Error Codes", "asterix.025_105_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_025_105_VALUE), 0x00, NULL, HFILL } }, { &hf_025_120, { "120, Component Status", "asterix.025_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_120_CID, { "CID, Component ID", "asterix.025_120_CID", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_120_ERRC, { "ERRC, Error Code", "asterix.025_120_ERRC", FT_UINT8, BASE_DEC, VALS (valstr_025_120_ERRC), 0xfc, NULL, HFILL } }, { &hf_025_120_CS, { "CS, Component State/Mode", "asterix.025_120_CS", FT_UINT8, BASE_DEC, VALS (valstr_025_120_CS), 0x03, NULL, HFILL } }, { &hf_025_140, { "140, Service Statistics", "asterix.025_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_140_TYPE, { "TYPE, Type of Report Counter", "asterix.025_140_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_025_140_TYPE), 0x00, NULL, HFILL } }, { &hf_025_140_REF, { "REF, Reference from which the Messages Are Counted", "asterix.025_140_REF", FT_UINT8, BASE_DEC, VALS (valstr_025_140_REF), 0x80, NULL, HFILL } }, { &hf_025_140_COUNT, { "COUNT, Counter Value", "asterix.025_140_COUNT", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_200, { "200, Message Identification", "asterix.025_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_200_VALUE, { "Message Identification", "asterix.025_200_VALUE", FT_UINT24, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_025_600, { "600, Position of the System Reference Point", "asterix.025_600", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_600_LAT, { "LAT, Latitude, [°]", "asterix.025_600_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_600_LON, { "LON, Longitude, [°]", "asterix.025_600_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_610, { "610, Height of the System Reference Point", "asterix.025_610", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_610_VALUE, { "Height of the System Reference Point, [m]", "asterix.025_610_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_025_SP, { "SP, Special Purpose Field", "asterix.025_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_010, { "010, Server Identification Tag", "asterix.032_V1_1_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_010_SAC, { "SAC, System Area Code", "asterix.032_V1_1_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_010_SIC, { "SIC, System Identification Code", "asterix.032_V1_1_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_015, { "015, User Number", "asterix.032_V1_1_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_015_VALUE, { "User Number", "asterix.032_V1_1_015_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_018, { "018, Data Source Identification Tag", "asterix.032_V1_1_018", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_018_SAC, { "SAC, System Area Code", "asterix.032_V1_1_018_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_018_SIC, { "SIC, System Identification Code", "asterix.032_V1_1_018_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_020, { "020, Time of ASTERIX Report Generation", "asterix.032_V1_1_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_020_VALUE, { "Time of ASTERIX Report Generation, [s]", "asterix.032_V1_1_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_035, { "035, Type of Message", "asterix.032_V1_1_035", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_035_FAMILY, { "FAMILY", "asterix.032_V1_1_035_FAMILY", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_035_FAMILY), 0xf0, NULL, HFILL } }, { &hf_032_V1_1_035_NATURE, { "NATURE", "asterix.032_V1_1_035_NATURE", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_035_NATURE), 0x0f, NULL, HFILL } }, { &hf_032_V1_1_040, { "040, Track Number", "asterix.032_V1_1_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_040_VALUE, { "Track Number", "asterix.032_V1_1_040_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_050, { "050, Composed Track Number", "asterix.032_V1_1_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_050_SUI, { "SUI, System Unit Identification", "asterix.032_V1_1_050_SUI", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_050_STN, { "STN, System Track Number", "asterix.032_V1_1_050_STN", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_032_V1_1_060, { "060, Track Mode 3/A", "asterix.032_V1_1_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_060_MODE3A, { "MODE3A, (Mode 3/A Code) 4 Digits, Octal Representation", "asterix.032_V1_1_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_032_V1_1_400, { "400, Callsign", "asterix.032_V1_1_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_400_VALUE, { "Callsign", "asterix.032_V1_1_400_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_410, { "410, Plan Number", "asterix.032_V1_1_410", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_410_VALUE, { "Plan Number", "asterix.032_V1_1_410_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_420, { "420, Flight Category", "asterix.032_V1_1_420", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_420_GATOAT, { "GATOAT", "asterix.032_V1_1_420_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_420_GATOAT), 0xc0, NULL, HFILL } }, { &hf_032_V1_1_420_FR1FR2, { "FR1FR2", "asterix.032_V1_1_420_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_420_FR1FR2), 0x30, NULL, HFILL } }, { &hf_032_V1_1_420_SP3, { "SP3", "asterix.032_V1_1_420_SP3", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } }, { &hf_032_V1_1_420_SP2, { "SP2", "asterix.032_V1_1_420_SP2", FT_UINT8, BASE_DEC, NULL, 0x04, NULL, HFILL } }, { &hf_032_V1_1_420_SP1, { "SP1", "asterix.032_V1_1_420_SP1", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } }, { &hf_032_V1_1_430, { "430, Type of Aircraft", "asterix.032_V1_1_430", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_430_VALUE, { "Type of Aircraft", "asterix.032_V1_1_430_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_435, { "435, Wake Turbulence Category", "asterix.032_V1_1_435", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_435_VALUE, { "Wake Turbulence Category", "asterix.032_V1_1_435_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_435_VALUE), 0x00, NULL, HFILL } }, { &hf_032_V1_1_440, { "440, Departure Aerodrome", "asterix.032_V1_1_440", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_440_VALUE, { "Departure Aerodrome", "asterix.032_V1_1_440_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_450, { "450, Destination Aerodrome", "asterix.032_V1_1_450", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_450_VALUE, { "Destination Aerodrome", "asterix.032_V1_1_450_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_460, { "460, Allocated SSR Codes", "asterix.032_V1_1_460", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_460_OCT1, { "OCT1, 1st Octal Digit", "asterix.032_V1_1_460_OCT1", FT_UINT8, BASE_DEC, NULL, 0x0e, NULL, HFILL } }, { &hf_032_V1_1_460_OCT2, { "OCT2, 2nd Octal Digit", "asterix.032_V1_1_460_OCT2", FT_UINT16, BASE_DEC, NULL, 0x01c0, NULL, HFILL } }, { &hf_032_V1_1_460_OCT3, { "OCT3, 3rd Octal Digit", "asterix.032_V1_1_460_OCT3", FT_UINT8, BASE_DEC, NULL, 0x38, NULL, HFILL } }, { &hf_032_V1_1_460_OCT4, { "OCT4, 4th Octal Digit", "asterix.032_V1_1_460_OCT4", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_032_V1_1_480, { "480, Current Cleared Flight Level", "asterix.032_V1_1_480", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_480_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.032_V1_1_480_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_490, { "490, Current Control Position", "asterix.032_V1_1_490", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_490_CEN, { "CEN, Centre", "asterix.032_V1_1_490_CEN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_490_POS, { "POS, Position", "asterix.032_V1_1_490_POS", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500, { "500, Supplementary Flight Data", "asterix.032_V1_1_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_IFI, { "IFI, IFPS FLIGHT ID", "asterix.032_V1_1_500_IFI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_IFI_TYP, { "TYP", "asterix.032_V1_1_500_IFI_TYP", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_IFI_TYP), 0xc0, NULL, HFILL } }, { &hf_032_V1_1_500_IFI_NBR, { "NBR", "asterix.032_V1_1_500_IFI_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_032_V1_1_500_RVP, { "RVP, RVSM & Flight Priority", "asterix.032_V1_1_500_RVP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_RVP_RVSM, { "RVSM", "asterix.032_V1_1_500_RVP_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_RVP_RVSM), 0x06, NULL, HFILL } }, { &hf_032_V1_1_500_RVP_HPR, { "HPR", "asterix.032_V1_1_500_RVP_HPR", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_RVP_HPR), 0x01, NULL, HFILL } }, { &hf_032_V1_1_500_RDS, { "RDS, Runway Designation", "asterix.032_V1_1_500_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_RDS_NU1, { "NU1, First Number", "asterix.032_V1_1_500_RDS_NU1", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_RDS_NU2, { "NU2, Second Number", "asterix.032_V1_1_500_RDS_NU2", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_RDS_LTR, { "LTR, Letter", "asterix.032_V1_1_500_RDS_LTR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_TOD, { "TOD, Time of Departure / Arrival", "asterix.032_V1_1_500_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_TOD_TYP, { "TYP", "asterix.032_V1_1_500_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_032_V1_1_500_TOD_DAY, { "DAY", "asterix.032_V1_1_500_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_032_V1_1_500_TOD_HOR, { "HOR", "asterix.032_V1_1_500_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_032_V1_1_500_TOD_MIN, { "MIN", "asterix.032_V1_1_500_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_032_V1_1_500_TOD_AVS, { "AVS", "asterix.032_V1_1_500_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_032_V1_1_500_TOD_SEC, { "SEC", "asterix.032_V1_1_500_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_032_V1_1_500_AST, { "AST, Aircraft Stand", "asterix.032_V1_1_500_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_AST_VALUE, { "Aircraft Stand", "asterix.032_V1_1_500_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_STS, { "STS, Stand Status", "asterix.032_V1_1_500_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_STS_EMP, { "EMP", "asterix.032_V1_1_500_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_032_V1_1_500_STS_AVL, { "AVL", "asterix.032_V1_1_500_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_032_V1_1_500_STS_AVL), 0x30, NULL, HFILL } }, { &hf_032_V1_1_500_SID, { "SID, Standard Instrument Departure", "asterix.032_V1_1_500_SID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_SID_VALUE, { "Standard Instrument Departure", "asterix.032_V1_1_500_SID_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_STAR, { "STAR, Standard Instrument Arrival", "asterix.032_V1_1_500_STAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_500_STAR_VALUE, { "Standard Instrument Arrival", "asterix.032_V1_1_500_STAR_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_V1_1_RE, { "RE, Reserved Expansion Field", "asterix.032_V1_1_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_010, { "010, Server Identification Tag", "asterix.032_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_010_SAC, { "SAC, System Area Code", "asterix.032_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_010_SIC, { "SIC, System Identification Code", "asterix.032_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_015, { "015, User Number", "asterix.032_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_015_VALUE, { "User Number", "asterix.032_015_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_018, { "018, Data Source Identification Tag", "asterix.032_018", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_018_SAC, { "SAC, System Area Code", "asterix.032_018_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_018_SIC, { "SIC, System Identification Code", "asterix.032_018_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_020, { "020, Time of ASTERIX Report Generation", "asterix.032_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_020_VALUE, { "Time of ASTERIX Report Generation, [s]", "asterix.032_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_035, { "035, Type of Message", "asterix.032_035", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_035_FAMILY, { "FAMILY", "asterix.032_035_FAMILY", FT_UINT8, BASE_DEC, VALS (valstr_032_035_FAMILY), 0xf0, NULL, HFILL } }, { &hf_032_035_NATURE, { "NATURE", "asterix.032_035_NATURE", FT_UINT8, BASE_DEC, VALS (valstr_032_035_NATURE), 0x0f, NULL, HFILL } }, { &hf_032_040, { "040, Track Number", "asterix.032_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_040_VALUE, { "Track Number", "asterix.032_040_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_050, { "050, Composed Track Number", "asterix.032_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_050_SUI, { "SUI, System Unit Identification", "asterix.032_050_SUI", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_050_STN, { "STN, System Track Number", "asterix.032_050_STN", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_032_060, { "060, Track Mode 3/A", "asterix.032_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_060_MODE3A, { "MODE3A, (Mode 3/A Code) 4 Digits, Octal Representation", "asterix.032_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_032_400, { "400, Callsign", "asterix.032_400", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_400_VALUE, { "Callsign", "asterix.032_400_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_410, { "410, Plan Number", "asterix.032_410", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_410_VALUE, { "Plan Number", "asterix.032_410_VALUE", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_420, { "420, Flight Category", "asterix.032_420", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_420_GATOAT, { "GATOAT", "asterix.032_420_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_032_420_GATOAT), 0xc0, NULL, HFILL } }, { &hf_032_420_FR1FR2, { "FR1FR2", "asterix.032_420_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_032_420_FR1FR2), 0x30, NULL, HFILL } }, { &hf_032_420_SP3, { "SP3", "asterix.032_420_SP3", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } }, { &hf_032_420_SP2, { "SP2", "asterix.032_420_SP2", FT_UINT8, BASE_DEC, NULL, 0x04, NULL, HFILL } }, { &hf_032_420_SP1, { "SP1", "asterix.032_420_SP1", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } }, { &hf_032_430, { "430, Type of Aircraft", "asterix.032_430", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_430_VALUE, { "Type of Aircraft", "asterix.032_430_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_435, { "435, Wake Turbulence Category", "asterix.032_435", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_435_VALUE, { "Wake Turbulence Category", "asterix.032_435_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_032_435_VALUE), 0x00, NULL, HFILL } }, { &hf_032_440, { "440, Departure Aerodrome", "asterix.032_440", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_440_VALUE, { "Departure Aerodrome", "asterix.032_440_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_450, { "450, Destination Aerodrome", "asterix.032_450", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_450_VALUE, { "Destination Aerodrome", "asterix.032_450_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_460, { "460, Allocated SSR Codes", "asterix.032_460", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_460_OCT1, { "OCT1, 1st Octal Digit", "asterix.032_460_OCT1", FT_UINT8, BASE_DEC, NULL, 0x0e, NULL, HFILL } }, { &hf_032_460_OCT2, { "OCT2, 2nd Octal Digit", "asterix.032_460_OCT2", FT_UINT16, BASE_DEC, NULL, 0x01c0, NULL, HFILL } }, { &hf_032_460_OCT3, { "OCT3, 3rd Octal Digit", "asterix.032_460_OCT3", FT_UINT8, BASE_DEC, NULL, 0x38, NULL, HFILL } }, { &hf_032_460_OCT4, { "OCT4, 4th Octal Digit", "asterix.032_460_OCT4", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } }, { &hf_032_480, { "480, Current Cleared Flight Level", "asterix.032_480", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_480_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.032_480_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_490, { "490, Current Control Position", "asterix.032_490", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_490_CEN, { "CEN, Centre", "asterix.032_490_CEN", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_490_POS, { "POS, Position", "asterix.032_490_POS", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_032_500, { "500, Supplementary Flight Data", "asterix.032_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_IFI, { "IFI, IFPS FLIGHT ID", "asterix.032_500_IFI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_IFI_TYP, { "TYP", "asterix.032_500_IFI_TYP", FT_UINT8, BASE_DEC, VALS (valstr_032_500_IFI_TYP), 0xc0, NULL, HFILL } }, { &hf_032_500_IFI_NBR, { "NBR", "asterix.032_500_IFI_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_032_500_RVP, { "RVP, RVSM & Flight Priority", "asterix.032_500_RVP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_RVP_RVSM, { "RVSM", "asterix.032_500_RVP_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_032_500_RVP_RVSM), 0x06, NULL, HFILL } }, { &hf_032_500_RVP_HPR, { "HPR", "asterix.032_500_RVP_HPR", FT_UINT8, BASE_DEC, VALS (valstr_032_500_RVP_HPR), 0x01, NULL, HFILL } }, { &hf_032_500_RDS, { "RDS, Runway Designation", "asterix.032_500_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_RDS_NU1, { "NU1, First Number", "asterix.032_500_RDS_NU1", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_RDS_NU2, { "NU2, Second Number", "asterix.032_500_RDS_NU2", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_RDS_LTR, { "LTR, Letter", "asterix.032_500_RDS_LTR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_TOD, { "TOD, Time of Departure / Arrival", "asterix.032_500_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_TOD_TYP, { "TYP", "asterix.032_500_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_032_500_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_032_500_TOD_DAY, { "DAY", "asterix.032_500_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_032_500_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_032_500_TOD_HOR, { "HOR", "asterix.032_500_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_032_500_TOD_MIN, { "MIN", "asterix.032_500_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_032_500_TOD_AVS, { "AVS", "asterix.032_500_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_032_500_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_032_500_TOD_SEC, { "SEC", "asterix.032_500_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_032_500_AST, { "AST, Aircraft Stand", "asterix.032_500_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_AST_VALUE, { "Aircraft Stand", "asterix.032_500_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_STS, { "STS, Stand Status", "asterix.032_500_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_STS_EMP, { "EMP", "asterix.032_500_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_032_500_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_032_500_STS_AVL, { "AVL", "asterix.032_500_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_032_500_STS_AVL), 0x30, NULL, HFILL } }, { &hf_032_500_SID, { "SID, Standard Instrument Departure", "asterix.032_500_SID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_SID_VALUE, { "Standard Instrument Departure", "asterix.032_500_SID_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_STAR, { "STAR, Standard Instrument Arrival", "asterix.032_500_STAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_500_STAR_VALUE, { "Standard Instrument Arrival", "asterix.032_500_STAR_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_032_RE, { "RE, Reserved Expansion Field", "asterix.032_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_000, { "000, Message Type", "asterix.034_V1_27_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_000_VALUE, { "Message Type", "asterix.034_V1_27_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_000_VALUE), 0x00, NULL, HFILL } }, { &hf_034_V1_27_010, { "010, Data Source Identifier", "asterix.034_V1_27_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_010_SAC, { "SAC, System Area Code", "asterix.034_V1_27_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_010_SIC, { "SIC, System Identification Code", "asterix.034_V1_27_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_020, { "020, Sector Number", "asterix.034_V1_27_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_020_VALUE, { "Sector Number, [°]", "asterix.034_V1_27_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_030, { "030, Time of Day", "asterix.034_V1_27_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_030_VALUE, { "Time of Day, [s]", "asterix.034_V1_27_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_041, { "041, Antenna Rotation Speed", "asterix.034_V1_27_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_041_VALUE, { "Antenna Rotation Speed, [s]", "asterix.034_V1_27_041_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_050, { "050, System Configuration and Status", "asterix.034_V1_27_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_050_COM, { "COM, Common Part", "asterix.034_V1_27_050_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_050_COM_NOGO, { "NOGO, Operational Release Status of the System", "asterix.034_V1_27_050_COM_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_COM_NOGO), 0x80, NULL, HFILL } }, { &hf_034_V1_27_050_COM_RDPC, { "RDPC, Radar Data Processor Chain Selection Status", "asterix.034_V1_27_050_COM_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_COM_RDPC), 0x40, NULL, HFILL } }, { &hf_034_V1_27_050_COM_RDPR, { "RDPR, Event to Signal a Reset/restart of the Selected Radar Data Processor Chain, I.e. Expect a New Assignment of Track Numbers", "asterix.034_V1_27_050_COM_RDPR", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_COM_RDPR), 0x20, NULL, HFILL } }, { &hf_034_V1_27_050_COM_OVLRDP, { "OVLRDP, Radar Data Processor Overload Indicator", "asterix.034_V1_27_050_COM_OVLRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_COM_OVLRDP), 0x10, NULL, HFILL } }, { &hf_034_V1_27_050_COM_OVLXMT, { "OVLXMT, Transmission Subsystem Overload Status", "asterix.034_V1_27_050_COM_OVLXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_COM_OVLXMT), 0x08, NULL, HFILL } }, { &hf_034_V1_27_050_COM_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_V1_27_050_COM_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_COM_MSC), 0x04, NULL, HFILL } }, { &hf_034_V1_27_050_COM_TSV, { "TSV, Time Source Validity", "asterix.034_V1_27_050_COM_TSV", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_COM_TSV), 0x02, NULL, HFILL } }, { &hf_034_V1_27_050_PSR, { "PSR, Specific Status Information for a PSR Sensor", "asterix.034_V1_27_050_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_050_PSR_ANT, { "ANT, Selected Antenna", "asterix.034_V1_27_050_PSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_PSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_27_050_PSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_27_050_PSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_PSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_27_050_PSR_OVL, { "OVL, Overload Condition", "asterix.034_V1_27_050_PSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_PSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_V1_27_050_PSR_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_V1_27_050_PSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_PSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_27_050_SSR, { "SSR, Specific Status Information for a SSR Sensor", "asterix.034_V1_27_050_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_050_SSR_ANT, { "ANT, Selected Antenna", "asterix.034_V1_27_050_SSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_SSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_27_050_SSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_27_050_SSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_SSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_27_050_SSR_OVL, { "OVL, Overload Condition", "asterix.034_V1_27_050_SSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_SSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_V1_27_050_SSR_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_V1_27_050_SSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_SSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_27_050_MDS, { "MDS, Specific Status Information for a Mode S Sensor", "asterix.034_V1_27_050_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_ANT, { "ANT, Selected Antenna", "asterix.034_V1_27_050_MDS_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_27_050_MDS_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_OVLSUR, { "OVLSUR, Overload Condition", "asterix.034_V1_27_050_MDS_OVLSUR", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_OVLSUR), 0x10, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_V1_27_050_MDS_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_SCF, { "SCF, Channel A/B Selection Status for Surveillance Co-ordination Function", "asterix.034_V1_27_050_MDS_SCF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_SCF), 0x04, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_DLF, { "DLF, Channel A/B Selection Status for Data Link Function", "asterix.034_V1_27_050_MDS_DLF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_DLF), 0x02, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_OVLSCF, { "OVLSCF, Overload in Surveillance Co-ordination Function", "asterix.034_V1_27_050_MDS_OVLSCF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_OVLSCF), 0x01, NULL, HFILL } }, { &hf_034_V1_27_050_MDS_OVLDLF, { "OVLDLF, Overload in Data Link Function", "asterix.034_V1_27_050_MDS_OVLDLF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_050_MDS_OVLDLF), 0x80, NULL, HFILL } }, { &hf_034_V1_27_060, { "060, System Processing Mode", "asterix.034_V1_27_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_060_COM, { "COM, Common Part", "asterix.034_V1_27_060_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_060_COM_REDRDP, { "REDRDP, Reduction Steps in Use for An Overload of the RDP", "asterix.034_V1_27_060_COM_REDRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_COM_REDRDP), 0x70, NULL, HFILL } }, { &hf_034_V1_27_060_COM_REDXMT, { "REDXMT, Reduction Steps in Use for An Overload of the Transmission Subsystem", "asterix.034_V1_27_060_COM_REDXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_COM_REDXMT), 0x0e, NULL, HFILL } }, { &hf_034_V1_27_060_PSR, { "PSR, Specific Processing Mode Information for a PSR Sensor", "asterix.034_V1_27_060_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_060_PSR_POL, { "POL, Polarization in Use by PSR", "asterix.034_V1_27_060_PSR_POL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_PSR_POL), 0x80, NULL, HFILL } }, { &hf_034_V1_27_060_PSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the PSR Subsystem", "asterix.034_V1_27_060_PSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_PSR_REDRAD), 0x70, NULL, HFILL } }, { &hf_034_V1_27_060_PSR_STC, { "STC, Sensitivity Time Control Map in Use", "asterix.034_V1_27_060_PSR_STC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_PSR_STC), 0x0c, NULL, HFILL } }, { &hf_034_V1_27_060_SSR, { "SSR, Specific Processing Mode Information for a SSR Sensor", "asterix.034_V1_27_060_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_060_SSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the SSR Subsystem", "asterix.034_V1_27_060_SSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_SSR_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_V1_27_060_MDS, { "MDS, Specific Processing Mode Information for a Mode S Sensor", "asterix.034_V1_27_060_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_060_MDS_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the Mode S Subsystem", "asterix.034_V1_27_060_MDS_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_MDS_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_V1_27_060_MDS_CLU, { "CLU, Cluster State", "asterix.034_V1_27_060_MDS_CLU", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_060_MDS_CLU), 0x10, NULL, HFILL } }, { &hf_034_V1_27_070, { "070, Message Count Values", "asterix.034_V1_27_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_070_TYP, { "TYP, Type of Message Counter", "asterix.034_V1_27_070_TYP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_070_TYP), 0xf8, NULL, HFILL } }, { &hf_034_V1_27_070_COUNT, { "COUNT, COUNTER", "asterix.034_V1_27_070_COUNT", FT_UINT16, BASE_DEC, NULL, 0x07ff, NULL, HFILL } }, { &hf_034_V1_27_090, { "090, Collimation Error", "asterix.034_V1_27_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_090_RNG, { "RNG, Range Error, [NM]", "asterix.034_V1_27_090_RNG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_090_AZM, { "AZM, Azimuth Error, [°]", "asterix.034_V1_27_090_AZM", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_100, { "100, Generic Polar Window", "asterix.034_V1_27_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_100_RHOST, { "RHOST, Rho Start, [NM]", "asterix.034_V1_27_100_RHOST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_100_RHOEND, { "RHOEND, Rho End, [NM]", "asterix.034_V1_27_100_RHOEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_100_THETAST, { "THETAST, Theta Start, [°]", "asterix.034_V1_27_100_THETAST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_100_THETAEND, { "THETAEND, Theta End, [°]", "asterix.034_V1_27_100_THETAEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_110, { "110, Data Filter", "asterix.034_V1_27_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_110_VALUE, { "Data Filter", "asterix.034_V1_27_110_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_27_110_VALUE), 0x00, NULL, HFILL } }, { &hf_034_V1_27_120, { "120, 3D-Position Of Data Source", "asterix.034_V1_27_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_120_HGT, { "HGT, Height of Data Source, [m]", "asterix.034_V1_27_120_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_120_LAT, { "LAT, Latitude, [°]", "asterix.034_V1_27_120_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_120_LON, { "LON, Longitude, [°]", "asterix.034_V1_27_120_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_RE, { "RE, Reserved Expansion Field", "asterix.034_V1_27_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_27_SP, { "SP, Special Purpose Field", "asterix.034_V1_27_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_000, { "000, Message Type", "asterix.034_V1_28_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_000_VALUE, { "Message Type", "asterix.034_V1_28_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_000_VALUE), 0x00, NULL, HFILL } }, { &hf_034_V1_28_010, { "010, Data Source Identifier", "asterix.034_V1_28_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_010_SAC, { "SAC, System Area Code", "asterix.034_V1_28_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_010_SIC, { "SIC, System Identification Code", "asterix.034_V1_28_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_020, { "020, Sector Number", "asterix.034_V1_28_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_020_VALUE, { "Sector Number, [°]", "asterix.034_V1_28_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_030, { "030, Time of Day", "asterix.034_V1_28_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_030_VALUE, { "Time of Day, [s]", "asterix.034_V1_28_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_041, { "041, Antenna Rotation Speed", "asterix.034_V1_28_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_041_VALUE, { "Antenna Rotation Speed, [s]", "asterix.034_V1_28_041_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_050, { "050, System Configuration and Status", "asterix.034_V1_28_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_050_COM, { "COM, Common Part", "asterix.034_V1_28_050_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_050_COM_NOGO, { "NOGO, Operational Release Status of the System", "asterix.034_V1_28_050_COM_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_COM_NOGO), 0x80, NULL, HFILL } }, { &hf_034_V1_28_050_COM_RDPC, { "RDPC, Radar Data Processor Chain Selection Status", "asterix.034_V1_28_050_COM_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_COM_RDPC), 0x40, NULL, HFILL } }, { &hf_034_V1_28_050_COM_RDPR, { "RDPR, Event to Signal a Reset/restart of the Selected Radar Data Processor Chain, I.e. Expect a New Assignment of Track Numbers", "asterix.034_V1_28_050_COM_RDPR", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_COM_RDPR), 0x20, NULL, HFILL } }, { &hf_034_V1_28_050_COM_OVLRDP, { "OVLRDP, Radar Data Processor Overload Indicator", "asterix.034_V1_28_050_COM_OVLRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_COM_OVLRDP), 0x10, NULL, HFILL } }, { &hf_034_V1_28_050_COM_OVLXMT, { "OVLXMT, Transmission Subsystem Overload Status", "asterix.034_V1_28_050_COM_OVLXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_COM_OVLXMT), 0x08, NULL, HFILL } }, { &hf_034_V1_28_050_COM_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_V1_28_050_COM_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_COM_MSC), 0x04, NULL, HFILL } }, { &hf_034_V1_28_050_COM_TSV, { "TSV, Time Source Validity", "asterix.034_V1_28_050_COM_TSV", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_COM_TSV), 0x02, NULL, HFILL } }, { &hf_034_V1_28_050_PSR, { "PSR, Specific Status Information for a PSR Sensor", "asterix.034_V1_28_050_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_050_PSR_ANT, { "ANT, Selected Antenna", "asterix.034_V1_28_050_PSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_PSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_28_050_PSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_28_050_PSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_PSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_28_050_PSR_OVL, { "OVL, Overload Condition", "asterix.034_V1_28_050_PSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_PSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_V1_28_050_PSR_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_V1_28_050_PSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_PSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_28_050_SSR, { "SSR, Specific Status Information for a SSR Sensor", "asterix.034_V1_28_050_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_050_SSR_ANT, { "ANT, Selected Antenna", "asterix.034_V1_28_050_SSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_SSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_28_050_SSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_28_050_SSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_SSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_28_050_SSR_OVL, { "OVL, Overload Condition", "asterix.034_V1_28_050_SSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_SSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_V1_28_050_SSR_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_V1_28_050_SSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_SSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_28_050_MDS, { "MDS, Specific Status Information for a Mode S Sensor", "asterix.034_V1_28_050_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_ANT, { "ANT, Selected Antenna", "asterix.034_V1_28_050_MDS_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_28_050_MDS_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_OVLSUR, { "OVLSUR, Overload Condition", "asterix.034_V1_28_050_MDS_OVLSUR", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_OVLSUR), 0x10, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_V1_28_050_MDS_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_SCF, { "SCF, Channel A/B Selection Status for Surveillance Co-ordination Function", "asterix.034_V1_28_050_MDS_SCF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_SCF), 0x04, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_DLF, { "DLF, Channel A/B Selection Status for Data Link Function", "asterix.034_V1_28_050_MDS_DLF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_DLF), 0x02, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_OVLSCF, { "OVLSCF, Overload in Surveillance Co-ordination Function", "asterix.034_V1_28_050_MDS_OVLSCF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_OVLSCF), 0x01, NULL, HFILL } }, { &hf_034_V1_28_050_MDS_OVLDLF, { "OVLDLF, Overload in Data Link Function", "asterix.034_V1_28_050_MDS_OVLDLF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_050_MDS_OVLDLF), 0x80, NULL, HFILL } }, { &hf_034_V1_28_060, { "060, System Processing Mode", "asterix.034_V1_28_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_060_COM, { "COM, Common Part", "asterix.034_V1_28_060_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_060_COM_REDRDP, { "REDRDP, Reduction Steps in Use for An Overload of the RDP", "asterix.034_V1_28_060_COM_REDRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_COM_REDRDP), 0x70, NULL, HFILL } }, { &hf_034_V1_28_060_COM_REDXMT, { "REDXMT, Reduction Steps in Use for An Overload of the Transmission Subsystem", "asterix.034_V1_28_060_COM_REDXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_COM_REDXMT), 0x0e, NULL, HFILL } }, { &hf_034_V1_28_060_PSR, { "PSR, Specific Processing Mode Information for a PSR Sensor", "asterix.034_V1_28_060_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_060_PSR_POL, { "POL, Polarization in Use by PSR", "asterix.034_V1_28_060_PSR_POL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_PSR_POL), 0x80, NULL, HFILL } }, { &hf_034_V1_28_060_PSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the PSR Subsystem", "asterix.034_V1_28_060_PSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_PSR_REDRAD), 0x70, NULL, HFILL } }, { &hf_034_V1_28_060_PSR_STC, { "STC, Sensitivity Time Control Map in Use", "asterix.034_V1_28_060_PSR_STC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_PSR_STC), 0x0c, NULL, HFILL } }, { &hf_034_V1_28_060_SSR, { "SSR, Specific Processing Mode Information for a SSR Sensor", "asterix.034_V1_28_060_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_060_SSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the SSR Subsystem", "asterix.034_V1_28_060_SSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_SSR_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_V1_28_060_MDS, { "MDS, Specific Processing Mode Information for a Mode S Sensor", "asterix.034_V1_28_060_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_060_MDS_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the Mode S Subsystem", "asterix.034_V1_28_060_MDS_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_MDS_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_V1_28_060_MDS_CLU, { "CLU, Cluster State", "asterix.034_V1_28_060_MDS_CLU", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_060_MDS_CLU), 0x10, NULL, HFILL } }, { &hf_034_V1_28_070, { "070, Message Count Values", "asterix.034_V1_28_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_070_TYP, { "TYP, Type of Message Counter", "asterix.034_V1_28_070_TYP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_070_TYP), 0xf8, NULL, HFILL } }, { &hf_034_V1_28_070_COUNT, { "COUNT, COUNTER", "asterix.034_V1_28_070_COUNT", FT_UINT16, BASE_DEC, NULL, 0x07ff, NULL, HFILL } }, { &hf_034_V1_28_090, { "090, Collimation Error", "asterix.034_V1_28_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_090_RNG, { "RNG, Range Error, [NM]", "asterix.034_V1_28_090_RNG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_090_AZM, { "AZM, Azimuth Error, [°]", "asterix.034_V1_28_090_AZM", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_100, { "100, Generic Polar Window", "asterix.034_V1_28_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_100_RHOST, { "RHOST, Rho Start, [NM]", "asterix.034_V1_28_100_RHOST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_100_RHOEND, { "RHOEND, Rho End, [NM]", "asterix.034_V1_28_100_RHOEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_100_THETAST, { "THETAST, Theta Start, [°]", "asterix.034_V1_28_100_THETAST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_100_THETAEND, { "THETAEND, Theta End, [°]", "asterix.034_V1_28_100_THETAEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_110, { "110, Data Filter", "asterix.034_V1_28_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_110_VALUE, { "Data Filter", "asterix.034_V1_28_110_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_28_110_VALUE), 0x00, NULL, HFILL } }, { &hf_034_V1_28_120, { "120, 3D-Position Of Data Source", "asterix.034_V1_28_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_120_HGT, { "HGT, Height of Data Source, [m]", "asterix.034_V1_28_120_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_120_LAT, { "LAT, Latitude, [°]", "asterix.034_V1_28_120_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_120_LON, { "LON, Longitude, [°]", "asterix.034_V1_28_120_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_RE, { "RE, Reserved Expansion Field", "asterix.034_V1_28_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_28_SP, { "SP, Special Purpose Field", "asterix.034_V1_28_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_000, { "000, Message Type", "asterix.034_V1_29_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_000_VALUE, { "Message Type", "asterix.034_V1_29_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_000_VALUE), 0x00, NULL, HFILL } }, { &hf_034_V1_29_010, { "010, Data Source Identifier", "asterix.034_V1_29_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_010_SAC, { "SAC, System Area Code", "asterix.034_V1_29_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_010_SIC, { "SIC, System Identification Code", "asterix.034_V1_29_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_020, { "020, Sector Number", "asterix.034_V1_29_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_020_VALUE, { "Sector Number, [°]", "asterix.034_V1_29_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_030, { "030, Time of Day", "asterix.034_V1_29_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_030_VALUE, { "Time of Day, [s]", "asterix.034_V1_29_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_041, { "041, Antenna Rotation Speed", "asterix.034_V1_29_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_041_VALUE, { "Antenna Rotation Speed, [s]", "asterix.034_V1_29_041_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_050, { "050, System Configuration and Status", "asterix.034_V1_29_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_050_COM, { "COM, Common Part", "asterix.034_V1_29_050_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_050_COM_NOGO, { "NOGO, Operational Release Status of the System", "asterix.034_V1_29_050_COM_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_COM_NOGO), 0x80, NULL, HFILL } }, { &hf_034_V1_29_050_COM_RDPC, { "RDPC, Radar Data Processor Chain Selection Status", "asterix.034_V1_29_050_COM_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_COM_RDPC), 0x40, NULL, HFILL } }, { &hf_034_V1_29_050_COM_RDPR, { "RDPR, Event to Signal a Reset/restart of the Selected Radar Data Processor Chain, I.e. Expect a New Assignment of Track Numbers", "asterix.034_V1_29_050_COM_RDPR", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_COM_RDPR), 0x20, NULL, HFILL } }, { &hf_034_V1_29_050_COM_OVLRDP, { "OVLRDP, Radar Data Processor Overload Indicator", "asterix.034_V1_29_050_COM_OVLRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_COM_OVLRDP), 0x10, NULL, HFILL } }, { &hf_034_V1_29_050_COM_OVLXMT, { "OVLXMT, Transmission Subsystem Overload Status", "asterix.034_V1_29_050_COM_OVLXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_COM_OVLXMT), 0x08, NULL, HFILL } }, { &hf_034_V1_29_050_COM_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_V1_29_050_COM_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_COM_MSC), 0x04, NULL, HFILL } }, { &hf_034_V1_29_050_COM_TSV, { "TSV, Time Source Validity", "asterix.034_V1_29_050_COM_TSV", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_COM_TSV), 0x02, NULL, HFILL } }, { &hf_034_V1_29_050_PSR, { "PSR, Specific Status Information for a PSR Sensor", "asterix.034_V1_29_050_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_050_PSR_ANT, { "ANT, Selected Antenna", "asterix.034_V1_29_050_PSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_PSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_29_050_PSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_29_050_PSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_PSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_29_050_PSR_OVL, { "OVL, Overload Condition", "asterix.034_V1_29_050_PSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_PSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_V1_29_050_PSR_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_V1_29_050_PSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_PSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_29_050_SSR, { "SSR, Specific Status Information for a SSR Sensor", "asterix.034_V1_29_050_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_050_SSR_ANT, { "ANT, Selected Antenna", "asterix.034_V1_29_050_SSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_SSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_29_050_SSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_29_050_SSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_SSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_29_050_SSR_OVL, { "OVL, Overload Condition", "asterix.034_V1_29_050_SSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_SSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_V1_29_050_SSR_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_V1_29_050_SSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_SSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_29_050_MDS, { "MDS, Specific Status Information for a Mode S Sensor", "asterix.034_V1_29_050_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_ANT, { "ANT, Selected Antenna", "asterix.034_V1_29_050_MDS_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_ANT), 0x80, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_V1_29_050_MDS_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_CHAB), 0x60, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_OVLSUR, { "OVLSUR, Overload Condition", "asterix.034_V1_29_050_MDS_OVLSUR", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_OVLSUR), 0x10, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_V1_29_050_MDS_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_MSC), 0x08, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_SCF, { "SCF, Channel A/B Selection Status for Surveillance Co-ordination Function", "asterix.034_V1_29_050_MDS_SCF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_SCF), 0x04, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_DLF, { "DLF, Channel A/B Selection Status for Data Link Function", "asterix.034_V1_29_050_MDS_DLF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_DLF), 0x02, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_OVLSCF, { "OVLSCF, Overload in Surveillance Co-ordination Function", "asterix.034_V1_29_050_MDS_OVLSCF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_OVLSCF), 0x01, NULL, HFILL } }, { &hf_034_V1_29_050_MDS_OVLDLF, { "OVLDLF, Overload in Data Link Function", "asterix.034_V1_29_050_MDS_OVLDLF", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_050_MDS_OVLDLF), 0x80, NULL, HFILL } }, { &hf_034_V1_29_060, { "060, System Processing Mode", "asterix.034_V1_29_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_060_COM, { "COM, Common Part", "asterix.034_V1_29_060_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_060_COM_REDRDP, { "REDRDP, Reduction Steps in Use for An Overload of the RDP", "asterix.034_V1_29_060_COM_REDRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_COM_REDRDP), 0x70, NULL, HFILL } }, { &hf_034_V1_29_060_COM_REDXMT, { "REDXMT, Reduction Steps in Use for An Overload of the Transmission Subsystem", "asterix.034_V1_29_060_COM_REDXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_COM_REDXMT), 0x0e, NULL, HFILL } }, { &hf_034_V1_29_060_PSR, { "PSR, Specific Processing Mode Information for a PSR Sensor", "asterix.034_V1_29_060_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_060_PSR_POL, { "POL, Polarization in Use by PSR", "asterix.034_V1_29_060_PSR_POL", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_PSR_POL), 0x80, NULL, HFILL } }, { &hf_034_V1_29_060_PSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the PSR Subsystem", "asterix.034_V1_29_060_PSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_PSR_REDRAD), 0x70, NULL, HFILL } }, { &hf_034_V1_29_060_PSR_STC, { "STC, Sensitivity Time Control Map in Use", "asterix.034_V1_29_060_PSR_STC", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_PSR_STC), 0x0c, NULL, HFILL } }, { &hf_034_V1_29_060_SSR, { "SSR, Specific Processing Mode Information for a SSR Sensor", "asterix.034_V1_29_060_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_060_SSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the SSR Subsystem", "asterix.034_V1_29_060_SSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_SSR_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_V1_29_060_MDS, { "MDS, Specific Processing Mode Information for a Mode S Sensor", "asterix.034_V1_29_060_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_060_MDS_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the Mode S Subsystem", "asterix.034_V1_29_060_MDS_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_MDS_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_V1_29_060_MDS_CLU, { "CLU, Cluster State", "asterix.034_V1_29_060_MDS_CLU", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_060_MDS_CLU), 0x10, NULL, HFILL } }, { &hf_034_V1_29_070, { "070, Message Count Values", "asterix.034_V1_29_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_070_TYP, { "TYP, Type of Message Counter", "asterix.034_V1_29_070_TYP", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_070_TYP), 0xf8, NULL, HFILL } }, { &hf_034_V1_29_070_COUNT, { "COUNT, COUNTER", "asterix.034_V1_29_070_COUNT", FT_UINT16, BASE_DEC, NULL, 0x07ff, NULL, HFILL } }, { &hf_034_V1_29_090, { "090, Collimation Error", "asterix.034_V1_29_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_090_RNG, { "RNG, Range Error, [NM]", "asterix.034_V1_29_090_RNG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_090_AZM, { "AZM, Azimuth Error, [°]", "asterix.034_V1_29_090_AZM", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_100, { "100, Generic Polar Window", "asterix.034_V1_29_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_100_RHOST, { "RHOST, Rho Start, [NM]", "asterix.034_V1_29_100_RHOST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_100_RHOEND, { "RHOEND, Rho End, [NM]", "asterix.034_V1_29_100_RHOEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_100_THETAST, { "THETAST, Theta Start, [°]", "asterix.034_V1_29_100_THETAST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_100_THETAEND, { "THETAEND, Theta End, [°]", "asterix.034_V1_29_100_THETAEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_110, { "110, Data Filter", "asterix.034_V1_29_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_110_VALUE, { "Data Filter", "asterix.034_V1_29_110_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_V1_29_110_VALUE), 0x00, NULL, HFILL } }, { &hf_034_V1_29_120, { "120, 3D-Position Of Data Source", "asterix.034_V1_29_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_120_HGT, { "HGT, Height of Data Source, [m]", "asterix.034_V1_29_120_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_120_LAT, { "LAT, Latitude, [°]", "asterix.034_V1_29_120_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_120_LON, { "LON, Longitude, [°]", "asterix.034_V1_29_120_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_RE, { "RE, Reserved Expansion Field", "asterix.034_V1_29_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_V1_29_SP, { "SP, Special Purpose Field", "asterix.034_V1_29_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_000, { "000, Message Type", "asterix.034_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_000_VALUE, { "Message Type", "asterix.034_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_000_VALUE), 0x00, NULL, HFILL } }, { &hf_034_010, { "010, Data Source Identifier", "asterix.034_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_010_SAC, { "SAC, System Area Code", "asterix.034_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_010_SIC, { "SIC, System Identification Code", "asterix.034_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_034_020, { "020, Sector Number", "asterix.034_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_020_VALUE, { "Sector Number, [°]", "asterix.034_020_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_030, { "030, Time of Day", "asterix.034_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_030_VALUE, { "Time of Day, [s]", "asterix.034_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_041, { "041, Antenna Rotation Speed", "asterix.034_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_041_VALUE, { "Antenna Rotation Speed, [s]", "asterix.034_041_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_050, { "050, System Configuration and Status", "asterix.034_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_050_COM, { "COM, Common Part", "asterix.034_050_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_050_COM_NOGO, { "NOGO, Operational Release Status of the System", "asterix.034_050_COM_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_034_050_COM_NOGO), 0x80, NULL, HFILL } }, { &hf_034_050_COM_RDPC, { "RDPC, Radar Data Processor Chain Selection Status", "asterix.034_050_COM_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_COM_RDPC), 0x40, NULL, HFILL } }, { &hf_034_050_COM_RDPR, { "RDPR, Event to Signal a Reset/restart of the Selected Radar Data Processor Chain, I.e. Expect a New Assignment of Track Numbers", "asterix.034_050_COM_RDPR", FT_UINT8, BASE_DEC, VALS (valstr_034_050_COM_RDPR), 0x20, NULL, HFILL } }, { &hf_034_050_COM_OVLRDP, { "OVLRDP, Radar Data Processor Overload Indicator", "asterix.034_050_COM_OVLRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_050_COM_OVLRDP), 0x10, NULL, HFILL } }, { &hf_034_050_COM_OVLXMT, { "OVLXMT, Transmission Subsystem Overload Status", "asterix.034_050_COM_OVLXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_050_COM_OVLXMT), 0x08, NULL, HFILL } }, { &hf_034_050_COM_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_050_COM_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_COM_MSC), 0x04, NULL, HFILL } }, { &hf_034_050_COM_TSV, { "TSV, Time Source Validity", "asterix.034_050_COM_TSV", FT_UINT8, BASE_DEC, VALS (valstr_034_050_COM_TSV), 0x02, NULL, HFILL } }, { &hf_034_050_PSR, { "PSR, Specific Status Information for a PSR Sensor", "asterix.034_050_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_050_PSR_ANT, { "ANT, Selected Antenna", "asterix.034_050_PSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_050_PSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_050_PSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_050_PSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_050_PSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_050_PSR_OVL, { "OVL, Overload Condition", "asterix.034_050_PSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_050_PSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_050_PSR_MSC, { "MSC, Monitoring System Connected Status", "asterix.034_050_PSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_PSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_050_SSR, { "SSR, Specific Status Information for a SSR Sensor", "asterix.034_050_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_050_SSR_ANT, { "ANT, Selected Antenna", "asterix.034_050_SSR_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_050_SSR_ANT), 0x80, NULL, HFILL } }, { &hf_034_050_SSR_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_050_SSR_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_050_SSR_CHAB), 0x60, NULL, HFILL } }, { &hf_034_050_SSR_OVL, { "OVL, Overload Condition", "asterix.034_050_SSR_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_050_SSR_OVL), 0x10, NULL, HFILL } }, { &hf_034_050_SSR_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_050_SSR_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_SSR_MSC), 0x08, NULL, HFILL } }, { &hf_034_050_MDS, { "MDS, Specific Status Information for a Mode S Sensor", "asterix.034_050_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_050_MDS_ANT, { "ANT, Selected Antenna", "asterix.034_050_MDS_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_ANT), 0x80, NULL, HFILL } }, { &hf_034_050_MDS_CHAB, { "CHAB, Channel A/B Selection Status", "asterix.034_050_MDS_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_CHAB), 0x60, NULL, HFILL } }, { &hf_034_050_MDS_OVLSUR, { "OVLSUR, Overload Condition", "asterix.034_050_MDS_OVLSUR", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_OVLSUR), 0x10, NULL, HFILL } }, { &hf_034_050_MDS_MSC, { "MSC, Monitoring System Connected Status:", "asterix.034_050_MDS_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_MSC), 0x08, NULL, HFILL } }, { &hf_034_050_MDS_SCF, { "SCF, Channel A/B Selection Status for Surveillance Co-ordination Function", "asterix.034_050_MDS_SCF", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_SCF), 0x04, NULL, HFILL } }, { &hf_034_050_MDS_DLF, { "DLF, Channel A/B Selection Status for Data Link Function", "asterix.034_050_MDS_DLF", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_DLF), 0x02, NULL, HFILL } }, { &hf_034_050_MDS_OVLSCF, { "OVLSCF, Overload in Surveillance Co-ordination Function", "asterix.034_050_MDS_OVLSCF", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_OVLSCF), 0x01, NULL, HFILL } }, { &hf_034_050_MDS_OVLDLF, { "OVLDLF, Overload in Data Link Function", "asterix.034_050_MDS_OVLDLF", FT_UINT8, BASE_DEC, VALS (valstr_034_050_MDS_OVLDLF), 0x80, NULL, HFILL } }, { &hf_034_060, { "060, System Processing Mode", "asterix.034_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_060_COM, { "COM, Common Part", "asterix.034_060_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_060_COM_REDRDP, { "REDRDP, Reduction Steps in Use for An Overload of the RDP", "asterix.034_060_COM_REDRDP", FT_UINT8, BASE_DEC, VALS (valstr_034_060_COM_REDRDP), 0x70, NULL, HFILL } }, { &hf_034_060_COM_REDXMT, { "REDXMT, Reduction Steps in Use for An Overload of the Transmission Subsystem", "asterix.034_060_COM_REDXMT", FT_UINT8, BASE_DEC, VALS (valstr_034_060_COM_REDXMT), 0x0e, NULL, HFILL } }, { &hf_034_060_PSR, { "PSR, Specific Processing Mode Information for a PSR Sensor", "asterix.034_060_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_060_PSR_POL, { "POL, Polarization in Use by PSR", "asterix.034_060_PSR_POL", FT_UINT8, BASE_DEC, VALS (valstr_034_060_PSR_POL), 0x80, NULL, HFILL } }, { &hf_034_060_PSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the PSR Subsystem", "asterix.034_060_PSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_060_PSR_REDRAD), 0x70, NULL, HFILL } }, { &hf_034_060_PSR_STC, { "STC, Sensitivity Time Control Map in Use", "asterix.034_060_PSR_STC", FT_UINT8, BASE_DEC, VALS (valstr_034_060_PSR_STC), 0x0c, NULL, HFILL } }, { &hf_034_060_SSR, { "SSR, Specific Processing Mode Information for a SSR Sensor", "asterix.034_060_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_060_SSR_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the SSR Subsystem", "asterix.034_060_SSR_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_060_SSR_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_060_MDS, { "MDS, Specific Processing Mode Information for a Mode S Sensor", "asterix.034_060_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_060_MDS_REDRAD, { "REDRAD, Reduction Steps in Use as Result of An Overload Within the Mode S Subsystem", "asterix.034_060_MDS_REDRAD", FT_UINT8, BASE_DEC, VALS (valstr_034_060_MDS_REDRAD), 0xe0, NULL, HFILL } }, { &hf_034_060_MDS_CLU, { "CLU, Cluster State", "asterix.034_060_MDS_CLU", FT_UINT8, BASE_DEC, VALS (valstr_034_060_MDS_CLU), 0x10, NULL, HFILL } }, { &hf_034_070, { "070, Message Count Values", "asterix.034_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_070_TYP, { "TYP, Type of Message Counter", "asterix.034_070_TYP", FT_UINT8, BASE_DEC, VALS (valstr_034_070_TYP), 0xf8, NULL, HFILL } }, { &hf_034_070_COUNT, { "COUNT, COUNTER", "asterix.034_070_COUNT", FT_UINT16, BASE_DEC, NULL, 0x07ff, NULL, HFILL } }, { &hf_034_090, { "090, Collimation Error", "asterix.034_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_090_RNG, { "RNG, Range Error, [NM]", "asterix.034_090_RNG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_090_AZM, { "AZM, Azimuth Error, [°]", "asterix.034_090_AZM", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_100, { "100, Generic Polar Window", "asterix.034_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_100_RHOST, { "RHOST, Rho Start, [NM]", "asterix.034_100_RHOST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_100_RHOEND, { "RHOEND, Rho End, [NM]", "asterix.034_100_RHOEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_100_THETAST, { "THETAST, Theta Start, [°]", "asterix.034_100_THETAST", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_100_THETAEND, { "THETAEND, Theta End, [°]", "asterix.034_100_THETAEND", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_110, { "110, Data Filter", "asterix.034_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_110_VALUE, { "Data Filter", "asterix.034_110_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_034_110_VALUE), 0x00, NULL, HFILL } }, { &hf_034_120, { "120, 3D-Position Of Data Source", "asterix.034_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_120_HGT, { "HGT, Height of Data Source, [m]", "asterix.034_120_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_120_LAT, { "LAT, Latitude, [°]", "asterix.034_120_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_120_LON, { "LON, Longitude, [°]", "asterix.034_120_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_RE, { "RE, Reserved Expansion Field", "asterix.034_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_034_SP, { "SP, Special Purpose Field", "asterix.034_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_010, { "010, Data Source Identifier", "asterix.048_V1_27_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_010_SAC, { "SAC, System Area Code", "asterix.048_V1_27_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_010_SIC, { "SIC, System Identification Code", "asterix.048_V1_27_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_020, { "020, Target Report Descriptor", "asterix.048_V1_27_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_020_TYP, { "TYP", "asterix.048_V1_27_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_TYP), 0xe0, NULL, HFILL } }, { &hf_048_V1_27_020_SIM, { "SIM", "asterix.048_V1_27_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_SIM), 0x10, NULL, HFILL } }, { &hf_048_V1_27_020_RDP, { "RDP", "asterix.048_V1_27_020_RDP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_RDP), 0x08, NULL, HFILL } }, { &hf_048_V1_27_020_SPI, { "SPI", "asterix.048_V1_27_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_SPI), 0x04, NULL, HFILL } }, { &hf_048_V1_27_020_RAB, { "RAB", "asterix.048_V1_27_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_RAB), 0x02, NULL, HFILL } }, { &hf_048_V1_27_020_TST, { "TST", "asterix.048_V1_27_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_TST), 0x80, NULL, HFILL } }, { &hf_048_V1_27_020_ERR, { "ERR", "asterix.048_V1_27_020_ERR", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_ERR), 0x40, NULL, HFILL } }, { &hf_048_V1_27_020_XPP, { "XPP", "asterix.048_V1_27_020_XPP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_XPP), 0x20, NULL, HFILL } }, { &hf_048_V1_27_020_ME, { "ME", "asterix.048_V1_27_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_ME), 0x10, NULL, HFILL } }, { &hf_048_V1_27_020_MI, { "MI", "asterix.048_V1_27_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_MI), 0x08, NULL, HFILL } }, { &hf_048_V1_27_020_FOEFRI, { "FOEFRI", "asterix.048_V1_27_020_FOEFRI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_020_FOEFRI), 0x06, NULL, HFILL } }, { &hf_048_V1_27_030, { "030, Warning/Error Conditions and Target Classification", "asterix.048_V1_27_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_030_Subitem, { "Subitem, Subitem", "asterix.048_V1_27_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_048_V1_27_040, { "040, Measured Position in Polar Co-ordinates", "asterix.048_V1_27_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_040_RHO, { "RHO, [NM]", "asterix.048_V1_27_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_040_THETA, { "THETA, [°]", "asterix.048_V1_27_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.048_V1_27_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_042_X, { "X, X-Component, [NM]", "asterix.048_V1_27_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_042_Y, { "Y, X-Component, [NM]", "asterix.048_V1_27_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_050, { "050, Mode-2 Code in Octal Representation", "asterix.048_V1_27_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_050_V, { "V", "asterix.048_V1_27_050_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_050_V), 0x80, NULL, HFILL } }, { &hf_048_V1_27_050_G, { "G", "asterix.048_V1_27_050_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_050_G), 0x40, NULL, HFILL } }, { &hf_048_V1_27_050_L, { "L", "asterix.048_V1_27_050_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_050_L), 0x20, NULL, HFILL } }, { &hf_048_V1_27_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.048_V1_27_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_27_055, { "055, Mode-1 Code in Octal Representation", "asterix.048_V1_27_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_055_V, { "V", "asterix.048_V1_27_055_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_055_V), 0x80, NULL, HFILL } }, { &hf_048_V1_27_055_G, { "G", "asterix.048_V1_27_055_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_055_G), 0x40, NULL, HFILL } }, { &hf_048_V1_27_055_L, { "L", "asterix.048_V1_27_055_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_055_L), 0x20, NULL, HFILL } }, { &hf_048_V1_27_055_MODE1, { "MODE1, Mode-1 Code", "asterix.048_V1_27_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_048_V1_27_060, { "060, Mode-2 Code Confidence Indicator", "asterix.048_V1_27_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_060_QA4, { "QA4", "asterix.048_V1_27_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_27_060_QA2, { "QA2", "asterix.048_V1_27_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_27_060_QA1, { "QA1", "asterix.048_V1_27_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_27_060_QB4, { "QB4", "asterix.048_V1_27_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_27_060_QB2, { "QB2", "asterix.048_V1_27_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_27_060_QB1, { "QB1", "asterix.048_V1_27_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_27_060_QC4, { "QC4", "asterix.048_V1_27_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_27_060_QC2, { "QC2", "asterix.048_V1_27_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_27_060_QC1, { "QC1", "asterix.048_V1_27_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_27_060_QD4, { "QD4", "asterix.048_V1_27_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_27_060_QD2, { "QD2", "asterix.048_V1_27_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_27_060_QD1, { "QD1", "asterix.048_V1_27_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_060_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_27_065, { "065, Mode-1 Code Confidence Indicator", "asterix.048_V1_27_065", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_065_QA4, { "QA4", "asterix.048_V1_27_065_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_065_QA4), 0x10, NULL, HFILL } }, { &hf_048_V1_27_065_QA2, { "QA2", "asterix.048_V1_27_065_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_065_QA2), 0x08, NULL, HFILL } }, { &hf_048_V1_27_065_QA1, { "QA1", "asterix.048_V1_27_065_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_065_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_27_065_QB2, { "QB2", "asterix.048_V1_27_065_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_065_QB2), 0x02, NULL, HFILL } }, { &hf_048_V1_27_065_QB1, { "QB1", "asterix.048_V1_27_065_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_065_QB1), 0x01, NULL, HFILL } }, { &hf_048_V1_27_070, { "070, Mode-3/A Code in Octal Representation", "asterix.048_V1_27_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_070_V, { "V", "asterix.048_V1_27_070_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_070_V), 0x80, NULL, HFILL } }, { &hf_048_V1_27_070_G, { "G", "asterix.048_V1_27_070_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_070_G), 0x40, NULL, HFILL } }, { &hf_048_V1_27_070_L, { "L", "asterix.048_V1_27_070_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_070_L), 0x20, NULL, HFILL } }, { &hf_048_V1_27_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.048_V1_27_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_27_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.048_V1_27_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_080_QA4, { "QA4", "asterix.048_V1_27_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_27_080_QA2, { "QA2", "asterix.048_V1_27_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_27_080_QA1, { "QA1", "asterix.048_V1_27_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_27_080_QB4, { "QB4", "asterix.048_V1_27_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_27_080_QB2, { "QB2", "asterix.048_V1_27_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_27_080_QB1, { "QB1", "asterix.048_V1_27_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_27_080_QC4, { "QC4", "asterix.048_V1_27_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_27_080_QC2, { "QC2", "asterix.048_V1_27_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_27_080_QC1, { "QC1", "asterix.048_V1_27_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_27_080_QD4, { "QD4", "asterix.048_V1_27_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_27_080_QD2, { "QD2", "asterix.048_V1_27_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_27_080_QD1, { "QD1", "asterix.048_V1_27_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_080_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_27_090, { "090, Flight Level in Binary Representation", "asterix.048_V1_27_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_090_V, { "V", "asterix.048_V1_27_090_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_090_V), 0x80, NULL, HFILL } }, { &hf_048_V1_27_090_G, { "G", "asterix.048_V1_27_090_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_090_G), 0x40, NULL, HFILL } }, { &hf_048_V1_27_090_FL, { "FL, [FL]", "asterix.048_V1_27_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.048_V1_27_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_100_V, { "V", "asterix.048_V1_27_100_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_V), 0x80, NULL, HFILL } }, { &hf_048_V1_27_100_G, { "G", "asterix.048_V1_27_100_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_G), 0x40, NULL, HFILL } }, { &hf_048_V1_27_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.048_V1_27_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_27_100_QC1, { "QC1", "asterix.048_V1_27_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_27_100_QA1, { "QA1", "asterix.048_V1_27_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_27_100_QC2, { "QC2", "asterix.048_V1_27_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QC2), 0x02, NULL, HFILL } }, { &hf_048_V1_27_100_QA2, { "QA2", "asterix.048_V1_27_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QA2), 0x01, NULL, HFILL } }, { &hf_048_V1_27_100_QC4, { "QC4", "asterix.048_V1_27_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QC4), 0x80, NULL, HFILL } }, { &hf_048_V1_27_100_QA4, { "QA4", "asterix.048_V1_27_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QA4), 0x40, NULL, HFILL } }, { &hf_048_V1_27_100_QB1, { "QB1", "asterix.048_V1_27_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QB1), 0x20, NULL, HFILL } }, { &hf_048_V1_27_100_QD1, { "QD1", "asterix.048_V1_27_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QD1), 0x10, NULL, HFILL } }, { &hf_048_V1_27_100_QB2, { "QB2", "asterix.048_V1_27_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QB2), 0x08, NULL, HFILL } }, { &hf_048_V1_27_100_QD2, { "QD2", "asterix.048_V1_27_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QD2), 0x04, NULL, HFILL } }, { &hf_048_V1_27_100_QB4, { "QB4", "asterix.048_V1_27_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QB4), 0x02, NULL, HFILL } }, { &hf_048_V1_27_100_QD4, { "QD4", "asterix.048_V1_27_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_100_QD4), 0x01, NULL, HFILL } }, { &hf_048_V1_27_110, { "110, Height Measured by a 3D Radar", "asterix.048_V1_27_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_110_3DH, { "3DH, 3D Height, in Binary Notation. Negative Values Are Expressed in Two's Complement, [ft]", "asterix.048_V1_27_110_3DH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_120, { "120, Radial Doppler Speed", "asterix.048_V1_27_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_120_CAL, { "CAL, Calculated Doppler Speed", "asterix.048_V1_27_120_CAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_120_CAL_D, { "D", "asterix.048_V1_27_120_CAL_D", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_120_CAL_D), 0x80, NULL, HFILL } }, { &hf_048_V1_27_120_CAL_CAL, { "CAL, Calculated Doppler Speed, Coded in Two's Complement, [m/s]", "asterix.048_V1_27_120_CAL_CAL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_120_RDS, { "RDS, Raw Doppler Speed", "asterix.048_V1_27_120_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_120_RDS_DOP, { "DOP, Doppler Speed, [m/s]", "asterix.048_V1_27_120_RDS_DOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_120_RDS_AMB, { "AMB, Ambiguity Range, [m/s]", "asterix.048_V1_27_120_RDS_AMB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_120_RDS_FRQ, { "FRQ, Transmitter Frequency, [MHz]", "asterix.048_V1_27_120_RDS_FRQ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130, { "130, Radar Plot Characteristics", "asterix.048_V1_27_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_SRL, { "SRL, SSR Plot Runlength", "asterix.048_V1_27_130_SRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_SRL_VALUE, { "SSR Plot Runlength, [°]", "asterix.048_V1_27_130_SRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_SRR, { "SRR, Number of Received Replies for (M)SSR", "asterix.048_V1_27_130_SRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_SRR_VALUE, { "Number of Received Replies for (M)SSR", "asterix.048_V1_27_130_SRR_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_SAM, { "SAM, Amplitude of (M)SSR Reply", "asterix.048_V1_27_130_SAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_SAM_VALUE, { "Amplitude of (M)SSR Reply, [dBm]", "asterix.048_V1_27_130_SAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_PRL, { "PRL, Primary Plot Runlength", "asterix.048_V1_27_130_PRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_PRL_VALUE, { "Primary Plot Runlength, [°]", "asterix.048_V1_27_130_PRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_PAM, { "PAM, Amplitude of Primary Plot", "asterix.048_V1_27_130_PAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_PAM_VALUE, { "Amplitude of Primary Plot, [dBm]", "asterix.048_V1_27_130_PAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_RPD, { "RPD, Difference in Range Between PSR and SSR Plot", "asterix.048_V1_27_130_RPD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_RPD_VALUE, { "Difference in Range Between PSR and SSR Plot, [NM]", "asterix.048_V1_27_130_RPD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_APD, { "APD, Difference in Azimuth Between PSR and SSR Plot", "asterix.048_V1_27_130_APD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_130_APD_VALUE, { "Difference in Azimuth Between PSR and SSR Plot, [°]", "asterix.048_V1_27_130_APD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_140, { "140, Time of Day", "asterix.048_V1_27_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_140_VALUE, { "Time of Day, [s]", "asterix.048_V1_27_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_161, { "161, Track Number", "asterix.048_V1_27_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_161_TRN, { "TRN, Track Number", "asterix.048_V1_27_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_27_170, { "170, Track Status", "asterix.048_V1_27_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_170_CNF, { "CNF, Confirmed Vs. Tentative Track", "asterix.048_V1_27_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_CNF), 0x80, NULL, HFILL } }, { &hf_048_V1_27_170_RAD, { "RAD, Type of Sensor(s) Maintaining Track", "asterix.048_V1_27_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_RAD), 0x60, NULL, HFILL } }, { &hf_048_V1_27_170_DOU, { "DOU, Signals Level of Confidence in Plot to Track Association Process", "asterix.048_V1_27_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_DOU), 0x10, NULL, HFILL } }, { &hf_048_V1_27_170_MAH, { "MAH, Manoeuvre Detection in Horizontal Sense", "asterix.048_V1_27_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_MAH), 0x08, NULL, HFILL } }, { &hf_048_V1_27_170_CDM, { "CDM, Climbing / Descending Mode", "asterix.048_V1_27_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_CDM), 0x06, NULL, HFILL } }, { &hf_048_V1_27_170_TRE, { "TRE, Signal for End_of_Track", "asterix.048_V1_27_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_TRE), 0x80, NULL, HFILL } }, { &hf_048_V1_27_170_GHO, { "GHO, Ghost Vs. True Target", "asterix.048_V1_27_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_GHO), 0x40, NULL, HFILL } }, { &hf_048_V1_27_170_SUP, { "SUP, Track Maintained with Track Information from Neighbouring Node B on the Cluster, or Network", "asterix.048_V1_27_170_SUP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_SUP), 0x20, NULL, HFILL } }, { &hf_048_V1_27_170_TCC, { "TCC, Type of Plot Coordinate Transformation Mechanism:", "asterix.048_V1_27_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_170_TCC), 0x10, NULL, HFILL } }, { &hf_048_V1_27_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.048_V1_27_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.048_V1_27_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.048_V1_27_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_210, { "210, Track Quality", "asterix.048_V1_27_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_210_SIGX, { "SIGX, Sigma (X)) Standard Deviation on the Horizontal Axis of the Local Grid System, [NM]", "asterix.048_V1_27_210_SIGX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_210_SIGY, { "SIGY, Sigma (Y)) Standard Deviation on the Vertical Axis of the Local Grid System, [NM]", "asterix.048_V1_27_210_SIGY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_210_SIGV, { "SIGV, Sigma (V)) Standard Deviation on the Groundspeed Within the Local Grid System, [NM/s]", "asterix.048_V1_27_210_SIGV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_210_SIGH, { "SIGH, Sigma (H)) Standard Deviation on the Heading Within the Local Grid System, [°]", "asterix.048_V1_27_210_SIGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_220, { "220, Aircraft Address", "asterix.048_V1_27_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_220_VALUE, { "Aircraft Address", "asterix.048_V1_27_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.048_V1_27_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_230_COM, { "COM, Communications Capability of the Transponder", "asterix.048_V1_27_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_230_COM), 0xe0, NULL, HFILL } }, { &hf_048_V1_27_230_STAT, { "STAT, Flight Status", "asterix.048_V1_27_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_230_STAT), 0x1c, NULL, HFILL } }, { &hf_048_V1_27_230_SI, { "SI, SI/II Transponder Capability", "asterix.048_V1_27_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_230_SI), 0x02, NULL, HFILL } }, { &hf_048_V1_27_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.048_V1_27_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_230_MSSC), 0x80, NULL, HFILL } }, { &hf_048_V1_27_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.048_V1_27_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_230_ARC), 0x40, NULL, HFILL } }, { &hf_048_V1_27_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.048_V1_27_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_27_230_AIC), 0x20, NULL, HFILL } }, { &hf_048_V1_27_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.048_V1_27_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_048_V1_27_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.048_V1_27_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_27_240, { "240, Aircraft Identification", "asterix.048_V1_27_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_240_VALUE, { "Aircraft Identification", "asterix.048_V1_27_240_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_250, { "250, Mode S MB Data", "asterix.048_V1_27_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_250_MBDATA, { "MBDATA, Mode S Comm B Message Data", "asterix.048_V1_27_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.048_V1_27_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_048_V1_27_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.048_V1_27_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_27_260, { "260, ACAS Resolution Advisory Report", "asterix.048_V1_27_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.048_V1_27_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_RE, { "RE, Reserved Expansion Field", "asterix.048_V1_27_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_27_SP, { "SP, Special Purpose Field", "asterix.048_V1_27_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_010, { "010, Data Source Identifier", "asterix.048_V1_28_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_010_SAC, { "SAC, System Area Code", "asterix.048_V1_28_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_010_SIC, { "SIC, System Identification Code", "asterix.048_V1_28_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_020, { "020, Target Report Descriptor", "asterix.048_V1_28_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_020_TYP, { "TYP", "asterix.048_V1_28_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_TYP), 0xe0, NULL, HFILL } }, { &hf_048_V1_28_020_SIM, { "SIM", "asterix.048_V1_28_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_SIM), 0x10, NULL, HFILL } }, { &hf_048_V1_28_020_RDP, { "RDP", "asterix.048_V1_28_020_RDP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_RDP), 0x08, NULL, HFILL } }, { &hf_048_V1_28_020_SPI, { "SPI", "asterix.048_V1_28_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_SPI), 0x04, NULL, HFILL } }, { &hf_048_V1_28_020_RAB, { "RAB", "asterix.048_V1_28_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_RAB), 0x02, NULL, HFILL } }, { &hf_048_V1_28_020_TST, { "TST", "asterix.048_V1_28_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_TST), 0x80, NULL, HFILL } }, { &hf_048_V1_28_020_ERR, { "ERR", "asterix.048_V1_28_020_ERR", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_ERR), 0x40, NULL, HFILL } }, { &hf_048_V1_28_020_XPP, { "XPP", "asterix.048_V1_28_020_XPP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_XPP), 0x20, NULL, HFILL } }, { &hf_048_V1_28_020_ME, { "ME", "asterix.048_V1_28_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_ME), 0x10, NULL, HFILL } }, { &hf_048_V1_28_020_MI, { "MI", "asterix.048_V1_28_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_MI), 0x08, NULL, HFILL } }, { &hf_048_V1_28_020_FOEFRI, { "FOEFRI", "asterix.048_V1_28_020_FOEFRI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_020_FOEFRI), 0x06, NULL, HFILL } }, { &hf_048_V1_28_030, { "030, Warning/Error Conditions and Target Classification", "asterix.048_V1_28_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_030_Subitem, { "Subitem, Subitem", "asterix.048_V1_28_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_048_V1_28_040, { "040, Measured Position in Polar Co-ordinates", "asterix.048_V1_28_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_040_RHO, { "RHO, [NM]", "asterix.048_V1_28_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_040_THETA, { "THETA, [°]", "asterix.048_V1_28_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.048_V1_28_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_042_X, { "X, X-Component, [NM]", "asterix.048_V1_28_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_042_Y, { "Y, X-Component, [NM]", "asterix.048_V1_28_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_050, { "050, Mode-2 Code in Octal Representation", "asterix.048_V1_28_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_050_V, { "V", "asterix.048_V1_28_050_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_050_V), 0x80, NULL, HFILL } }, { &hf_048_V1_28_050_G, { "G", "asterix.048_V1_28_050_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_050_G), 0x40, NULL, HFILL } }, { &hf_048_V1_28_050_L, { "L", "asterix.048_V1_28_050_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_050_L), 0x20, NULL, HFILL } }, { &hf_048_V1_28_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.048_V1_28_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_28_055, { "055, Mode-1 Code in Octal Representation", "asterix.048_V1_28_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_055_V, { "V", "asterix.048_V1_28_055_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_055_V), 0x80, NULL, HFILL } }, { &hf_048_V1_28_055_G, { "G", "asterix.048_V1_28_055_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_055_G), 0x40, NULL, HFILL } }, { &hf_048_V1_28_055_L, { "L", "asterix.048_V1_28_055_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_055_L), 0x20, NULL, HFILL } }, { &hf_048_V1_28_055_MODE1, { "MODE1, Mode-1 Code", "asterix.048_V1_28_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_048_V1_28_060, { "060, Mode-2 Code Confidence Indicator", "asterix.048_V1_28_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_060_QA4, { "QA4", "asterix.048_V1_28_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_28_060_QA2, { "QA2", "asterix.048_V1_28_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_28_060_QA1, { "QA1", "asterix.048_V1_28_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_28_060_QB4, { "QB4", "asterix.048_V1_28_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_28_060_QB2, { "QB2", "asterix.048_V1_28_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_28_060_QB1, { "QB1", "asterix.048_V1_28_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_28_060_QC4, { "QC4", "asterix.048_V1_28_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_28_060_QC2, { "QC2", "asterix.048_V1_28_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_28_060_QC1, { "QC1", "asterix.048_V1_28_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_28_060_QD4, { "QD4", "asterix.048_V1_28_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_28_060_QD2, { "QD2", "asterix.048_V1_28_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_28_060_QD1, { "QD1", "asterix.048_V1_28_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_060_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_28_065, { "065, Mode-1 Code Confidence Indicator", "asterix.048_V1_28_065", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_065_QA4, { "QA4", "asterix.048_V1_28_065_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_065_QA4), 0x10, NULL, HFILL } }, { &hf_048_V1_28_065_QA2, { "QA2", "asterix.048_V1_28_065_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_065_QA2), 0x08, NULL, HFILL } }, { &hf_048_V1_28_065_QA1, { "QA1", "asterix.048_V1_28_065_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_065_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_28_065_QB2, { "QB2", "asterix.048_V1_28_065_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_065_QB2), 0x02, NULL, HFILL } }, { &hf_048_V1_28_065_QB1, { "QB1", "asterix.048_V1_28_065_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_065_QB1), 0x01, NULL, HFILL } }, { &hf_048_V1_28_070, { "070, Mode-3/A Code in Octal Representation", "asterix.048_V1_28_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_070_V, { "V", "asterix.048_V1_28_070_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_070_V), 0x80, NULL, HFILL } }, { &hf_048_V1_28_070_G, { "G", "asterix.048_V1_28_070_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_070_G), 0x40, NULL, HFILL } }, { &hf_048_V1_28_070_L, { "L", "asterix.048_V1_28_070_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_070_L), 0x20, NULL, HFILL } }, { &hf_048_V1_28_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.048_V1_28_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_28_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.048_V1_28_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_080_QA4, { "QA4", "asterix.048_V1_28_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_28_080_QA2, { "QA2", "asterix.048_V1_28_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_28_080_QA1, { "QA1", "asterix.048_V1_28_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_28_080_QB4, { "QB4", "asterix.048_V1_28_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_28_080_QB2, { "QB2", "asterix.048_V1_28_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_28_080_QB1, { "QB1", "asterix.048_V1_28_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_28_080_QC4, { "QC4", "asterix.048_V1_28_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_28_080_QC2, { "QC2", "asterix.048_V1_28_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_28_080_QC1, { "QC1", "asterix.048_V1_28_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_28_080_QD4, { "QD4", "asterix.048_V1_28_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_28_080_QD2, { "QD2", "asterix.048_V1_28_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_28_080_QD1, { "QD1", "asterix.048_V1_28_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_080_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_28_090, { "090, Flight Level in Binary Representation", "asterix.048_V1_28_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_090_V, { "V", "asterix.048_V1_28_090_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_090_V), 0x80, NULL, HFILL } }, { &hf_048_V1_28_090_G, { "G", "asterix.048_V1_28_090_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_090_G), 0x40, NULL, HFILL } }, { &hf_048_V1_28_090_FL, { "FL, [FL]", "asterix.048_V1_28_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.048_V1_28_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_100_V, { "V", "asterix.048_V1_28_100_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_V), 0x80, NULL, HFILL } }, { &hf_048_V1_28_100_G, { "G", "asterix.048_V1_28_100_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_G), 0x40, NULL, HFILL } }, { &hf_048_V1_28_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.048_V1_28_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_28_100_QC1, { "QC1", "asterix.048_V1_28_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_28_100_QA1, { "QA1", "asterix.048_V1_28_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_28_100_QC2, { "QC2", "asterix.048_V1_28_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QC2), 0x02, NULL, HFILL } }, { &hf_048_V1_28_100_QA2, { "QA2", "asterix.048_V1_28_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QA2), 0x01, NULL, HFILL } }, { &hf_048_V1_28_100_QC4, { "QC4", "asterix.048_V1_28_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QC4), 0x80, NULL, HFILL } }, { &hf_048_V1_28_100_QA4, { "QA4", "asterix.048_V1_28_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QA4), 0x40, NULL, HFILL } }, { &hf_048_V1_28_100_QB1, { "QB1", "asterix.048_V1_28_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QB1), 0x20, NULL, HFILL } }, { &hf_048_V1_28_100_QD1, { "QD1", "asterix.048_V1_28_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QD1), 0x10, NULL, HFILL } }, { &hf_048_V1_28_100_QB2, { "QB2", "asterix.048_V1_28_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QB2), 0x08, NULL, HFILL } }, { &hf_048_V1_28_100_QD2, { "QD2", "asterix.048_V1_28_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QD2), 0x04, NULL, HFILL } }, { &hf_048_V1_28_100_QB4, { "QB4", "asterix.048_V1_28_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QB4), 0x02, NULL, HFILL } }, { &hf_048_V1_28_100_QD4, { "QD4", "asterix.048_V1_28_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_100_QD4), 0x01, NULL, HFILL } }, { &hf_048_V1_28_110, { "110, Height Measured by a 3D Radar", "asterix.048_V1_28_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_110_3DH, { "3DH, 3D Height, in Binary Notation. Negative Values Are Expressed in Two's Complement, [ft]", "asterix.048_V1_28_110_3DH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_120, { "120, Radial Doppler Speed", "asterix.048_V1_28_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_120_CAL, { "CAL, Calculated Doppler Speed", "asterix.048_V1_28_120_CAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_120_CAL_D, { "D", "asterix.048_V1_28_120_CAL_D", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_120_CAL_D), 0x80, NULL, HFILL } }, { &hf_048_V1_28_120_CAL_CAL, { "CAL, Calculated Doppler Speed, Coded in Two's Complement, [m/s]", "asterix.048_V1_28_120_CAL_CAL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_120_RDS, { "RDS, Raw Doppler Speed", "asterix.048_V1_28_120_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_120_RDS_DOP, { "DOP, Doppler Speed, [m/s]", "asterix.048_V1_28_120_RDS_DOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_120_RDS_AMB, { "AMB, Ambiguity Range, [m/s]", "asterix.048_V1_28_120_RDS_AMB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_120_RDS_FRQ, { "FRQ, Transmitter Frequency, [MHz]", "asterix.048_V1_28_120_RDS_FRQ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130, { "130, Radar Plot Characteristics", "asterix.048_V1_28_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_SRL, { "SRL, SSR Plot Runlength", "asterix.048_V1_28_130_SRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_SRL_VALUE, { "SSR Plot Runlength, [°]", "asterix.048_V1_28_130_SRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_SRR, { "SRR, Number of Received Replies for (M)SSR", "asterix.048_V1_28_130_SRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_SRR_VALUE, { "Number of Received Replies for (M)SSR", "asterix.048_V1_28_130_SRR_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_SAM, { "SAM, Amplitude of (M)SSR Reply", "asterix.048_V1_28_130_SAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_SAM_VALUE, { "Amplitude of (M)SSR Reply, [dBm]", "asterix.048_V1_28_130_SAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_PRL, { "PRL, Primary Plot Runlength", "asterix.048_V1_28_130_PRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_PRL_VALUE, { "Primary Plot Runlength, [°]", "asterix.048_V1_28_130_PRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_PAM, { "PAM, Amplitude of Primary Plot", "asterix.048_V1_28_130_PAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_PAM_VALUE, { "Amplitude of Primary Plot, [dBm]", "asterix.048_V1_28_130_PAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_RPD, { "RPD, Difference in Range Between PSR and SSR Plot", "asterix.048_V1_28_130_RPD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_RPD_VALUE, { "Difference in Range Between PSR and SSR Plot, [NM]", "asterix.048_V1_28_130_RPD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_APD, { "APD, Difference in Azimuth Between PSR and SSR Plot", "asterix.048_V1_28_130_APD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_130_APD_VALUE, { "Difference in Azimuth Between PSR and SSR Plot, [°]", "asterix.048_V1_28_130_APD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_140, { "140, Time of Day", "asterix.048_V1_28_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_140_VALUE, { "Time of Day, [s]", "asterix.048_V1_28_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_161, { "161, Track Number", "asterix.048_V1_28_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_161_TRN, { "TRN, Track Number", "asterix.048_V1_28_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_28_170, { "170, Track Status", "asterix.048_V1_28_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_170_CNF, { "CNF, Confirmed Vs. Tentative Track", "asterix.048_V1_28_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_CNF), 0x80, NULL, HFILL } }, { &hf_048_V1_28_170_RAD, { "RAD, Type of Sensor(s) Maintaining Track", "asterix.048_V1_28_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_RAD), 0x60, NULL, HFILL } }, { &hf_048_V1_28_170_DOU, { "DOU, Signals Level of Confidence in Plot to Track Association Process", "asterix.048_V1_28_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_DOU), 0x10, NULL, HFILL } }, { &hf_048_V1_28_170_MAH, { "MAH, Manoeuvre Detection in Horizontal Sense", "asterix.048_V1_28_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_MAH), 0x08, NULL, HFILL } }, { &hf_048_V1_28_170_CDM, { "CDM, Climbing / Descending Mode", "asterix.048_V1_28_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_CDM), 0x06, NULL, HFILL } }, { &hf_048_V1_28_170_TRE, { "TRE, Signal for End_of_Track", "asterix.048_V1_28_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_TRE), 0x80, NULL, HFILL } }, { &hf_048_V1_28_170_GHO, { "GHO, Ghost Vs. True Target", "asterix.048_V1_28_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_GHO), 0x40, NULL, HFILL } }, { &hf_048_V1_28_170_SUP, { "SUP, Track Maintained with Track Information from Neighbouring Node B on the Cluster, or Network", "asterix.048_V1_28_170_SUP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_SUP), 0x20, NULL, HFILL } }, { &hf_048_V1_28_170_TCC, { "TCC, Type of Plot Coordinate Transformation Mechanism:", "asterix.048_V1_28_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_170_TCC), 0x10, NULL, HFILL } }, { &hf_048_V1_28_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.048_V1_28_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.048_V1_28_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.048_V1_28_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_210, { "210, Track Quality", "asterix.048_V1_28_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_210_SIGX, { "SIGX, Sigma (X)) Standard Deviation on the Horizontal Axis of the Local Grid System, [NM]", "asterix.048_V1_28_210_SIGX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_210_SIGY, { "SIGY, Sigma (Y)) Standard Deviation on the Vertical Axis of the Local Grid System, [NM]", "asterix.048_V1_28_210_SIGY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_210_SIGV, { "SIGV, Sigma (V)) Standard Deviation on the Groundspeed Within the Local Grid System, [NM/s]", "asterix.048_V1_28_210_SIGV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_210_SIGH, { "SIGH, Sigma (H)) Standard Deviation on the Heading Within the Local Grid System, [°]", "asterix.048_V1_28_210_SIGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_220, { "220, Aircraft Address", "asterix.048_V1_28_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_220_VALUE, { "Aircraft Address", "asterix.048_V1_28_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.048_V1_28_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_230_COM, { "COM, Communications Capability of the Transponder", "asterix.048_V1_28_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_230_COM), 0xe0, NULL, HFILL } }, { &hf_048_V1_28_230_STAT, { "STAT, Flight Status", "asterix.048_V1_28_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_230_STAT), 0x1c, NULL, HFILL } }, { &hf_048_V1_28_230_SI, { "SI, SI/II Transponder Capability", "asterix.048_V1_28_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_230_SI), 0x02, NULL, HFILL } }, { &hf_048_V1_28_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.048_V1_28_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_230_MSSC), 0x80, NULL, HFILL } }, { &hf_048_V1_28_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.048_V1_28_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_230_ARC), 0x40, NULL, HFILL } }, { &hf_048_V1_28_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.048_V1_28_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_28_230_AIC), 0x20, NULL, HFILL } }, { &hf_048_V1_28_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.048_V1_28_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_048_V1_28_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.048_V1_28_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_28_240, { "240, Aircraft Identification", "asterix.048_V1_28_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_240_VALUE, { "Aircraft Identification", "asterix.048_V1_28_240_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_250, { "250, Mode S MB Data", "asterix.048_V1_28_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_250_MBDATA, { "MBDATA, Mode S Comm B Message Data", "asterix.048_V1_28_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.048_V1_28_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_048_V1_28_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.048_V1_28_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_28_260, { "260, ACAS Resolution Advisory Report", "asterix.048_V1_28_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.048_V1_28_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_RE, { "RE, Reserved Expansion Field", "asterix.048_V1_28_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_28_SP, { "SP, Special Purpose Field", "asterix.048_V1_28_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_010, { "010, Data Source Identifier", "asterix.048_V1_29_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_010_SAC, { "SAC, System Area Code", "asterix.048_V1_29_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_010_SIC, { "SIC, System Identification Code", "asterix.048_V1_29_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_020, { "020, Target Report Descriptor", "asterix.048_V1_29_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_020_TYP, { "TYP", "asterix.048_V1_29_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_TYP), 0xe0, NULL, HFILL } }, { &hf_048_V1_29_020_SIM, { "SIM", "asterix.048_V1_29_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_SIM), 0x10, NULL, HFILL } }, { &hf_048_V1_29_020_RDP, { "RDP", "asterix.048_V1_29_020_RDP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_RDP), 0x08, NULL, HFILL } }, { &hf_048_V1_29_020_SPI, { "SPI", "asterix.048_V1_29_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_SPI), 0x04, NULL, HFILL } }, { &hf_048_V1_29_020_RAB, { "RAB", "asterix.048_V1_29_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_RAB), 0x02, NULL, HFILL } }, { &hf_048_V1_29_020_TST, { "TST", "asterix.048_V1_29_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_TST), 0x80, NULL, HFILL } }, { &hf_048_V1_29_020_ERR, { "ERR", "asterix.048_V1_29_020_ERR", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_ERR), 0x40, NULL, HFILL } }, { &hf_048_V1_29_020_XPP, { "XPP", "asterix.048_V1_29_020_XPP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_XPP), 0x20, NULL, HFILL } }, { &hf_048_V1_29_020_ME, { "ME", "asterix.048_V1_29_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_ME), 0x10, NULL, HFILL } }, { &hf_048_V1_29_020_MI, { "MI", "asterix.048_V1_29_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_MI), 0x08, NULL, HFILL } }, { &hf_048_V1_29_020_FOEFRI, { "FOEFRI", "asterix.048_V1_29_020_FOEFRI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_020_FOEFRI), 0x06, NULL, HFILL } }, { &hf_048_V1_29_030, { "030, Warning/Error Conditions and Target Classification", "asterix.048_V1_29_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_030_Subitem, { "Subitem, Subitem", "asterix.048_V1_29_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_048_V1_29_040, { "040, Measured Position in Polar Co-ordinates", "asterix.048_V1_29_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_040_RHO, { "RHO, [NM]", "asterix.048_V1_29_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_040_THETA, { "THETA, [°]", "asterix.048_V1_29_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.048_V1_29_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_042_X, { "X, X-Component, [NM]", "asterix.048_V1_29_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_042_Y, { "Y, X-Component, [NM]", "asterix.048_V1_29_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_050, { "050, Mode-2 Code in Octal Representation", "asterix.048_V1_29_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_050_V, { "V", "asterix.048_V1_29_050_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_050_V), 0x80, NULL, HFILL } }, { &hf_048_V1_29_050_G, { "G", "asterix.048_V1_29_050_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_050_G), 0x40, NULL, HFILL } }, { &hf_048_V1_29_050_L, { "L", "asterix.048_V1_29_050_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_050_L), 0x20, NULL, HFILL } }, { &hf_048_V1_29_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.048_V1_29_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_29_055, { "055, Mode-1 Code in Octal Representation", "asterix.048_V1_29_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_055_V, { "V", "asterix.048_V1_29_055_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_055_V), 0x80, NULL, HFILL } }, { &hf_048_V1_29_055_G, { "G", "asterix.048_V1_29_055_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_055_G), 0x40, NULL, HFILL } }, { &hf_048_V1_29_055_L, { "L", "asterix.048_V1_29_055_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_055_L), 0x20, NULL, HFILL } }, { &hf_048_V1_29_055_MODE1, { "MODE1, Mode-1 Code", "asterix.048_V1_29_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_048_V1_29_060, { "060, Mode-2 Code Confidence Indicator", "asterix.048_V1_29_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_060_QA4, { "QA4", "asterix.048_V1_29_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_29_060_QA2, { "QA2", "asterix.048_V1_29_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_29_060_QA1, { "QA1", "asterix.048_V1_29_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_29_060_QB4, { "QB4", "asterix.048_V1_29_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_29_060_QB2, { "QB2", "asterix.048_V1_29_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_29_060_QB1, { "QB1", "asterix.048_V1_29_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_29_060_QC4, { "QC4", "asterix.048_V1_29_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_29_060_QC2, { "QC2", "asterix.048_V1_29_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_29_060_QC1, { "QC1", "asterix.048_V1_29_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_29_060_QD4, { "QD4", "asterix.048_V1_29_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_29_060_QD2, { "QD2", "asterix.048_V1_29_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_29_060_QD1, { "QD1", "asterix.048_V1_29_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_060_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_29_065, { "065, Mode-1 Code Confidence Indicator", "asterix.048_V1_29_065", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_065_QA4, { "QA4", "asterix.048_V1_29_065_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_065_QA4), 0x10, NULL, HFILL } }, { &hf_048_V1_29_065_QA2, { "QA2", "asterix.048_V1_29_065_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_065_QA2), 0x08, NULL, HFILL } }, { &hf_048_V1_29_065_QA1, { "QA1", "asterix.048_V1_29_065_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_065_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_29_065_QB2, { "QB2", "asterix.048_V1_29_065_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_065_QB2), 0x02, NULL, HFILL } }, { &hf_048_V1_29_065_QB1, { "QB1", "asterix.048_V1_29_065_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_065_QB1), 0x01, NULL, HFILL } }, { &hf_048_V1_29_070, { "070, Mode-3/A Code in Octal Representation", "asterix.048_V1_29_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_070_V, { "V", "asterix.048_V1_29_070_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_070_V), 0x80, NULL, HFILL } }, { &hf_048_V1_29_070_G, { "G", "asterix.048_V1_29_070_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_070_G), 0x40, NULL, HFILL } }, { &hf_048_V1_29_070_L, { "L", "asterix.048_V1_29_070_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_070_L), 0x20, NULL, HFILL } }, { &hf_048_V1_29_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.048_V1_29_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_29_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.048_V1_29_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_080_QA4, { "QA4", "asterix.048_V1_29_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_29_080_QA2, { "QA2", "asterix.048_V1_29_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_29_080_QA1, { "QA1", "asterix.048_V1_29_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_29_080_QB4, { "QB4", "asterix.048_V1_29_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_29_080_QB2, { "QB2", "asterix.048_V1_29_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_29_080_QB1, { "QB1", "asterix.048_V1_29_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_29_080_QC4, { "QC4", "asterix.048_V1_29_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_29_080_QC2, { "QC2", "asterix.048_V1_29_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_29_080_QC1, { "QC1", "asterix.048_V1_29_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_29_080_QD4, { "QD4", "asterix.048_V1_29_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_29_080_QD2, { "QD2", "asterix.048_V1_29_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_29_080_QD1, { "QD1", "asterix.048_V1_29_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_080_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_29_090, { "090, Flight Level in Binary Representation", "asterix.048_V1_29_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_090_V, { "V", "asterix.048_V1_29_090_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_090_V), 0x80, NULL, HFILL } }, { &hf_048_V1_29_090_G, { "G", "asterix.048_V1_29_090_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_090_G), 0x40, NULL, HFILL } }, { &hf_048_V1_29_090_FL, { "FL, [FL]", "asterix.048_V1_29_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.048_V1_29_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_100_V, { "V", "asterix.048_V1_29_100_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_V), 0x80, NULL, HFILL } }, { &hf_048_V1_29_100_G, { "G", "asterix.048_V1_29_100_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_G), 0x40, NULL, HFILL } }, { &hf_048_V1_29_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.048_V1_29_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_29_100_QC1, { "QC1", "asterix.048_V1_29_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_29_100_QA1, { "QA1", "asterix.048_V1_29_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_29_100_QC2, { "QC2", "asterix.048_V1_29_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QC2), 0x02, NULL, HFILL } }, { &hf_048_V1_29_100_QA2, { "QA2", "asterix.048_V1_29_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QA2), 0x01, NULL, HFILL } }, { &hf_048_V1_29_100_QC4, { "QC4", "asterix.048_V1_29_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QC4), 0x80, NULL, HFILL } }, { &hf_048_V1_29_100_QA4, { "QA4", "asterix.048_V1_29_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QA4), 0x40, NULL, HFILL } }, { &hf_048_V1_29_100_QB1, { "QB1", "asterix.048_V1_29_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QB1), 0x20, NULL, HFILL } }, { &hf_048_V1_29_100_QD1, { "QD1", "asterix.048_V1_29_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QD1), 0x10, NULL, HFILL } }, { &hf_048_V1_29_100_QB2, { "QB2", "asterix.048_V1_29_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QB2), 0x08, NULL, HFILL } }, { &hf_048_V1_29_100_QD2, { "QD2", "asterix.048_V1_29_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QD2), 0x04, NULL, HFILL } }, { &hf_048_V1_29_100_QB4, { "QB4", "asterix.048_V1_29_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QB4), 0x02, NULL, HFILL } }, { &hf_048_V1_29_100_QD4, { "QD4", "asterix.048_V1_29_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_100_QD4), 0x01, NULL, HFILL } }, { &hf_048_V1_29_110, { "110, Height Measured by a 3D Radar", "asterix.048_V1_29_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_110_3DH, { "3DH, 3D Height, in Binary Notation. Negative Values Are Expressed in Two's Complement, [ft]", "asterix.048_V1_29_110_3DH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_120, { "120, Radial Doppler Speed", "asterix.048_V1_29_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_120_CAL, { "CAL, Calculated Doppler Speed", "asterix.048_V1_29_120_CAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_120_CAL_D, { "D", "asterix.048_V1_29_120_CAL_D", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_120_CAL_D), 0x80, NULL, HFILL } }, { &hf_048_V1_29_120_CAL_CAL, { "CAL, Calculated Doppler Speed, Coded in Two's Complement, [m/s]", "asterix.048_V1_29_120_CAL_CAL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_120_RDS, { "RDS, Raw Doppler Speed", "asterix.048_V1_29_120_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_120_RDS_DOP, { "DOP, Doppler Speed, [m/s]", "asterix.048_V1_29_120_RDS_DOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_120_RDS_AMB, { "AMB, Ambiguity Range, [m/s]", "asterix.048_V1_29_120_RDS_AMB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_120_RDS_FRQ, { "FRQ, Transmitter Frequency, [MHz]", "asterix.048_V1_29_120_RDS_FRQ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130, { "130, Radar Plot Characteristics", "asterix.048_V1_29_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_SRL, { "SRL, SSR Plot Runlength", "asterix.048_V1_29_130_SRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_SRL_VALUE, { "SSR Plot Runlength, [°]", "asterix.048_V1_29_130_SRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_SRR, { "SRR, Number of Received Replies for (M)SSR", "asterix.048_V1_29_130_SRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_SRR_VALUE, { "Number of Received Replies for (M)SSR", "asterix.048_V1_29_130_SRR_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_SAM, { "SAM, Amplitude of (M)SSR Reply", "asterix.048_V1_29_130_SAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_SAM_VALUE, { "Amplitude of (M)SSR Reply, [dBm]", "asterix.048_V1_29_130_SAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_PRL, { "PRL, Primary Plot Runlength", "asterix.048_V1_29_130_PRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_PRL_VALUE, { "Primary Plot Runlength, [°]", "asterix.048_V1_29_130_PRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_PAM, { "PAM, Amplitude of Primary Plot", "asterix.048_V1_29_130_PAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_PAM_VALUE, { "Amplitude of Primary Plot, [dBm]", "asterix.048_V1_29_130_PAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_RPD, { "RPD, Difference in Range Between PSR and SSR Plot", "asterix.048_V1_29_130_RPD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_RPD_VALUE, { "Difference in Range Between PSR and SSR Plot, [NM]", "asterix.048_V1_29_130_RPD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_APD, { "APD, Difference in Azimuth Between PSR and SSR Plot", "asterix.048_V1_29_130_APD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_130_APD_VALUE, { "Difference in Azimuth Between PSR and SSR Plot, [°]", "asterix.048_V1_29_130_APD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_140, { "140, Time of Day", "asterix.048_V1_29_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_140_VALUE, { "Time of Day, [s]", "asterix.048_V1_29_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_161, { "161, Track Number", "asterix.048_V1_29_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_161_TRN, { "TRN, Track Number", "asterix.048_V1_29_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_29_170, { "170, Track Status", "asterix.048_V1_29_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_170_CNF, { "CNF, Confirmed Vs. Tentative Track", "asterix.048_V1_29_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_CNF), 0x80, NULL, HFILL } }, { &hf_048_V1_29_170_RAD, { "RAD, Type of Sensor(s) Maintaining Track", "asterix.048_V1_29_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_RAD), 0x60, NULL, HFILL } }, { &hf_048_V1_29_170_DOU, { "DOU, Signals Level of Confidence in Plot to Track Association Process", "asterix.048_V1_29_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_DOU), 0x10, NULL, HFILL } }, { &hf_048_V1_29_170_MAH, { "MAH, Manoeuvre Detection in Horizontal Sense", "asterix.048_V1_29_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_MAH), 0x08, NULL, HFILL } }, { &hf_048_V1_29_170_CDM, { "CDM, Climbing / Descending Mode", "asterix.048_V1_29_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_CDM), 0x06, NULL, HFILL } }, { &hf_048_V1_29_170_TRE, { "TRE, Signal for End_of_Track", "asterix.048_V1_29_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_TRE), 0x80, NULL, HFILL } }, { &hf_048_V1_29_170_GHO, { "GHO, Ghost Vs. True Target", "asterix.048_V1_29_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_GHO), 0x40, NULL, HFILL } }, { &hf_048_V1_29_170_SUP, { "SUP, Track Maintained with Track Information from Neighbouring Node B on the Cluster, or Network", "asterix.048_V1_29_170_SUP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_SUP), 0x20, NULL, HFILL } }, { &hf_048_V1_29_170_TCC, { "TCC, Type of Plot Coordinate Transformation Mechanism:", "asterix.048_V1_29_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_170_TCC), 0x10, NULL, HFILL } }, { &hf_048_V1_29_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.048_V1_29_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.048_V1_29_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.048_V1_29_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_210, { "210, Track Quality", "asterix.048_V1_29_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_210_SIGX, { "SIGX, Sigma (X)) Standard Deviation on the Horizontal Axis of the Local Grid System, [NM]", "asterix.048_V1_29_210_SIGX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_210_SIGY, { "SIGY, Sigma (Y)) Standard Deviation on the Vertical Axis of the Local Grid System, [NM]", "asterix.048_V1_29_210_SIGY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_210_SIGV, { "SIGV, Sigma (V)) Standard Deviation on the Groundspeed Within the Local Grid System, [NM/s]", "asterix.048_V1_29_210_SIGV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_210_SIGH, { "SIGH, Sigma (H)) Standard Deviation on the Heading Within the Local Grid System, [°]", "asterix.048_V1_29_210_SIGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_220, { "220, Aircraft Address", "asterix.048_V1_29_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_220_VALUE, { "Aircraft Address", "asterix.048_V1_29_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.048_V1_29_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_230_COM, { "COM, Communications Capability of the Transponder", "asterix.048_V1_29_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_230_COM), 0xe0, NULL, HFILL } }, { &hf_048_V1_29_230_STAT, { "STAT, Flight Status", "asterix.048_V1_29_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_230_STAT), 0x1c, NULL, HFILL } }, { &hf_048_V1_29_230_SI, { "SI, SI/II Transponder Capability", "asterix.048_V1_29_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_230_SI), 0x02, NULL, HFILL } }, { &hf_048_V1_29_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.048_V1_29_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_230_MSSC), 0x80, NULL, HFILL } }, { &hf_048_V1_29_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.048_V1_29_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_230_ARC), 0x40, NULL, HFILL } }, { &hf_048_V1_29_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.048_V1_29_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_29_230_AIC), 0x20, NULL, HFILL } }, { &hf_048_V1_29_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.048_V1_29_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_048_V1_29_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.048_V1_29_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_29_240, { "240, Aircraft Identification", "asterix.048_V1_29_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_240_VALUE, { "Aircraft Identification", "asterix.048_V1_29_240_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_250, { "250, BDS Register Data", "asterix.048_V1_29_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_250_MBDATA, { "MBDATA, Mode S Comm B Message Data", "asterix.048_V1_29_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.048_V1_29_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_048_V1_29_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.048_V1_29_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_29_260, { "260, ACAS Resolution Advisory Report", "asterix.048_V1_29_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.048_V1_29_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_RE, { "RE, Reserved Expansion Field", "asterix.048_V1_29_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_29_SP, { "SP, Special Purpose Field", "asterix.048_V1_29_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_010, { "010, Data Source Identifier", "asterix.048_V1_30_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_010_SAC, { "SAC, System Area Code", "asterix.048_V1_30_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_010_SIC, { "SIC, System Identification Code", "asterix.048_V1_30_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_020, { "020, Target Report Descriptor", "asterix.048_V1_30_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_020_TYP, { "TYP", "asterix.048_V1_30_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_TYP), 0xe0, NULL, HFILL } }, { &hf_048_V1_30_020_SIM, { "SIM", "asterix.048_V1_30_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_SIM), 0x10, NULL, HFILL } }, { &hf_048_V1_30_020_RDP, { "RDP", "asterix.048_V1_30_020_RDP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_RDP), 0x08, NULL, HFILL } }, { &hf_048_V1_30_020_SPI, { "SPI", "asterix.048_V1_30_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_SPI), 0x04, NULL, HFILL } }, { &hf_048_V1_30_020_RAB, { "RAB", "asterix.048_V1_30_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_RAB), 0x02, NULL, HFILL } }, { &hf_048_V1_30_020_TST, { "TST", "asterix.048_V1_30_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_TST), 0x80, NULL, HFILL } }, { &hf_048_V1_30_020_ERR, { "ERR", "asterix.048_V1_30_020_ERR", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_ERR), 0x40, NULL, HFILL } }, { &hf_048_V1_30_020_XPP, { "XPP", "asterix.048_V1_30_020_XPP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_XPP), 0x20, NULL, HFILL } }, { &hf_048_V1_30_020_ME, { "ME", "asterix.048_V1_30_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_ME), 0x10, NULL, HFILL } }, { &hf_048_V1_30_020_MI, { "MI", "asterix.048_V1_30_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_MI), 0x08, NULL, HFILL } }, { &hf_048_V1_30_020_FOEFRI, { "FOEFRI", "asterix.048_V1_30_020_FOEFRI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_020_FOEFRI), 0x06, NULL, HFILL } }, { &hf_048_V1_30_030, { "030, Warning/Error Conditions and Target Classification", "asterix.048_V1_30_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_030_Subitem, { "Subitem, Subitem", "asterix.048_V1_30_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_048_V1_30_040, { "040, Measured Position in Polar Co-ordinates", "asterix.048_V1_30_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_040_RHO, { "RHO, [NM]", "asterix.048_V1_30_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_040_THETA, { "THETA, [°]", "asterix.048_V1_30_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.048_V1_30_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_042_X, { "X, X-Component, [NM]", "asterix.048_V1_30_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_042_Y, { "Y, X-Component, [NM]", "asterix.048_V1_30_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_050, { "050, Mode-2 Code in Octal Representation", "asterix.048_V1_30_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_050_V, { "V", "asterix.048_V1_30_050_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_050_V), 0x80, NULL, HFILL } }, { &hf_048_V1_30_050_G, { "G", "asterix.048_V1_30_050_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_050_G), 0x40, NULL, HFILL } }, { &hf_048_V1_30_050_L, { "L", "asterix.048_V1_30_050_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_050_L), 0x20, NULL, HFILL } }, { &hf_048_V1_30_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.048_V1_30_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_30_055, { "055, Mode-1 Code in Octal Representation", "asterix.048_V1_30_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_055_V, { "V", "asterix.048_V1_30_055_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_055_V), 0x80, NULL, HFILL } }, { &hf_048_V1_30_055_G, { "G", "asterix.048_V1_30_055_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_055_G), 0x40, NULL, HFILL } }, { &hf_048_V1_30_055_L, { "L", "asterix.048_V1_30_055_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_055_L), 0x20, NULL, HFILL } }, { &hf_048_V1_30_055_MODE1, { "MODE1, Mode-1 Code", "asterix.048_V1_30_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_048_V1_30_060, { "060, Mode-2 Code Confidence Indicator", "asterix.048_V1_30_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_060_QA4, { "QA4", "asterix.048_V1_30_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_30_060_QA2, { "QA2", "asterix.048_V1_30_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_30_060_QA1, { "QA1", "asterix.048_V1_30_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_30_060_QB4, { "QB4", "asterix.048_V1_30_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_30_060_QB2, { "QB2", "asterix.048_V1_30_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_30_060_QB1, { "QB1", "asterix.048_V1_30_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_30_060_QC4, { "QC4", "asterix.048_V1_30_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_30_060_QC2, { "QC2", "asterix.048_V1_30_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_30_060_QC1, { "QC1", "asterix.048_V1_30_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_30_060_QD4, { "QD4", "asterix.048_V1_30_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_30_060_QD2, { "QD2", "asterix.048_V1_30_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_30_060_QD1, { "QD1", "asterix.048_V1_30_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_060_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_30_065, { "065, Mode-1 Code Confidence Indicator", "asterix.048_V1_30_065", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_065_QA4, { "QA4", "asterix.048_V1_30_065_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_065_QA4), 0x10, NULL, HFILL } }, { &hf_048_V1_30_065_QA2, { "QA2", "asterix.048_V1_30_065_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_065_QA2), 0x08, NULL, HFILL } }, { &hf_048_V1_30_065_QA1, { "QA1", "asterix.048_V1_30_065_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_065_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_30_065_QB2, { "QB2", "asterix.048_V1_30_065_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_065_QB2), 0x02, NULL, HFILL } }, { &hf_048_V1_30_065_QB1, { "QB1", "asterix.048_V1_30_065_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_065_QB1), 0x01, NULL, HFILL } }, { &hf_048_V1_30_070, { "070, Mode-3/A Code in Octal Representation", "asterix.048_V1_30_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_070_V, { "V", "asterix.048_V1_30_070_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_070_V), 0x80, NULL, HFILL } }, { &hf_048_V1_30_070_G, { "G", "asterix.048_V1_30_070_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_070_G), 0x40, NULL, HFILL } }, { &hf_048_V1_30_070_L, { "L", "asterix.048_V1_30_070_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_070_L), 0x20, NULL, HFILL } }, { &hf_048_V1_30_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.048_V1_30_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_30_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.048_V1_30_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_080_QA4, { "QA4", "asterix.048_V1_30_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_30_080_QA2, { "QA2", "asterix.048_V1_30_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_30_080_QA1, { "QA1", "asterix.048_V1_30_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_30_080_QB4, { "QB4", "asterix.048_V1_30_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_30_080_QB2, { "QB2", "asterix.048_V1_30_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_30_080_QB1, { "QB1", "asterix.048_V1_30_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_30_080_QC4, { "QC4", "asterix.048_V1_30_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_30_080_QC2, { "QC2", "asterix.048_V1_30_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_30_080_QC1, { "QC1", "asterix.048_V1_30_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_30_080_QD4, { "QD4", "asterix.048_V1_30_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_30_080_QD2, { "QD2", "asterix.048_V1_30_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_30_080_QD1, { "QD1", "asterix.048_V1_30_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_080_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_30_090, { "090, Flight Level in Binary Representation", "asterix.048_V1_30_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_090_V, { "V", "asterix.048_V1_30_090_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_090_V), 0x80, NULL, HFILL } }, { &hf_048_V1_30_090_G, { "G", "asterix.048_V1_30_090_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_090_G), 0x40, NULL, HFILL } }, { &hf_048_V1_30_090_FL, { "FL, [FL]", "asterix.048_V1_30_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.048_V1_30_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_100_V, { "V", "asterix.048_V1_30_100_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_V), 0x80, NULL, HFILL } }, { &hf_048_V1_30_100_G, { "G", "asterix.048_V1_30_100_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_G), 0x40, NULL, HFILL } }, { &hf_048_V1_30_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.048_V1_30_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_30_100_QC1, { "QC1", "asterix.048_V1_30_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_30_100_QA1, { "QA1", "asterix.048_V1_30_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_30_100_QC2, { "QC2", "asterix.048_V1_30_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QC2), 0x02, NULL, HFILL } }, { &hf_048_V1_30_100_QA2, { "QA2", "asterix.048_V1_30_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QA2), 0x01, NULL, HFILL } }, { &hf_048_V1_30_100_QC4, { "QC4", "asterix.048_V1_30_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QC4), 0x80, NULL, HFILL } }, { &hf_048_V1_30_100_QA4, { "QA4", "asterix.048_V1_30_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QA4), 0x40, NULL, HFILL } }, { &hf_048_V1_30_100_QB1, { "QB1", "asterix.048_V1_30_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QB1), 0x20, NULL, HFILL } }, { &hf_048_V1_30_100_QD1, { "QD1", "asterix.048_V1_30_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QD1), 0x10, NULL, HFILL } }, { &hf_048_V1_30_100_QB2, { "QB2", "asterix.048_V1_30_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QB2), 0x08, NULL, HFILL } }, { &hf_048_V1_30_100_QD2, { "QD2", "asterix.048_V1_30_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QD2), 0x04, NULL, HFILL } }, { &hf_048_V1_30_100_QB4, { "QB4", "asterix.048_V1_30_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QB4), 0x02, NULL, HFILL } }, { &hf_048_V1_30_100_QD4, { "QD4", "asterix.048_V1_30_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_100_QD4), 0x01, NULL, HFILL } }, { &hf_048_V1_30_110, { "110, Height Measured by a 3D Radar", "asterix.048_V1_30_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_110_3DH, { "3DH, 3D Height, in Binary Notation. Negative Values Are Expressed in Two's Complement, [ft]", "asterix.048_V1_30_110_3DH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_120, { "120, Radial Doppler Speed", "asterix.048_V1_30_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_120_CAL, { "CAL, Calculated Doppler Speed", "asterix.048_V1_30_120_CAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_120_CAL_D, { "D", "asterix.048_V1_30_120_CAL_D", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_120_CAL_D), 0x80, NULL, HFILL } }, { &hf_048_V1_30_120_CAL_CAL, { "CAL, Calculated Doppler Speed, Coded in Two's Complement, [m/s]", "asterix.048_V1_30_120_CAL_CAL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_120_RDS, { "RDS, Raw Doppler Speed", "asterix.048_V1_30_120_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_120_RDS_DOP, { "DOP, Doppler Speed, [m/s]", "asterix.048_V1_30_120_RDS_DOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_120_RDS_AMB, { "AMB, Ambiguity Range, [m/s]", "asterix.048_V1_30_120_RDS_AMB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_120_RDS_FRQ, { "FRQ, Transmitter Frequency, [MHz]", "asterix.048_V1_30_120_RDS_FRQ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130, { "130, Radar Plot Characteristics", "asterix.048_V1_30_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_SRL, { "SRL, SSR Plot Runlength", "asterix.048_V1_30_130_SRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_SRL_VALUE, { "SSR Plot Runlength, [°]", "asterix.048_V1_30_130_SRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_SRR, { "SRR, Number of Received Replies for (M)SSR", "asterix.048_V1_30_130_SRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_SRR_VALUE, { "Number of Received Replies for (M)SSR", "asterix.048_V1_30_130_SRR_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_SAM, { "SAM, Amplitude of (M)SSR Reply", "asterix.048_V1_30_130_SAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_SAM_VALUE, { "Amplitude of (M)SSR Reply, [dBm]", "asterix.048_V1_30_130_SAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_PRL, { "PRL, Primary Plot Runlength", "asterix.048_V1_30_130_PRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_PRL_VALUE, { "Primary Plot Runlength, [°]", "asterix.048_V1_30_130_PRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_PAM, { "PAM, Amplitude of Primary Plot", "asterix.048_V1_30_130_PAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_PAM_VALUE, { "Amplitude of Primary Plot, [dBm]", "asterix.048_V1_30_130_PAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_RPD, { "RPD, Difference in Range Between PSR and SSR Plot", "asterix.048_V1_30_130_RPD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_RPD_VALUE, { "Difference in Range Between PSR and SSR Plot, [NM]", "asterix.048_V1_30_130_RPD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_APD, { "APD, Difference in Azimuth Between PSR and SSR Plot", "asterix.048_V1_30_130_APD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_130_APD_VALUE, { "Difference in Azimuth Between PSR and SSR Plot, [°]", "asterix.048_V1_30_130_APD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_140, { "140, Time of Day", "asterix.048_V1_30_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_140_VALUE, { "Time of Day, [s]", "asterix.048_V1_30_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_161, { "161, Track Number", "asterix.048_V1_30_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_161_TRN, { "TRN, Track Number", "asterix.048_V1_30_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_30_170, { "170, Track Status", "asterix.048_V1_30_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_170_CNF, { "CNF, Confirmed Vs. Tentative Track", "asterix.048_V1_30_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_CNF), 0x80, NULL, HFILL } }, { &hf_048_V1_30_170_RAD, { "RAD, Type of Sensor(s) Maintaining Track", "asterix.048_V1_30_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_RAD), 0x60, NULL, HFILL } }, { &hf_048_V1_30_170_DOU, { "DOU, Signals Level of Confidence in Plot to Track Association Process", "asterix.048_V1_30_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_DOU), 0x10, NULL, HFILL } }, { &hf_048_V1_30_170_MAH, { "MAH, Manoeuvre Detection in Horizontal Sense", "asterix.048_V1_30_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_MAH), 0x08, NULL, HFILL } }, { &hf_048_V1_30_170_CDM, { "CDM, Climbing / Descending Mode", "asterix.048_V1_30_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_CDM), 0x06, NULL, HFILL } }, { &hf_048_V1_30_170_TRE, { "TRE, Signal for End_of_Track", "asterix.048_V1_30_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_TRE), 0x80, NULL, HFILL } }, { &hf_048_V1_30_170_GHO, { "GHO, Ghost Vs. True Target", "asterix.048_V1_30_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_GHO), 0x40, NULL, HFILL } }, { &hf_048_V1_30_170_SUP, { "SUP, Track Maintained with Track Information from Neighbouring Node B on the Cluster, or Network", "asterix.048_V1_30_170_SUP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_SUP), 0x20, NULL, HFILL } }, { &hf_048_V1_30_170_TCC, { "TCC, Type of Plot Coordinate Transformation Mechanism:", "asterix.048_V1_30_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_170_TCC), 0x10, NULL, HFILL } }, { &hf_048_V1_30_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.048_V1_30_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.048_V1_30_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.048_V1_30_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_210, { "210, Track Quality", "asterix.048_V1_30_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_210_SIGX, { "SIGX, Sigma (X)) Standard Deviation on the Horizontal Axis of the Local Grid System, [NM]", "asterix.048_V1_30_210_SIGX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_210_SIGY, { "SIGY, Sigma (Y)) Standard Deviation on the Vertical Axis of the Local Grid System, [NM]", "asterix.048_V1_30_210_SIGY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_210_SIGV, { "SIGV, Sigma (V)) Standard Deviation on the Groundspeed Within the Local Grid System, [NM/s]", "asterix.048_V1_30_210_SIGV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_210_SIGH, { "SIGH, Sigma (H)) Standard Deviation on the Heading Within the Local Grid System, [°]", "asterix.048_V1_30_210_SIGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_220, { "220, Aircraft Address", "asterix.048_V1_30_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_220_VALUE, { "Aircraft Address", "asterix.048_V1_30_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.048_V1_30_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_230_COM, { "COM, Communications Capability of the Transponder", "asterix.048_V1_30_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_230_COM), 0xe0, NULL, HFILL } }, { &hf_048_V1_30_230_STAT, { "STAT, Flight Status", "asterix.048_V1_30_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_230_STAT), 0x1c, NULL, HFILL } }, { &hf_048_V1_30_230_SI, { "SI, SI/II Transponder Capability", "asterix.048_V1_30_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_230_SI), 0x02, NULL, HFILL } }, { &hf_048_V1_30_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.048_V1_30_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_230_MSSC), 0x80, NULL, HFILL } }, { &hf_048_V1_30_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.048_V1_30_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_230_ARC), 0x40, NULL, HFILL } }, { &hf_048_V1_30_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.048_V1_30_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_30_230_AIC), 0x20, NULL, HFILL } }, { &hf_048_V1_30_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.048_V1_30_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_048_V1_30_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.048_V1_30_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_30_240, { "240, Aircraft Identification", "asterix.048_V1_30_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_240_VALUE, { "Aircraft Identification", "asterix.048_V1_30_240_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_250, { "250, BDS Register Data", "asterix.048_V1_30_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_250_MBDATA, { "MBDATA, Mode S Comm B Message Data", "asterix.048_V1_30_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.048_V1_30_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_048_V1_30_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.048_V1_30_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_30_260, { "260, ACAS Resolution Advisory Report", "asterix.048_V1_30_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.048_V1_30_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_RE, { "RE, Reserved Expansion Field", "asterix.048_V1_30_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_30_SP, { "SP, Special Purpose Field", "asterix.048_V1_30_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_010, { "010, Data Source Identifier", "asterix.048_V1_31_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_010_SAC, { "SAC, System Area Code", "asterix.048_V1_31_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_010_SIC, { "SIC, System Identification Code", "asterix.048_V1_31_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_020, { "020, Target Report Descriptor", "asterix.048_V1_31_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_020_TYP, { "TYP", "asterix.048_V1_31_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_TYP), 0xe0, NULL, HFILL } }, { &hf_048_V1_31_020_SIM, { "SIM", "asterix.048_V1_31_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_SIM), 0x10, NULL, HFILL } }, { &hf_048_V1_31_020_RDP, { "RDP", "asterix.048_V1_31_020_RDP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_RDP), 0x08, NULL, HFILL } }, { &hf_048_V1_31_020_SPI, { "SPI", "asterix.048_V1_31_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_SPI), 0x04, NULL, HFILL } }, { &hf_048_V1_31_020_RAB, { "RAB", "asterix.048_V1_31_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_RAB), 0x02, NULL, HFILL } }, { &hf_048_V1_31_020_TST, { "TST", "asterix.048_V1_31_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_TST), 0x80, NULL, HFILL } }, { &hf_048_V1_31_020_ERR, { "ERR", "asterix.048_V1_31_020_ERR", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_ERR), 0x40, NULL, HFILL } }, { &hf_048_V1_31_020_XPP, { "XPP", "asterix.048_V1_31_020_XPP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_XPP), 0x20, NULL, HFILL } }, { &hf_048_V1_31_020_ME, { "ME", "asterix.048_V1_31_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_ME), 0x10, NULL, HFILL } }, { &hf_048_V1_31_020_MI, { "MI", "asterix.048_V1_31_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_MI), 0x08, NULL, HFILL } }, { &hf_048_V1_31_020_FOEFRI, { "FOEFRI", "asterix.048_V1_31_020_FOEFRI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_020_FOEFRI), 0x06, NULL, HFILL } }, { &hf_048_V1_31_020_ADSB, { "ADSB, On-Site ADS-B Information", "asterix.048_V1_31_020_ADSB", FT_UINT8, BASE_DEC, NULL, 0xc0, NULL, HFILL } }, { &hf_048_V1_31_020_SCN, { "SCN, Surveillance Cluster Network Information", "asterix.048_V1_31_020_SCN", FT_UINT8, BASE_DEC, NULL, 0x30, NULL, HFILL } }, { &hf_048_V1_31_020_PAI, { "PAI, Passive Acquisition Interface Information", "asterix.048_V1_31_020_PAI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_048_V1_31_030, { "030, Warning/Error Conditions and Target Classification", "asterix.048_V1_31_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_030_Subitem, { "Subitem, Subitem", "asterix.048_V1_31_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_048_V1_31_040, { "040, Measured Position in Polar Co-ordinates", "asterix.048_V1_31_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_040_RHO, { "RHO, [NM]", "asterix.048_V1_31_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_040_THETA, { "THETA, [°]", "asterix.048_V1_31_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.048_V1_31_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_042_X, { "X, X-Component, [NM]", "asterix.048_V1_31_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_042_Y, { "Y, X-Component, [NM]", "asterix.048_V1_31_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_050, { "050, Mode-2 Code in Octal Representation", "asterix.048_V1_31_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_050_V, { "V", "asterix.048_V1_31_050_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_050_V), 0x80, NULL, HFILL } }, { &hf_048_V1_31_050_G, { "G", "asterix.048_V1_31_050_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_050_G), 0x40, NULL, HFILL } }, { &hf_048_V1_31_050_L, { "L", "asterix.048_V1_31_050_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_050_L), 0x20, NULL, HFILL } }, { &hf_048_V1_31_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.048_V1_31_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_31_055, { "055, Mode-1 Code in Octal Representation", "asterix.048_V1_31_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_055_V, { "V", "asterix.048_V1_31_055_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_055_V), 0x80, NULL, HFILL } }, { &hf_048_V1_31_055_G, { "G", "asterix.048_V1_31_055_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_055_G), 0x40, NULL, HFILL } }, { &hf_048_V1_31_055_L, { "L", "asterix.048_V1_31_055_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_055_L), 0x20, NULL, HFILL } }, { &hf_048_V1_31_055_MODE1, { "MODE1, Mode-1 Code", "asterix.048_V1_31_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_048_V1_31_060, { "060, Mode-2 Code Confidence Indicator", "asterix.048_V1_31_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_060_QA4, { "QA4", "asterix.048_V1_31_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_31_060_QA2, { "QA2", "asterix.048_V1_31_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_31_060_QA1, { "QA1", "asterix.048_V1_31_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_31_060_QB4, { "QB4", "asterix.048_V1_31_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_31_060_QB2, { "QB2", "asterix.048_V1_31_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_31_060_QB1, { "QB1", "asterix.048_V1_31_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_31_060_QC4, { "QC4", "asterix.048_V1_31_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_31_060_QC2, { "QC2", "asterix.048_V1_31_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_31_060_QC1, { "QC1", "asterix.048_V1_31_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_31_060_QD4, { "QD4", "asterix.048_V1_31_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_31_060_QD2, { "QD2", "asterix.048_V1_31_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_31_060_QD1, { "QD1", "asterix.048_V1_31_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_060_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_31_065, { "065, Mode-1 Code Confidence Indicator", "asterix.048_V1_31_065", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_065_QA4, { "QA4", "asterix.048_V1_31_065_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_065_QA4), 0x10, NULL, HFILL } }, { &hf_048_V1_31_065_QA2, { "QA2", "asterix.048_V1_31_065_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_065_QA2), 0x08, NULL, HFILL } }, { &hf_048_V1_31_065_QA1, { "QA1", "asterix.048_V1_31_065_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_065_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_31_065_QB2, { "QB2", "asterix.048_V1_31_065_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_065_QB2), 0x02, NULL, HFILL } }, { &hf_048_V1_31_065_QB1, { "QB1", "asterix.048_V1_31_065_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_065_QB1), 0x01, NULL, HFILL } }, { &hf_048_V1_31_070, { "070, Mode-3/A Code in Octal Representation", "asterix.048_V1_31_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_070_V, { "V", "asterix.048_V1_31_070_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_070_V), 0x80, NULL, HFILL } }, { &hf_048_V1_31_070_G, { "G", "asterix.048_V1_31_070_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_070_G), 0x40, NULL, HFILL } }, { &hf_048_V1_31_070_L, { "L", "asterix.048_V1_31_070_L", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_070_L), 0x20, NULL, HFILL } }, { &hf_048_V1_31_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.048_V1_31_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_31_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.048_V1_31_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_080_QA4, { "QA4", "asterix.048_V1_31_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QA4), 0x08, NULL, HFILL } }, { &hf_048_V1_31_080_QA2, { "QA2", "asterix.048_V1_31_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QA2), 0x04, NULL, HFILL } }, { &hf_048_V1_31_080_QA1, { "QA1", "asterix.048_V1_31_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QA1), 0x02, NULL, HFILL } }, { &hf_048_V1_31_080_QB4, { "QB4", "asterix.048_V1_31_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QB4), 0x01, NULL, HFILL } }, { &hf_048_V1_31_080_QB2, { "QB2", "asterix.048_V1_31_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QB2), 0x80, NULL, HFILL } }, { &hf_048_V1_31_080_QB1, { "QB1", "asterix.048_V1_31_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QB1), 0x40, NULL, HFILL } }, { &hf_048_V1_31_080_QC4, { "QC4", "asterix.048_V1_31_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QC4), 0x20, NULL, HFILL } }, { &hf_048_V1_31_080_QC2, { "QC2", "asterix.048_V1_31_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QC2), 0x10, NULL, HFILL } }, { &hf_048_V1_31_080_QC1, { "QC1", "asterix.048_V1_31_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_31_080_QD4, { "QD4", "asterix.048_V1_31_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QD4), 0x04, NULL, HFILL } }, { &hf_048_V1_31_080_QD2, { "QD2", "asterix.048_V1_31_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QD2), 0x02, NULL, HFILL } }, { &hf_048_V1_31_080_QD1, { "QD1", "asterix.048_V1_31_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_080_QD1), 0x01, NULL, HFILL } }, { &hf_048_V1_31_090, { "090, Flight Level in Binary Representation", "asterix.048_V1_31_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_090_V, { "V", "asterix.048_V1_31_090_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_090_V), 0x80, NULL, HFILL } }, { &hf_048_V1_31_090_G, { "G", "asterix.048_V1_31_090_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_090_G), 0x40, NULL, HFILL } }, { &hf_048_V1_31_090_FL, { "FL, [FL]", "asterix.048_V1_31_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.048_V1_31_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_100_V, { "V", "asterix.048_V1_31_100_V", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_V), 0x80, NULL, HFILL } }, { &hf_048_V1_31_100_G, { "G", "asterix.048_V1_31_100_G", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_G), 0x40, NULL, HFILL } }, { &hf_048_V1_31_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.048_V1_31_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_31_100_QC1, { "QC1", "asterix.048_V1_31_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QC1), 0x08, NULL, HFILL } }, { &hf_048_V1_31_100_QA1, { "QA1", "asterix.048_V1_31_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QA1), 0x04, NULL, HFILL } }, { &hf_048_V1_31_100_QC2, { "QC2", "asterix.048_V1_31_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QC2), 0x02, NULL, HFILL } }, { &hf_048_V1_31_100_QA2, { "QA2", "asterix.048_V1_31_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QA2), 0x01, NULL, HFILL } }, { &hf_048_V1_31_100_QC4, { "QC4", "asterix.048_V1_31_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QC4), 0x80, NULL, HFILL } }, { &hf_048_V1_31_100_QA4, { "QA4", "asterix.048_V1_31_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QA4), 0x40, NULL, HFILL } }, { &hf_048_V1_31_100_QB1, { "QB1", "asterix.048_V1_31_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QB1), 0x20, NULL, HFILL } }, { &hf_048_V1_31_100_QD1, { "QD1", "asterix.048_V1_31_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QD1), 0x10, NULL, HFILL } }, { &hf_048_V1_31_100_QB2, { "QB2", "asterix.048_V1_31_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QB2), 0x08, NULL, HFILL } }, { &hf_048_V1_31_100_QD2, { "QD2", "asterix.048_V1_31_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QD2), 0x04, NULL, HFILL } }, { &hf_048_V1_31_100_QB4, { "QB4", "asterix.048_V1_31_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QB4), 0x02, NULL, HFILL } }, { &hf_048_V1_31_100_QD4, { "QD4", "asterix.048_V1_31_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_100_QD4), 0x01, NULL, HFILL } }, { &hf_048_V1_31_110, { "110, Height Measured by a 3D Radar", "asterix.048_V1_31_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_110_3DH, { "3DH, 3D Height, in Binary Notation. Negative Values Are Expressed in Two's Complement, [ft]", "asterix.048_V1_31_110_3DH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_120, { "120, Radial Doppler Speed", "asterix.048_V1_31_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_120_CAL, { "CAL, Calculated Doppler Speed", "asterix.048_V1_31_120_CAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_120_CAL_D, { "D", "asterix.048_V1_31_120_CAL_D", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_120_CAL_D), 0x80, NULL, HFILL } }, { &hf_048_V1_31_120_CAL_CAL, { "CAL, Calculated Doppler Speed, Coded in Two's Complement, [m/s]", "asterix.048_V1_31_120_CAL_CAL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_120_RDS, { "RDS, Raw Doppler Speed", "asterix.048_V1_31_120_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_120_RDS_DOP, { "DOP, Doppler Speed, [m/s]", "asterix.048_V1_31_120_RDS_DOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_120_RDS_AMB, { "AMB, Ambiguity Range, [m/s]", "asterix.048_V1_31_120_RDS_AMB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_120_RDS_FRQ, { "FRQ, Transmitter Frequency, [MHz]", "asterix.048_V1_31_120_RDS_FRQ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130, { "130, Radar Plot Characteristics", "asterix.048_V1_31_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_SRL, { "SRL, SSR Plot Runlength", "asterix.048_V1_31_130_SRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_SRL_VALUE, { "SSR Plot Runlength, [°]", "asterix.048_V1_31_130_SRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_SRR, { "SRR, Number of Received Replies for (M)SSR", "asterix.048_V1_31_130_SRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_SRR_VALUE, { "Number of Received Replies for (M)SSR", "asterix.048_V1_31_130_SRR_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_SAM, { "SAM, Amplitude of (M)SSR Reply", "asterix.048_V1_31_130_SAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_SAM_VALUE, { "Amplitude of (M)SSR Reply, [dBm]", "asterix.048_V1_31_130_SAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_PRL, { "PRL, Primary Plot Runlength", "asterix.048_V1_31_130_PRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_PRL_VALUE, { "Primary Plot Runlength, [°]", "asterix.048_V1_31_130_PRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_PAM, { "PAM, Amplitude of Primary Plot", "asterix.048_V1_31_130_PAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_PAM_VALUE, { "Amplitude of Primary Plot, [dBm]", "asterix.048_V1_31_130_PAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_RPD, { "RPD, Difference in Range Between PSR and SSR Plot", "asterix.048_V1_31_130_RPD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_RPD_VALUE, { "Difference in Range Between PSR and SSR Plot, [NM]", "asterix.048_V1_31_130_RPD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_APD, { "APD, Difference in Azimuth Between PSR and SSR Plot", "asterix.048_V1_31_130_APD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_130_APD_VALUE, { "Difference in Azimuth Between PSR and SSR Plot, [°]", "asterix.048_V1_31_130_APD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_140, { "140, Time of Day", "asterix.048_V1_31_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_140_VALUE, { "Time of Day, [s]", "asterix.048_V1_31_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_161, { "161, Track Number", "asterix.048_V1_31_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_161_TRN, { "TRN, Track Number", "asterix.048_V1_31_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_V1_31_170, { "170, Track Status", "asterix.048_V1_31_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_170_CNF, { "CNF, Confirmed Vs. Tentative Track", "asterix.048_V1_31_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_CNF), 0x80, NULL, HFILL } }, { &hf_048_V1_31_170_RAD, { "RAD, Type of Sensor(s) Maintaining Track", "asterix.048_V1_31_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_RAD), 0x60, NULL, HFILL } }, { &hf_048_V1_31_170_DOU, { "DOU, Signals Level of Confidence in Plot to Track Association Process", "asterix.048_V1_31_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_DOU), 0x10, NULL, HFILL } }, { &hf_048_V1_31_170_MAH, { "MAH, Manoeuvre Detection in Horizontal Sense", "asterix.048_V1_31_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_MAH), 0x08, NULL, HFILL } }, { &hf_048_V1_31_170_CDM, { "CDM, Climbing / Descending Mode", "asterix.048_V1_31_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_CDM), 0x06, NULL, HFILL } }, { &hf_048_V1_31_170_TRE, { "TRE, Signal for End_of_Track", "asterix.048_V1_31_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_TRE), 0x80, NULL, HFILL } }, { &hf_048_V1_31_170_GHO, { "GHO, Ghost Vs. True Target", "asterix.048_V1_31_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_GHO), 0x40, NULL, HFILL } }, { &hf_048_V1_31_170_SUP, { "SUP, Track Maintained with Track Information from Neighbouring Node B on the Cluster, or Network", "asterix.048_V1_31_170_SUP", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_SUP), 0x20, NULL, HFILL } }, { &hf_048_V1_31_170_TCC, { "TCC, Type of Plot Coordinate Transformation Mechanism:", "asterix.048_V1_31_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_170_TCC), 0x10, NULL, HFILL } }, { &hf_048_V1_31_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.048_V1_31_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.048_V1_31_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.048_V1_31_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_210, { "210, Track Quality", "asterix.048_V1_31_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_210_SIGX, { "SIGX, Sigma (X)) Standard Deviation on the Horizontal Axis of the Local Grid System, [NM]", "asterix.048_V1_31_210_SIGX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_210_SIGY, { "SIGY, Sigma (Y)) Standard Deviation on the Vertical Axis of the Local Grid System, [NM]", "asterix.048_V1_31_210_SIGY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_210_SIGV, { "SIGV, Sigma (V)) Standard Deviation on the Groundspeed Within the Local Grid System, [NM/s]", "asterix.048_V1_31_210_SIGV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_210_SIGH, { "SIGH, Sigma (H)) Standard Deviation on the Heading Within the Local Grid System, [°]", "asterix.048_V1_31_210_SIGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_220, { "220, Aircraft Address", "asterix.048_V1_31_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_220_VALUE, { "Aircraft Address", "asterix.048_V1_31_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.048_V1_31_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_230_COM, { "COM, Communications Capability of the Transponder", "asterix.048_V1_31_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_230_COM), 0xe0, NULL, HFILL } }, { &hf_048_V1_31_230_STAT, { "STAT, Flight Status", "asterix.048_V1_31_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_230_STAT), 0x1c, NULL, HFILL } }, { &hf_048_V1_31_230_SI, { "SI, SI/II Transponder Capability", "asterix.048_V1_31_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_230_SI), 0x02, NULL, HFILL } }, { &hf_048_V1_31_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.048_V1_31_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_230_MSSC), 0x80, NULL, HFILL } }, { &hf_048_V1_31_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.048_V1_31_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_230_ARC), 0x40, NULL, HFILL } }, { &hf_048_V1_31_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.048_V1_31_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_048_V1_31_230_AIC), 0x20, NULL, HFILL } }, { &hf_048_V1_31_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.048_V1_31_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_048_V1_31_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.048_V1_31_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_31_240, { "240, Aircraft Identification", "asterix.048_V1_31_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_240_VALUE, { "Aircraft Identification", "asterix.048_V1_31_240_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_250, { "250, BDS Register Data", "asterix.048_V1_31_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_250_MBDATA, { "MBDATA, Mode S Comm B Message Data", "asterix.048_V1_31_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.048_V1_31_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_048_V1_31_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.048_V1_31_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_V1_31_260, { "260, ACAS Resolution Advisory Report", "asterix.048_V1_31_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.048_V1_31_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_RE, { "RE, Reserved Expansion Field", "asterix.048_V1_31_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_V1_31_SP, { "SP, Special Purpose Field", "asterix.048_V1_31_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_010, { "010, Data Source Identifier", "asterix.048_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_010_SAC, { "SAC, System Area Code", "asterix.048_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_010_SIC, { "SIC, System Identification Code", "asterix.048_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_020, { "020, Target Report Descriptor", "asterix.048_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_020_TYP, { "TYP", "asterix.048_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_048_020_TYP), 0xe0, NULL, HFILL } }, { &hf_048_020_SIM, { "SIM", "asterix.048_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_048_020_SIM), 0x10, NULL, HFILL } }, { &hf_048_020_RDP, { "RDP", "asterix.048_020_RDP", FT_UINT8, BASE_DEC, VALS (valstr_048_020_RDP), 0x08, NULL, HFILL } }, { &hf_048_020_SPI, { "SPI", "asterix.048_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_048_020_SPI), 0x04, NULL, HFILL } }, { &hf_048_020_RAB, { "RAB", "asterix.048_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_048_020_RAB), 0x02, NULL, HFILL } }, { &hf_048_020_TST, { "TST", "asterix.048_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_048_020_TST), 0x80, NULL, HFILL } }, { &hf_048_020_ERR, { "ERR", "asterix.048_020_ERR", FT_UINT8, BASE_DEC, VALS (valstr_048_020_ERR), 0x40, NULL, HFILL } }, { &hf_048_020_XPP, { "XPP", "asterix.048_020_XPP", FT_UINT8, BASE_DEC, VALS (valstr_048_020_XPP), 0x20, NULL, HFILL } }, { &hf_048_020_ME, { "ME", "asterix.048_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_048_020_ME), 0x10, NULL, HFILL } }, { &hf_048_020_MI, { "MI", "asterix.048_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_048_020_MI), 0x08, NULL, HFILL } }, { &hf_048_020_FOEFRI, { "FOEFRI", "asterix.048_020_FOEFRI", FT_UINT8, BASE_DEC, VALS (valstr_048_020_FOEFRI), 0x06, NULL, HFILL } }, { &hf_048_020_ADSB, { "ADSB, On-Site ADS-B Information", "asterix.048_020_ADSB", FT_UINT8, BASE_DEC, NULL, 0xc0, NULL, HFILL } }, { &hf_048_020_SCN, { "SCN, Surveillance Cluster Network Information", "asterix.048_020_SCN", FT_UINT8, BASE_DEC, NULL, 0x30, NULL, HFILL } }, { &hf_048_020_PAI, { "PAI, Passive Acquisition Interface Information", "asterix.048_020_PAI", FT_UINT8, BASE_DEC, NULL, 0x0c, NULL, HFILL } }, { &hf_048_030, { "030, Warning/Error Conditions and Target Classification", "asterix.048_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_030_Subitem, { "Subitem, Subitem", "asterix.048_030_Subitem", FT_UINT8, BASE_DEC, VALS (valstr_048_030_Subitem), 0xfe, NULL, HFILL } }, { &hf_048_040, { "040, Measured Position in Polar Co-ordinates", "asterix.048_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_040_RHO, { "RHO, [NM]", "asterix.048_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_040_THETA, { "THETA, [°]", "asterix.048_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.048_042", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_042_X, { "X, X-Component, [NM]", "asterix.048_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_042_Y, { "Y, X-Component, [NM]", "asterix.048_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_050, { "050, Mode-2 Code in Octal Representation", "asterix.048_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_050_V, { "V", "asterix.048_050_V", FT_UINT8, BASE_DEC, VALS (valstr_048_050_V), 0x80, NULL, HFILL } }, { &hf_048_050_G, { "G", "asterix.048_050_G", FT_UINT8, BASE_DEC, VALS (valstr_048_050_G), 0x40, NULL, HFILL } }, { &hf_048_050_L, { "L", "asterix.048_050_L", FT_UINT8, BASE_DEC, VALS (valstr_048_050_L), 0x20, NULL, HFILL } }, { &hf_048_050_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.048_050_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_055, { "055, Mode-1 Code in Octal Representation", "asterix.048_055", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_055_V, { "V", "asterix.048_055_V", FT_UINT8, BASE_DEC, VALS (valstr_048_055_V), 0x80, NULL, HFILL } }, { &hf_048_055_G, { "G", "asterix.048_055_G", FT_UINT8, BASE_DEC, VALS (valstr_048_055_G), 0x40, NULL, HFILL } }, { &hf_048_055_L, { "L", "asterix.048_055_L", FT_UINT8, BASE_DEC, VALS (valstr_048_055_L), 0x20, NULL, HFILL } }, { &hf_048_055_MODE1, { "MODE1, Mode-1 Code", "asterix.048_055_MODE1", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_048_060, { "060, Mode-2 Code Confidence Indicator", "asterix.048_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_060_QA4, { "QA4", "asterix.048_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QA4), 0x08, NULL, HFILL } }, { &hf_048_060_QA2, { "QA2", "asterix.048_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QA2), 0x04, NULL, HFILL } }, { &hf_048_060_QA1, { "QA1", "asterix.048_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QA1), 0x02, NULL, HFILL } }, { &hf_048_060_QB4, { "QB4", "asterix.048_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QB4), 0x01, NULL, HFILL } }, { &hf_048_060_QB2, { "QB2", "asterix.048_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QB2), 0x80, NULL, HFILL } }, { &hf_048_060_QB1, { "QB1", "asterix.048_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QB1), 0x40, NULL, HFILL } }, { &hf_048_060_QC4, { "QC4", "asterix.048_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QC4), 0x20, NULL, HFILL } }, { &hf_048_060_QC2, { "QC2", "asterix.048_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QC2), 0x10, NULL, HFILL } }, { &hf_048_060_QC1, { "QC1", "asterix.048_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QC1), 0x08, NULL, HFILL } }, { &hf_048_060_QD4, { "QD4", "asterix.048_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QD4), 0x04, NULL, HFILL } }, { &hf_048_060_QD2, { "QD2", "asterix.048_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QD2), 0x02, NULL, HFILL } }, { &hf_048_060_QD1, { "QD1", "asterix.048_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_060_QD1), 0x01, NULL, HFILL } }, { &hf_048_065, { "065, Mode-1 Code Confidence Indicator", "asterix.048_065", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_065_QA4, { "QA4", "asterix.048_065_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA4), 0x10, NULL, HFILL } }, { &hf_048_065_QA2, { "QA2", "asterix.048_065_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA2), 0x08, NULL, HFILL } }, { &hf_048_065_QA1, { "QA1", "asterix.048_065_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA1), 0x04, NULL, HFILL } }, { &hf_048_065_QB2, { "QB2", "asterix.048_065_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QB2), 0x02, NULL, HFILL } }, { &hf_048_065_QB1, { "QB1", "asterix.048_065_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QB1), 0x01, NULL, HFILL } }, { &hf_048_070, { "070, Mode-3/A Code in Octal Representation", "asterix.048_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_070_V, { "V", "asterix.048_070_V", FT_UINT8, BASE_DEC, VALS (valstr_048_070_V), 0x80, NULL, HFILL } }, { &hf_048_070_G, { "G", "asterix.048_070_G", FT_UINT8, BASE_DEC, VALS (valstr_048_070_G), 0x40, NULL, HFILL } }, { &hf_048_070_L, { "L", "asterix.048_070_L", FT_UINT8, BASE_DEC, VALS (valstr_048_070_L), 0x20, NULL, HFILL } }, { &hf_048_070_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.048_070_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_080, { "080, Mode-3/A Code Confidence Indicator", "asterix.048_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_080_QA4, { "QA4", "asterix.048_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QA4), 0x08, NULL, HFILL } }, { &hf_048_080_QA2, { "QA2", "asterix.048_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QA2), 0x04, NULL, HFILL } }, { &hf_048_080_QA1, { "QA1", "asterix.048_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QA1), 0x02, NULL, HFILL } }, { &hf_048_080_QB4, { "QB4", "asterix.048_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QB4), 0x01, NULL, HFILL } }, { &hf_048_080_QB2, { "QB2", "asterix.048_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QB2), 0x80, NULL, HFILL } }, { &hf_048_080_QB1, { "QB1", "asterix.048_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QB1), 0x40, NULL, HFILL } }, { &hf_048_080_QC4, { "QC4", "asterix.048_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QC4), 0x20, NULL, HFILL } }, { &hf_048_080_QC2, { "QC2", "asterix.048_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QC2), 0x10, NULL, HFILL } }, { &hf_048_080_QC1, { "QC1", "asterix.048_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QC1), 0x08, NULL, HFILL } }, { &hf_048_080_QD4, { "QD4", "asterix.048_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QD4), 0x04, NULL, HFILL } }, { &hf_048_080_QD2, { "QD2", "asterix.048_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QD2), 0x02, NULL, HFILL } }, { &hf_048_080_QD1, { "QD1", "asterix.048_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_080_QD1), 0x01, NULL, HFILL } }, { &hf_048_090, { "090, Flight Level in Binary Representation", "asterix.048_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_090_V, { "V", "asterix.048_090_V", FT_UINT8, BASE_DEC, VALS (valstr_048_090_V), 0x80, NULL, HFILL } }, { &hf_048_090_G, { "G", "asterix.048_090_G", FT_UINT8, BASE_DEC, VALS (valstr_048_090_G), 0x40, NULL, HFILL } }, { &hf_048_090_FL, { "FL, [FL]", "asterix.048_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.048_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_100_V, { "V", "asterix.048_100_V", FT_UINT8, BASE_DEC, VALS (valstr_048_100_V), 0x80, NULL, HFILL } }, { &hf_048_100_G, { "G", "asterix.048_100_G", FT_UINT8, BASE_DEC, VALS (valstr_048_100_G), 0x40, NULL, HFILL } }, { &hf_048_100_MODEC, { "MODEC, Mode-C Reply in Gray Notation", "asterix.048_100_MODEC", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_100_QC1, { "QC1", "asterix.048_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QC1), 0x08, NULL, HFILL } }, { &hf_048_100_QA1, { "QA1", "asterix.048_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QA1), 0x04, NULL, HFILL } }, { &hf_048_100_QC2, { "QC2", "asterix.048_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QC2), 0x02, NULL, HFILL } }, { &hf_048_100_QA2, { "QA2", "asterix.048_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QA2), 0x01, NULL, HFILL } }, { &hf_048_100_QC4, { "QC4", "asterix.048_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QC4), 0x80, NULL, HFILL } }, { &hf_048_100_QA4, { "QA4", "asterix.048_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QA4), 0x40, NULL, HFILL } }, { &hf_048_100_QB1, { "QB1", "asterix.048_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QB1), 0x20, NULL, HFILL } }, { &hf_048_100_QD1, { "QD1", "asterix.048_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QD1), 0x10, NULL, HFILL } }, { &hf_048_100_QB2, { "QB2", "asterix.048_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QB2), 0x08, NULL, HFILL } }, { &hf_048_100_QD2, { "QD2", "asterix.048_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QD2), 0x04, NULL, HFILL } }, { &hf_048_100_QB4, { "QB4", "asterix.048_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QB4), 0x02, NULL, HFILL } }, { &hf_048_100_QD4, { "QD4", "asterix.048_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_048_100_QD4), 0x01, NULL, HFILL } }, { &hf_048_110, { "110, Height Measured by a 3D Radar", "asterix.048_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_110_3DH, { "3DH, 3D Height, in Binary Notation. Negative Values Are Expressed in Two's Complement, [ft]", "asterix.048_110_3DH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_120, { "120, Radial Doppler Speed", "asterix.048_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_120_CAL, { "CAL, Calculated Doppler Speed", "asterix.048_120_CAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_120_CAL_D, { "D", "asterix.048_120_CAL_D", FT_UINT8, BASE_DEC, VALS (valstr_048_120_CAL_D), 0x80, NULL, HFILL } }, { &hf_048_120_CAL_CAL, { "CAL, Calculated Doppler Speed, Coded in Two's Complement, [m/s]", "asterix.048_120_CAL_CAL", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_120_RDS, { "RDS, Raw Doppler Speed", "asterix.048_120_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_120_RDS_DOP, { "DOP, Doppler Speed, [m/s]", "asterix.048_120_RDS_DOP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_120_RDS_AMB, { "AMB, Ambiguity Range, [m/s]", "asterix.048_120_RDS_AMB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_120_RDS_FRQ, { "FRQ, Transmitter Frequency, [MHz]", "asterix.048_120_RDS_FRQ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130, { "130, Radar Plot Characteristics", "asterix.048_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_SRL, { "SRL, SSR Plot Runlength", "asterix.048_130_SRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_SRL_VALUE, { "SSR Plot Runlength, [°]", "asterix.048_130_SRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_SRR, { "SRR, Number of Received Replies for (M)SSR", "asterix.048_130_SRR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_SRR_VALUE, { "Number of Received Replies for (M)SSR", "asterix.048_130_SRR_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_SAM, { "SAM, Amplitude of (M)SSR Reply", "asterix.048_130_SAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_SAM_VALUE, { "Amplitude of (M)SSR Reply, [dBm]", "asterix.048_130_SAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_PRL, { "PRL, Primary Plot Runlength", "asterix.048_130_PRL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_PRL_VALUE, { "Primary Plot Runlength, [°]", "asterix.048_130_PRL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_PAM, { "PAM, Amplitude of Primary Plot", "asterix.048_130_PAM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_PAM_VALUE, { "Amplitude of Primary Plot, [dBm]", "asterix.048_130_PAM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_RPD, { "RPD, Difference in Range Between PSR and SSR Plot", "asterix.048_130_RPD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_RPD_VALUE, { "Difference in Range Between PSR and SSR Plot, [NM]", "asterix.048_130_RPD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_APD, { "APD, Difference in Azimuth Between PSR and SSR Plot", "asterix.048_130_APD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_130_APD_VALUE, { "Difference in Azimuth Between PSR and SSR Plot, [°]", "asterix.048_130_APD_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_140, { "140, Time of Day", "asterix.048_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_140_VALUE, { "Time of Day, [s]", "asterix.048_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_161, { "161, Track Number", "asterix.048_161", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_161_TRN, { "TRN, Track Number", "asterix.048_161_TRN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } }, { &hf_048_170, { "170, Track Status", "asterix.048_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_170_CNF, { "CNF, Confirmed Vs. Tentative Track", "asterix.048_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_048_170_CNF), 0x80, NULL, HFILL } }, { &hf_048_170_RAD, { "RAD, Type of Sensor(s) Maintaining Track", "asterix.048_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_048_170_RAD), 0x60, NULL, HFILL } }, { &hf_048_170_DOU, { "DOU, Signals Level of Confidence in Plot to Track Association Process", "asterix.048_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_048_170_DOU), 0x10, NULL, HFILL } }, { &hf_048_170_MAH, { "MAH, Manoeuvre Detection in Horizontal Sense", "asterix.048_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_048_170_MAH), 0x08, NULL, HFILL } }, { &hf_048_170_CDM, { "CDM, Climbing / Descending Mode", "asterix.048_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_170_CDM), 0x06, NULL, HFILL } }, { &hf_048_170_TRE, { "TRE, Signal for End_of_Track", "asterix.048_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_048_170_TRE), 0x80, NULL, HFILL } }, { &hf_048_170_GHO, { "GHO, Ghost Vs. True Target", "asterix.048_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_048_170_GHO), 0x40, NULL, HFILL } }, { &hf_048_170_SUP, { "SUP, Track Maintained with Track Information from Neighbouring Node B on the Cluster, or Network", "asterix.048_170_SUP", FT_UINT8, BASE_DEC, VALS (valstr_048_170_SUP), 0x20, NULL, HFILL } }, { &hf_048_170_TCC, { "TCC, Type of Plot Coordinate Transformation Mechanism:", "asterix.048_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_048_170_TCC), 0x10, NULL, HFILL } }, { &hf_048_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.048_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_200_GSP, { "GSP, Calculated Groundspeed, [NM/s]", "asterix.048_200_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_200_HDG, { "HDG, Calculated Heading, [°]", "asterix.048_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_210, { "210, Track Quality", "asterix.048_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_210_SIGX, { "SIGX, Sigma (X)) Standard Deviation on the Horizontal Axis of the Local Grid System, [NM]", "asterix.048_210_SIGX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_210_SIGY, { "SIGY, Sigma (Y)) Standard Deviation on the Vertical Axis of the Local Grid System, [NM]", "asterix.048_210_SIGY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_210_SIGV, { "SIGV, Sigma (V)) Standard Deviation on the Groundspeed Within the Local Grid System, [NM/s]", "asterix.048_210_SIGV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_210_SIGH, { "SIGH, Sigma (H)) Standard Deviation on the Heading Within the Local Grid System, [°]", "asterix.048_210_SIGH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_220, { "220, Aircraft Address", "asterix.048_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_220_VALUE, { "Aircraft Address", "asterix.048_220_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_048_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.048_230", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_230_COM, { "COM, Communications Capability of the Transponder", "asterix.048_230_COM", FT_UINT8, BASE_DEC, VALS (valstr_048_230_COM), 0xe0, NULL, HFILL } }, { &hf_048_230_STAT, { "STAT, Flight Status", "asterix.048_230_STAT", FT_UINT8, BASE_DEC, VALS (valstr_048_230_STAT), 0x1c, NULL, HFILL } }, { &hf_048_230_SI, { "SI, SI/II Transponder Capability", "asterix.048_230_SI", FT_UINT8, BASE_DEC, VALS (valstr_048_230_SI), 0x02, NULL, HFILL } }, { &hf_048_230_MSSC, { "MSSC, Mode-S Specific Service Capability", "asterix.048_230_MSSC", FT_UINT8, BASE_DEC, VALS (valstr_048_230_MSSC), 0x80, NULL, HFILL } }, { &hf_048_230_ARC, { "ARC, Altitude Reporting Capability", "asterix.048_230_ARC", FT_UINT8, BASE_DEC, VALS (valstr_048_230_ARC), 0x40, NULL, HFILL } }, { &hf_048_230_AIC, { "AIC, Aircraft Identification Capability", "asterix.048_230_AIC", FT_UINT8, BASE_DEC, VALS (valstr_048_230_AIC), 0x20, NULL, HFILL } }, { &hf_048_230_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.048_230_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_048_230_B1B, { "B1B, BDS 1,0 Bits 37/40", "asterix.048_230_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_240, { "240, Aircraft Identification", "asterix.048_240", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_240_VALUE, { "Aircraft Identification", "asterix.048_240_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_250, { "250, BDS Register Data", "asterix.048_250", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_250_MBDATA, { "MBDATA, Mode S Comm B Message Data", "asterix.048_250_MBDATA", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_250_BDS1, { "BDS1, Comm B Data Buffer Store 1 Address", "asterix.048_250_BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } }, { &hf_048_250_BDS2, { "BDS2, Comm B Data Buffer Store 2 Address", "asterix.048_250_BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_048_260, { "260, ACAS Resolution Advisory Report", "asterix.048_260", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_260_VALUE, { "ACAS Resolution Advisory Report", "asterix.048_260_VALUE", FT_UINT56, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_048_RE, { "RE, Reserved Expansion Field", "asterix.048_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_048_SP, { "SP, Special Purpose Field", "asterix.048_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_010, { "010, Data Source Identifier", "asterix.062_V1_17_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_010_SAC, { "SAC, System Area Code", "asterix.062_V1_17_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_010_SIC, { "SIC, System Identification Code", "asterix.062_V1_17_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_015, { "015, Service Identification", "asterix.062_V1_17_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_015_VALUE, { "Service Identification", "asterix.062_V1_17_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_040, { "040, Track Number", "asterix.062_V1_17_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_040_VALUE, { "Track Number", "asterix.062_V1_17_040_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_060, { "060, Track Mode 3/A Code", "asterix.062_V1_17_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_060_V, { "V, Validated", "asterix.062_V1_17_060_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_060_V), 0x80, NULL, HFILL } }, { &hf_062_V1_17_060_G, { "G, Garbled", "asterix.062_V1_17_060_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_060_G), 0x40, NULL, HFILL } }, { &hf_062_V1_17_060_CH, { "CH, Change in Mode 3/A", "asterix.062_V1_17_060_CH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_060_CH), 0x20, NULL, HFILL } }, { &hf_062_V1_17_060_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_17_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_17_070, { "070, Time Of Track Information", "asterix.062_V1_17_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_070_VALUE, { "Time Of Track Information, [s]", "asterix.062_V1_17_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_080, { "080, Track Status", "asterix.062_V1_17_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_080_MON, { "MON", "asterix.062_V1_17_080_MON", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_MON), 0x80, NULL, HFILL } }, { &hf_062_V1_17_080_SPI, { "SPI", "asterix.062_V1_17_080_SPI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_SPI), 0x40, NULL, HFILL } }, { &hf_062_V1_17_080_MRH, { "MRH, Most Reliable Height", "asterix.062_V1_17_080_MRH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_MRH), 0x20, NULL, HFILL } }, { &hf_062_V1_17_080_SRC, { "SRC, Source of Calculated Track Altitude for I062/130", "asterix.062_V1_17_080_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_SRC), 0x1c, NULL, HFILL } }, { &hf_062_V1_17_080_CNF, { "CNF", "asterix.062_V1_17_080_CNF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_CNF), 0x02, NULL, HFILL } }, { &hf_062_V1_17_080_SIM, { "SIM", "asterix.062_V1_17_080_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_SIM), 0x80, NULL, HFILL } }, { &hf_062_V1_17_080_TSE, { "TSE", "asterix.062_V1_17_080_TSE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_TSE), 0x40, NULL, HFILL } }, { &hf_062_V1_17_080_TSB, { "TSB", "asterix.062_V1_17_080_TSB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_TSB), 0x20, NULL, HFILL } }, { &hf_062_V1_17_080_FPC, { "FPC", "asterix.062_V1_17_080_FPC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_FPC), 0x10, NULL, HFILL } }, { &hf_062_V1_17_080_AFF, { "AFF", "asterix.062_V1_17_080_AFF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_AFF), 0x08, NULL, HFILL } }, { &hf_062_V1_17_080_STP, { "STP", "asterix.062_V1_17_080_STP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_STP), 0x04, NULL, HFILL } }, { &hf_062_V1_17_080_KOS, { "KOS", "asterix.062_V1_17_080_KOS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_KOS), 0x02, NULL, HFILL } }, { &hf_062_V1_17_080_AMA, { "AMA", "asterix.062_V1_17_080_AMA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_AMA), 0x80, NULL, HFILL } }, { &hf_062_V1_17_080_MD4, { "MD4", "asterix.062_V1_17_080_MD4", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_MD4), 0x60, NULL, HFILL } }, { &hf_062_V1_17_080_ME, { "ME", "asterix.062_V1_17_080_ME", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_ME), 0x10, NULL, HFILL } }, { &hf_062_V1_17_080_MI, { "MI", "asterix.062_V1_17_080_MI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_MI), 0x08, NULL, HFILL } }, { &hf_062_V1_17_080_MD5, { "MD5", "asterix.062_V1_17_080_MD5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_MD5), 0x06, NULL, HFILL } }, { &hf_062_V1_17_080_CST, { "CST", "asterix.062_V1_17_080_CST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_CST), 0x80, NULL, HFILL } }, { &hf_062_V1_17_080_PSR, { "PSR", "asterix.062_V1_17_080_PSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_PSR), 0x40, NULL, HFILL } }, { &hf_062_V1_17_080_SSR, { "SSR", "asterix.062_V1_17_080_SSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_SSR), 0x20, NULL, HFILL } }, { &hf_062_V1_17_080_MDS, { "MDS", "asterix.062_V1_17_080_MDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_MDS), 0x10, NULL, HFILL } }, { &hf_062_V1_17_080_ADS, { "ADS", "asterix.062_V1_17_080_ADS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_ADS), 0x08, NULL, HFILL } }, { &hf_062_V1_17_080_SUC, { "SUC", "asterix.062_V1_17_080_SUC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_SUC), 0x04, NULL, HFILL } }, { &hf_062_V1_17_080_AAC, { "AAC", "asterix.062_V1_17_080_AAC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_AAC), 0x02, NULL, HFILL } }, { &hf_062_V1_17_080_SDS, { "SDS", "asterix.062_V1_17_080_SDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_SDS), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_080_EMS, { "EMS", "asterix.062_V1_17_080_EMS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_EMS), 0x38, NULL, HFILL } }, { &hf_062_V1_17_080_PFT, { "PFT", "asterix.062_V1_17_080_PFT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_PFT), 0x04, NULL, HFILL } }, { &hf_062_V1_17_080_FPLT, { "FPLT", "asterix.062_V1_17_080_FPLT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_FPLT), 0x02, NULL, HFILL } }, { &hf_062_V1_17_080_DUPT, { "DUPT", "asterix.062_V1_17_080_DUPT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_DUPT), 0x80, NULL, HFILL } }, { &hf_062_V1_17_080_DUPF, { "DUPF", "asterix.062_V1_17_080_DUPF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_DUPF), 0x40, NULL, HFILL } }, { &hf_062_V1_17_080_DUPM, { "DUPM", "asterix.062_V1_17_080_DUPM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_080_DUPM), 0x20, NULL, HFILL } }, { &hf_062_V1_17_100, { "100, Calculated Track Position (Cartesian)", "asterix.062_V1_17_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_100_X, { "X, X Coordinate, [m]", "asterix.062_V1_17_100_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_100_Y, { "Y, Y Coordinate, [m]", "asterix.062_V1_17_100_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_105, { "105, Calculated Position In WGS-84 Co-ordinates", "asterix.062_V1_17_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_105_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_17_105_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_105_LON, { "LON, Longitude, [°]", "asterix.062_V1_17_105_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110, { "110, Mode 5 Data Reports and Extended Mode 1 Code", "asterix.062_V1_17_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_SUM, { "SUM, Mode 5 Summary", "asterix.062_V1_17_110_SUM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_M5, { "M5", "asterix.062_V1_17_110_SUM_M5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_M5), 0x80, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_ID, { "ID", "asterix.062_V1_17_110_SUM_ID", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_ID), 0x40, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_DA, { "DA", "asterix.062_V1_17_110_SUM_DA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_DA), 0x20, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_M1, { "M1", "asterix.062_V1_17_110_SUM_M1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_M1), 0x10, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_M2, { "M2", "asterix.062_V1_17_110_SUM_M2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_M2), 0x08, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_M3, { "M3", "asterix.062_V1_17_110_SUM_M3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_M3), 0x04, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_MC, { "MC", "asterix.062_V1_17_110_SUM_MC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_MC), 0x02, NULL, HFILL } }, { &hf_062_V1_17_110_SUM_X, { "X, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_17_110_SUM_X", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_SUM_X), 0x01, NULL, HFILL } }, { &hf_062_V1_17_110_PMN, { "PMN, Mode 5 PIN/ National Origin/Mission Code", "asterix.062_V1_17_110_PMN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_PMN_PIN, { "PIN, PIN Code", "asterix.062_V1_17_110_PMN_PIN", FT_UINT16, BASE_DEC, NULL, 0x3fff, NULL, HFILL } }, { &hf_062_V1_17_110_PMN_NAT, { "NAT, National Origin", "asterix.062_V1_17_110_PMN_NAT", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_17_110_PMN_MIS, { "MIS, Mission Code", "asterix.062_V1_17_110_PMN_MIS", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_17_110_POS, { "POS, Mode 5 Reported Position", "asterix.062_V1_17_110_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_POS_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_17_110_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_POS_LON, { "LON, Longitude, [°]", "asterix.062_V1_17_110_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_GA, { "GA, Mode 5 GNSS-derived Altitude", "asterix.062_V1_17_110_GA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_GA_RES, { "RES, Resolution with which the GNSS-derived Altitude (GA) is Reported", "asterix.062_V1_17_110_GA_RES", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_GA_RES), 0x40, NULL, HFILL } }, { &hf_062_V1_17_110_GA_GA, { "GA, GNSS-derived Altitude of Target, Expressed as Height Above WGS 84 Ellipsoid, [ft]", "asterix.062_V1_17_110_GA_GA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_EM1, { "EM1, Extended Mode 1 Code in Octal Representation", "asterix.062_V1_17_110_EM1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_EM1_EM1, { "EM1, Extended Mode 1 Reply in Octal Representation", "asterix.062_V1_17_110_EM1_EM1", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_17_110_TOS, { "TOS, Time Offset for POS and GA", "asterix.062_V1_17_110_TOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_TOS_VALUE, { "Time Offset for POS and GA, [s]", "asterix.062_V1_17_110_TOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_XP, { "XP, X Pulse Presence", "asterix.062_V1_17_110_XP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_110_XP_X5, { "X5, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_17_110_XP_X5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_XP_X5), 0x10, NULL, HFILL } }, { &hf_062_V1_17_110_XP_XC, { "XC, X-pulse from Mode C Reply", "asterix.062_V1_17_110_XP_XC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_XP_XC), 0x08, NULL, HFILL } }, { &hf_062_V1_17_110_XP_X3, { "X3, X-pulse from Mode 3/A Reply", "asterix.062_V1_17_110_XP_X3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_XP_X3), 0x04, NULL, HFILL } }, { &hf_062_V1_17_110_XP_X2, { "X2, X-pulse from Mode 2 Reply", "asterix.062_V1_17_110_XP_X2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_XP_X2), 0x02, NULL, HFILL } }, { &hf_062_V1_17_110_XP_X1, { "X1, X-pulse from Mode 1 Reply", "asterix.062_V1_17_110_XP_X1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_110_XP_X1), 0x01, NULL, HFILL } }, { &hf_062_V1_17_120, { "120, Track Mode 2 Code", "asterix.062_V1_17_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_120_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.062_V1_17_120_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_17_130, { "130, Calculated Track Geometric Altitude", "asterix.062_V1_17_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_130_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_17_130_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_135, { "135, Calculated Track Barometric Altitude", "asterix.062_V1_17_135", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_135_QNH, { "QNH", "asterix.062_V1_17_135_QNH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_135_QNH), 0x80, NULL, HFILL } }, { &hf_062_V1_17_135_CTB, { "CTB, Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_17_135_CTB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_136, { "136, Measured Flight Level", "asterix.062_V1_17_136", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_136_VALUE, { "Measured Flight Level, [FL]", "asterix.062_V1_17_136_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_185, { "185, Calculated Track Velocity (Cartesian)", "asterix.062_V1_17_185", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_185_VX, { "VX, Velocity (X-component), [m/s]", "asterix.062_V1_17_185_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_185_VY, { "VY, Velocity (Y-component), [m/s]", "asterix.062_V1_17_185_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_200, { "200, Mode of Movement", "asterix.062_V1_17_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_200_TRANS, { "TRANS, Transversal Acceleration", "asterix.062_V1_17_200_TRANS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_200_TRANS), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_200_LONG, { "LONG, Longitudinal Acceleration", "asterix.062_V1_17_200_LONG", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_200_LONG), 0x30, NULL, HFILL } }, { &hf_062_V1_17_200_VERT, { "VERT, Transversal Acceleration", "asterix.062_V1_17_200_VERT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_200_VERT), 0x0c, NULL, HFILL } }, { &hf_062_V1_17_200_ADF, { "ADF, Altitude Discrepancy Flag", "asterix.062_V1_17_200_ADF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_200_ADF), 0x02, NULL, HFILL } }, { &hf_062_V1_17_210, { "210, Calculated Acceleration (Cartesian)", "asterix.062_V1_17_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_210_AX, { "AX, [m/s²]", "asterix.062_V1_17_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_210_AY, { "AY, [m/s²]", "asterix.062_V1_17_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_220, { "220, Calculated Rate of Climb/Descent", "asterix.062_V1_17_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_220_VALUE, { "Calculated Rate of Climb/Descent, [ft/min]", "asterix.062_V1_17_220_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_245, { "245, Target Identification", "asterix.062_V1_17_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_245_STI, { "STI", "asterix.062_V1_17_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_245_STI), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_245_CHR, { "CHR, Characters 1-8 (Coded on 6 Bits Each) Defining Target Identification", "asterix.062_V1_17_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_270, { "270, Target Size and Orientation", "asterix.062_V1_17_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_270_LENGTH, { "LENGTH, Length, [m]", "asterix.062_V1_17_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.062_V1_17_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_270_WIDTH, { "WIDTH, Width, [m]", "asterix.062_V1_17_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290, { "290, System Track Update Ages", "asterix.062_V1_17_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_TRK, { "TRK, Track Age", "asterix.062_V1_17_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_TRK_VALUE, { "Track Age, [s]", "asterix.062_V1_17_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_PSR, { "PSR, PSR Age", "asterix.062_V1_17_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_PSR_VALUE, { "PSR Age, [s]", "asterix.062_V1_17_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_SSR, { "SSR, SSR Age", "asterix.062_V1_17_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_SSR_VALUE, { "SSR Age, [s]", "asterix.062_V1_17_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_MDS, { "MDS, Mode S Age", "asterix.062_V1_17_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_MDS_VALUE, { "Mode S Age, [s]", "asterix.062_V1_17_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_ADS, { "ADS, ADS-C Age", "asterix.062_V1_17_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_ADS_VALUE, { "ADS-C Age, [s]", "asterix.062_V1_17_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_ES, { "ES, ADS-B Extended Squitter Age", "asterix.062_V1_17_290_ES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_ES_VALUE, { "ADS-B Extended Squitter Age, [s]", "asterix.062_V1_17_290_ES_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_VDL, { "VDL, ADS-B VDL Mode 4 Age", "asterix.062_V1_17_290_VDL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_VDL_VALUE, { "ADS-B VDL Mode 4 Age, [s]", "asterix.062_V1_17_290_VDL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_UAT, { "UAT, ADS-B UAT Age", "asterix.062_V1_17_290_UAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_UAT_VALUE, { "ADS-B UAT Age, [s]", "asterix.062_V1_17_290_UAT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_LOP, { "LOP, Loop Age", "asterix.062_V1_17_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_LOP_VALUE, { "Loop Age, [s]", "asterix.062_V1_17_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_MLT, { "MLT, Multilateration Age", "asterix.062_V1_17_290_MLT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_290_MLT_VALUE, { "Multilateration Age, [s]", "asterix.062_V1_17_290_MLT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295, { "295, Track Data Ages", "asterix.062_V1_17_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MFL, { "MFL, Measured Flight Level Age", "asterix.062_V1_17_295_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MFL_VALUE, { "Measured Flight Level Age, [s]", "asterix.062_V1_17_295_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD1, { "MD1, Mode 1 Age", "asterix.062_V1_17_295_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD1_VALUE, { "Mode 1 Age, [s]", "asterix.062_V1_17_295_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD2, { "MD2, Mode 2 Age", "asterix.062_V1_17_295_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD2_VALUE, { "Mode 2 Age, [s]", "asterix.062_V1_17_295_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MDA, { "MDA, Mode 3/A Age", "asterix.062_V1_17_295_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MDA_VALUE, { "Mode 3/A Age, [s]", "asterix.062_V1_17_295_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD4, { "MD4, Mode 4 Age", "asterix.062_V1_17_295_MD4", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD4_VALUE, { "Mode 4 Age, [s]", "asterix.062_V1_17_295_MD4_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD5, { "MD5, Mode 5 Age", "asterix.062_V1_17_295_MD5", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MD5_VALUE, { "Mode 5 Age, [s]", "asterix.062_V1_17_295_MD5_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MHG, { "MHG, Magnetic Heading Age", "asterix.062_V1_17_295_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MHG_VALUE, { "Magnetic Heading Age, [s]", "asterix.062_V1_17_295_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_IAS, { "IAS, Indicated Airspeed / Mach Nb Age", "asterix.062_V1_17_295_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_IAS_VALUE, { "Indicated Airspeed / Mach Nb Age, [s]", "asterix.062_V1_17_295_IAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TAS, { "TAS, True Airspeed Age", "asterix.062_V1_17_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TAS_VALUE, { "True Airspeed Age, [s]", "asterix.062_V1_17_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_SAL, { "SAL, Selected Altitude Age", "asterix.062_V1_17_295_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_SAL_VALUE, { "Selected Altitude Age, [s]", "asterix.062_V1_17_295_SAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_FSS, { "FSS, Final State Selected Altitude Age", "asterix.062_V1_17_295_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_FSS_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.062_V1_17_295_FSS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TID, { "TID, Trajectory Intent Age", "asterix.062_V1_17_295_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TID_VALUE, { "Trajectory Intent Age, [s]", "asterix.062_V1_17_295_TID_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_COM, { "COM, Communication/ACAS Capability and Flight Status Age", "asterix.062_V1_17_295_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_COM_VALUE, { "Communication/ACAS Capability and Flight Status Age, [s]", "asterix.062_V1_17_295_COM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_SAB, { "SAB, Status Reported by ADS-B Age", "asterix.062_V1_17_295_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_SAB_VALUE, { "Status Reported by ADS-B Age, [s]", "asterix.062_V1_17_295_SAB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_ACS, { "ACS, ACAS Resolution Advisory Report Age", "asterix.062_V1_17_295_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_ACS_VALUE, { "ACAS Resolution Advisory Report Age, [s]", "asterix.062_V1_17_295_ACS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.062_V1_17_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.062_V1_17_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_GVR, { "GVR, Geometrical Vertical Rate Age", "asterix.062_V1_17_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_GVR_VALUE, { "Geometrical Vertical Rate Age, [s]", "asterix.062_V1_17_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_RAN, { "RAN, Roll Angle Age", "asterix.062_V1_17_295_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_RAN_VALUE, { "Roll Angle Age, [s]", "asterix.062_V1_17_295_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TAR, { "TAR, Track Angle Rate Age", "asterix.062_V1_17_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.062_V1_17_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TAN, { "TAN, Track Angle Age", "asterix.062_V1_17_295_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_TAN_VALUE, { "Track Angle Age, [s]", "asterix.062_V1_17_295_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_GSP, { "GSP, Ground Speed Age", "asterix.062_V1_17_295_GSP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_GSP_VALUE, { "Ground Speed Age, [s]", "asterix.062_V1_17_295_GSP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_VUN, { "VUN, Velocity Uncertainty Age", "asterix.062_V1_17_295_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_VUN_VALUE, { "Velocity Uncertainty Age, [s]", "asterix.062_V1_17_295_VUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MET, { "MET, Meteorological Data Age", "asterix.062_V1_17_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MET_VALUE, { "Meteorological Data Age, [s]", "asterix.062_V1_17_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_EMC, { "EMC, Emitter Category Age", "asterix.062_V1_17_295_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_EMC_VALUE, { "Emitter Category Age, [s]", "asterix.062_V1_17_295_EMC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_POS, { "POS, Position Age", "asterix.062_V1_17_295_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_POS_VALUE, { "Position Age, [s]", "asterix.062_V1_17_295_POS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_GAL, { "GAL, Geometric Altitude Age", "asterix.062_V1_17_295_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_GAL_VALUE, { "Geometric Altitude Age, [s]", "asterix.062_V1_17_295_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_PUN, { "PUN, Position Uncertainty Age", "asterix.062_V1_17_295_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_PUN_VALUE, { "Position Uncertainty Age, [s]", "asterix.062_V1_17_295_PUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MB, { "MB, Mode S MB Data Age", "asterix.062_V1_17_295_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MB_VALUE, { "Mode S MB Data Age, [s]", "asterix.062_V1_17_295_MB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_IAR, { "IAR, Indicated Airspeed Data Age", "asterix.062_V1_17_295_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_IAR_VALUE, { "Indicated Airspeed Data Age, [s]", "asterix.062_V1_17_295_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MAC, { "MAC, Mach Number Data Age", "asterix.062_V1_17_295_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_MAC_VALUE, { "Mach Number Data Age, [s]", "asterix.062_V1_17_295_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_BPS, { "BPS, Barometric Pressure Setting Data Age", "asterix.062_V1_17_295_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_295_BPS_VALUE, { "Barometric Pressure Setting Data Age, [s]", "asterix.062_V1_17_295_BPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_300, { "300, Vehicle Fleet Identification", "asterix.062_V1_17_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_300_VALUE, { "Vehicle Fleet Identification", "asterix.062_V1_17_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_300_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_17_340, { "340, Measured Information", "asterix.062_V1_17_340", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_SID, { "SID, Sensor Identification", "asterix.062_V1_17_340_SID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_SID_SAC, { "SAC, System Area Code", "asterix.062_V1_17_340_SID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_SID_SIC, { "SIC, System Identification Code", "asterix.062_V1_17_340_SID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_POS, { "POS, Measured Position", "asterix.062_V1_17_340_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_POS_RHO, { "RHO, Measured Distance, [NM]", "asterix.062_V1_17_340_POS_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_POS_THETA, { "THETA, Measured Azimuth, [°]", "asterix.062_V1_17_340_POS_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_HEIGHT, { "HEIGHT, Measured 3-D Height", "asterix.062_V1_17_340_HEIGHT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_HEIGHT_VALUE, { "Measured 3-D Height, [ft]", "asterix.062_V1_17_340_HEIGHT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_MDC, { "MDC", "asterix.062_V1_17_340_MDC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_MDC_V, { "V, Validated", "asterix.062_V1_17_340_MDC_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_MDC_V), 0x80, NULL, HFILL } }, { &hf_062_V1_17_340_MDC_G, { "G, Garbled", "asterix.062_V1_17_340_MDC_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_MDC_G), 0x40, NULL, HFILL } }, { &hf_062_V1_17_340_MDC_LMC, { "LMC, Last Measured Mode C Code, [FL]", "asterix.062_V1_17_340_MDC_LMC", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_MDA, { "MDA", "asterix.062_V1_17_340_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_MDA_V, { "V, Validated", "asterix.062_V1_17_340_MDA_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_MDA_V), 0x80, NULL, HFILL } }, { &hf_062_V1_17_340_MDA_G, { "G, Garbled", "asterix.062_V1_17_340_MDA_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_MDA_G), 0x40, NULL, HFILL } }, { &hf_062_V1_17_340_MDA_L, { "L", "asterix.062_V1_17_340_MDA_L", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_MDA_L), 0x20, NULL, HFILL } }, { &hf_062_V1_17_340_MDA_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_17_340_MDA_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_17_340_TYP, { "TYP", "asterix.062_V1_17_340_TYP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_340_TYP_TYP, { "TYP, Report Type", "asterix.062_V1_17_340_TYP_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_TYP_TYP), 0xe0, NULL, HFILL } }, { &hf_062_V1_17_340_TYP_SIM, { "SIM", "asterix.062_V1_17_340_TYP_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_TYP_SIM), 0x10, NULL, HFILL } }, { &hf_062_V1_17_340_TYP_RAB, { "RAB", "asterix.062_V1_17_340_TYP_RAB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_TYP_RAB), 0x08, NULL, HFILL } }, { &hf_062_V1_17_340_TYP_TST, { "TST", "asterix.062_V1_17_340_TYP_TST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_340_TYP_TST), 0x04, NULL, HFILL } }, { &hf_062_V1_17_380, { "380, Aircraft Derived Data", "asterix.062_V1_17_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_ADR, { "ADR, Target Address", "asterix.062_V1_17_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_ADR_VALUE, { "Target Address", "asterix.062_V1_17_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_ID, { "ID, Target Identification", "asterix.062_V1_17_380_ID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_ID_VALUE, { "Target Identification", "asterix.062_V1_17_380_ID_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MHG, { "MHG, Magnetic Heading", "asterix.062_V1_17_380_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MHG_VALUE, { "Magnetic Heading, [°]", "asterix.062_V1_17_380_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_IAS, { "IAS, Indicated Airspeed/Mach No", "asterix.062_V1_17_380_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_IAS_IM, { "IM", "asterix.062_V1_17_380_IAS_IM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_IAS_IM), 0x80, NULL, HFILL } }, { &hf_062_V1_17_380_IAS_IAS, { "IAS", "asterix.062_V1_17_380_IAS_IAS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_062_V1_17_380_TAS, { "TAS, True Airspeed", "asterix.062_V1_17_380_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TAS_VALUE, { "True Airspeed, [kt]", "asterix.062_V1_17_380_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_SAL, { "SAL, Selected Altitude", "asterix.062_V1_17_380_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_SAL_SAS, { "SAS", "asterix.062_V1_17_380_SAL_SAS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_SAL_SAS), 0x80, NULL, HFILL } }, { &hf_062_V1_17_380_SAL_SRC, { "SRC", "asterix.062_V1_17_380_SAL_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_SAL_SRC), 0x60, NULL, HFILL } }, { &hf_062_V1_17_380_SAL_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_17_380_SAL_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_FSS, { "FSS, Final State Selected Altitude", "asterix.062_V1_17_380_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_FSS_MV, { "MV, Manage Vertical Mode", "asterix.062_V1_17_380_FSS_MV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_FSS_MV), 0x80, NULL, HFILL } }, { &hf_062_V1_17_380_FSS_AH, { "AH, Altitude Hold", "asterix.062_V1_17_380_FSS_AH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_FSS_AH), 0x40, NULL, HFILL } }, { &hf_062_V1_17_380_FSS_AM, { "AM, Approach Mode", "asterix.062_V1_17_380_FSS_AM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_FSS_AM), 0x20, NULL, HFILL } }, { &hf_062_V1_17_380_FSS_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_17_380_FSS_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TIS, { "TIS, Trajectory Intent Status", "asterix.062_V1_17_380_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TIS_NAV, { "NAV, TID Available", "asterix.062_V1_17_380_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_062_V1_17_380_TIS_NVB, { "NVB, TID Valid", "asterix.062_V1_17_380_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_062_V1_17_380_TID, { "TID, Trajectory Intent Data", "asterix.062_V1_17_380_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TID_TCA, { "TCA, TCP Number Availability", "asterix.062_V1_17_380_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TID_TCA), 0x80, NULL, HFILL } }, { &hf_062_V1_17_380_TID_NC, { "NC, TCP Compliance", "asterix.062_V1_17_380_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TID_NC), 0x40, NULL, HFILL } }, { &hf_062_V1_17_380_TID_TCPN, { "TCPN, Trajectory Change Point Number", "asterix.062_V1_17_380_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_17_380_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_17_380_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TID_LAT, { "LAT, Latitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_17_380_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TID_LON, { "LON, Longitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_17_380_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TID_PT, { "PT, Point Type", "asterix.062_V1_17_380_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TID_PT), 0xf0, NULL, HFILL } }, { &hf_062_V1_17_380_TID_TD, { "TD, Turn Direction", "asterix.062_V1_17_380_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TID_TD), 0x0c, NULL, HFILL } }, { &hf_062_V1_17_380_TID_TRA, { "TRA, Turn Radius Availability", "asterix.062_V1_17_380_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TID_TRA), 0x02, NULL, HFILL } }, { &hf_062_V1_17_380_TID_TOA, { "TOA, TOV Available", "asterix.062_V1_17_380_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TID_TOA), 0x01, NULL, HFILL } }, { &hf_062_V1_17_380_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.062_V1_17_380_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.062_V1_17_380_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_COM, { "COM, Communications/ACAS Capability and Flight Status", "asterix.062_V1_17_380_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_COM_COM, { "COM, Communications Capability of the Transponder", "asterix.062_V1_17_380_COM_COM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_COM_COM), 0xe0, NULL, HFILL } }, { &hf_062_V1_17_380_COM_STAT, { "STAT, Flight Status", "asterix.062_V1_17_380_COM_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_COM_STAT), 0x1c, NULL, HFILL } }, { &hf_062_V1_17_380_COM_SSC, { "SSC, Specific Service Capability", "asterix.062_V1_17_380_COM_SSC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_COM_SSC), 0x80, NULL, HFILL } }, { &hf_062_V1_17_380_COM_ARC, { "ARC, Altitude Reporting Capability", "asterix.062_V1_17_380_COM_ARC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_COM_ARC), 0x40, NULL, HFILL } }, { &hf_062_V1_17_380_COM_AIC, { "AIC, Aircraft Identification Capability", "asterix.062_V1_17_380_COM_AIC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_COM_AIC), 0x20, NULL, HFILL } }, { &hf_062_V1_17_380_COM_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.062_V1_17_380_COM_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_062_V1_17_380_COM_B1B, { "B1B, BDS BDS 1,0 Bits 37/40", "asterix.062_V1_17_380_COM_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_17_380_SAB, { "SAB, Status Reported by ADS-B", "asterix.062_V1_17_380_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_SAB_AC, { "AC, ACAS Status", "asterix.062_V1_17_380_SAB_AC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_SAB_AC), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_380_SAB_MN, { "MN, Multiple Navigational Aids Status", "asterix.062_V1_17_380_SAB_MN", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_SAB_MN), 0x30, NULL, HFILL } }, { &hf_062_V1_17_380_SAB_DC, { "DC, Differential Correction Status", "asterix.062_V1_17_380_SAB_DC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_SAB_DC), 0x0c, NULL, HFILL } }, { &hf_062_V1_17_380_SAB_GBS, { "GBS, Ground Bit Set", "asterix.062_V1_17_380_SAB_GBS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_SAB_GBS), 0x02, NULL, HFILL } }, { &hf_062_V1_17_380_SAB_STAT, { "STAT, Flight Status", "asterix.062_V1_17_380_SAB_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_SAB_STAT), 0x07, NULL, HFILL } }, { &hf_062_V1_17_380_ACS, { "ACS, ACAS Resolution Advisory Report", "asterix.062_V1_17_380_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_ACS_VALUE, { "ACAS Resolution Advisory Report", "asterix.062_V1_17_380_ACS_VALUE", FT_UINT56, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_BVR, { "BVR, Barometric Vertical Rate", "asterix.062_V1_17_380_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_BVR_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.062_V1_17_380_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_GVR, { "GVR, Geometric Vertical Rate", "asterix.062_V1_17_380_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_GVR_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.062_V1_17_380_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_RAN, { "RAN, Roll Angle", "asterix.062_V1_17_380_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_RAN_VALUE, { "Roll Angle, [°]", "asterix.062_V1_17_380_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TAR, { "TAR, Track Angle Rate", "asterix.062_V1_17_380_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TAR_TI, { "TI, Turn Indicator", "asterix.062_V1_17_380_TAR_TI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_TAR_TI), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_380_TAR_ROT, { "ROT, Rate of Turn in Two's Complement Form, [°/s]", "asterix.062_V1_17_380_TAR_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TAN, { "TAN, Track Angle", "asterix.062_V1_17_380_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_TAN_VALUE, { "Track Angle, [°]", "asterix.062_V1_17_380_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_GS, { "GS, Ground Speed", "asterix.062_V1_17_380_GS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_GS_VALUE, { "Ground Speed, [NM/s]", "asterix.062_V1_17_380_GS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_VUN, { "VUN, Velocity Uncertainty", "asterix.062_V1_17_380_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_VUN_VALUE, { "Velocity Uncertainty", "asterix.062_V1_17_380_VUN_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MET, { "MET, Meteorological Data", "asterix.062_V1_17_380_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MET_WS, { "WS, Wind Speed Valid Flag", "asterix.062_V1_17_380_MET_WS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_MET_WS), 0x80, NULL, HFILL } }, { &hf_062_V1_17_380_MET_WD, { "WD, Wind Direction Valid Flag", "asterix.062_V1_17_380_MET_WD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_MET_WD), 0x40, NULL, HFILL } }, { &hf_062_V1_17_380_MET_TMP, { "TMP, Temperature Valid Flag", "asterix.062_V1_17_380_MET_TMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_MET_TMP), 0x20, NULL, HFILL } }, { &hf_062_V1_17_380_MET_TRB, { "TRB, Turbulence Valid Flag", "asterix.062_V1_17_380_MET_TRB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_MET_TRB), 0x10, NULL, HFILL } }, { &hf_062_V1_17_380_MET_WSD, { "WSD, Wind Speed, [kt]", "asterix.062_V1_17_380_MET_WSD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MET_WDD, { "WDD, Wind Direction, [°]", "asterix.062_V1_17_380_MET_WDD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MET_TMPD, { "TMPD, Temperature in Degrees Celsius, [°C]", "asterix.062_V1_17_380_MET_TMPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MET_TRBD, { "TRBD, Turbulence", "asterix.062_V1_17_380_MET_TRBD", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_EMC, { "EMC, Emitter Category", "asterix.062_V1_17_380_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_EMC_VALUE, { "Emitter Category", "asterix.062_V1_17_380_EMC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_380_EMC_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_POS, { "POS, Position", "asterix.062_V1_17_380_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_POS_LAT, { "LAT, Latitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_17_380_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_POS_LON, { "LON, Longitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_17_380_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_GAL, { "GAL, Geometric Altitude", "asterix.062_V1_17_380_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_GAL_VALUE, { "Geometric Altitude, [ft]", "asterix.062_V1_17_380_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_17_380_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_PUN_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_17_380_PUN_PUN", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_17_380_MB, { "MB, MODE S MB DATA", "asterix.062_V1_17_380_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MB_VALUE, { "MODE S MB DATA", "asterix.062_V1_17_380_MB_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_IAR, { "IAR, Indicated Airspeed", "asterix.062_V1_17_380_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_IAR_VALUE, { "Indicated Airspeed, [kt]", "asterix.062_V1_17_380_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MAC, { "MAC, Mach Number", "asterix.062_V1_17_380_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_MAC_VALUE, { "Mach Number, [Mach]", "asterix.062_V1_17_380_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_BPS, { "BPS, Barometric Pressure Setting (derived from Mode S BDS 4,0)", "asterix.062_V1_17_380_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_380_BPS_BPS, { "BPS, [mb]", "asterix.062_V1_17_380_BPS_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390, { "390, Flight Plan Related Data", "asterix.062_V1_17_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_TAG, { "TAG, FPPS Identification Tag", "asterix.062_V1_17_390_TAG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_TAG_SAC, { "SAC, System Area Code", "asterix.062_V1_17_390_TAG_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_TAG_SIC, { "SIC, System Identification Code", "asterix.062_V1_17_390_TAG_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_CS, { "CS, Callsign", "asterix.062_V1_17_390_CS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_CS_VALUE, { "Callsign", "asterix.062_V1_17_390_CS_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_IFI, { "IFI, IFPS_FLIGHT_ID", "asterix.062_V1_17_390_IFI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_IFI_TYP, { "TYP", "asterix.062_V1_17_390_IFI_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_IFI_TYP), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_390_IFI_NBR, { "NBR, Number from 0 to 99 999 999", "asterix.062_V1_17_390_IFI_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_062_V1_17_390_FCT, { "FCT, Flight Category", "asterix.062_V1_17_390_FCT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_FCT_GATOAT, { "GATOAT", "asterix.062_V1_17_390_FCT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_FCT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_390_FCT_FR1FR2, { "FR1FR2", "asterix.062_V1_17_390_FCT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_FCT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_062_V1_17_390_FCT_RVSM, { "RVSM", "asterix.062_V1_17_390_FCT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_FCT_RVSM), 0x0c, NULL, HFILL } }, { &hf_062_V1_17_390_FCT_HPR, { "HPR", "asterix.062_V1_17_390_FCT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_FCT_HPR), 0x02, NULL, HFILL } }, { &hf_062_V1_17_390_TAC, { "TAC, Type of Aircraft", "asterix.062_V1_17_390_TAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_TAC_VALUE, { "Type of Aircraft", "asterix.062_V1_17_390_TAC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_WTC, { "WTC, Wake Turbulence Category", "asterix.062_V1_17_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.062_V1_17_390_WTC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_DEP, { "DEP, Departure Airport", "asterix.062_V1_17_390_DEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_DEP_VALUE, { "Departure Airport", "asterix.062_V1_17_390_DEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_DST, { "DST, Destination Airport", "asterix.062_V1_17_390_DST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_DST_VALUE, { "Destination Airport", "asterix.062_V1_17_390_DST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_RDS, { "RDS, Runway Designation", "asterix.062_V1_17_390_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_RDS_NU1, { "NU1, First Number", "asterix.062_V1_17_390_RDS_NU1", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_RDS_NU2, { "NU2, Second Number", "asterix.062_V1_17_390_RDS_NU2", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_RDS_LTR, { "LTR, Letter", "asterix.062_V1_17_390_RDS_LTR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.062_V1_17_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.062_V1_17_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_CTL, { "CTL, Current Control Position", "asterix.062_V1_17_390_CTL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_CTL_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.062_V1_17_390_CTL_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_CTL_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.062_V1_17_390_CTL_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_TOD, { "TOD, Time of Departure / Arrival", "asterix.062_V1_17_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_TOD_TYP, { "TYP", "asterix.062_V1_17_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_062_V1_17_390_TOD_DAY, { "DAY", "asterix.062_V1_17_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_062_V1_17_390_TOD_HOR, { "HOR, Hours", "asterix.062_V1_17_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_17_390_TOD_MIN, { "MIN, Minutes", "asterix.062_V1_17_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_17_390_TOD_AVS, { "AVS, Seconds Available Flag", "asterix.062_V1_17_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_062_V1_17_390_TOD_SEC, { "SEC, Seconds", "asterix.062_V1_17_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_17_390_AST, { "AST, Aircraft Stand", "asterix.062_V1_17_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_AST_VALUE, { "Aircraft Stand", "asterix.062_V1_17_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_STS, { "STS, Stand Status", "asterix.062_V1_17_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_STS_EMP, { "EMP", "asterix.062_V1_17_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_062_V1_17_390_STS_AVL, { "AVL", "asterix.062_V1_17_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_062_V1_17_390_STD, { "STD, Standard Instrument Departure", "asterix.062_V1_17_390_STD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_STD_VALUE, { "Standard Instrument Departure", "asterix.062_V1_17_390_STD_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_STA, { "STA, Standard Instrument Arrival", "asterix.062_V1_17_390_STA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_STA_VALUE, { "Standard Instrument Arrival", "asterix.062_V1_17_390_STA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_PEM, { "PEM, Pre-Emergency Mode 3/A", "asterix.062_V1_17_390_PEM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_PEM_VA, { "VA", "asterix.062_V1_17_390_PEM_VA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_17_390_PEM_VA), 0x10, NULL, HFILL } }, { &hf_062_V1_17_390_PEM_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_17_390_PEM_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_17_390_PEC, { "PEC, Pre-Emergency Callsign", "asterix.062_V1_17_390_PEC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_390_PEC_VALUE, { "Pre-Emergency Callsign", "asterix.062_V1_17_390_PEC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500, { "500, Estimated Accuracies", "asterix.062_V1_17_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.062_V1_17_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_APC_X, { "X, APC (X-Component), [m]", "asterix.062_V1_17_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_APC_Y, { "Y, APC (Y-Component), [m]", "asterix.062_V1_17_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_COV, { "COV, XY Covariance Component", "asterix.062_V1_17_500_COV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_COV_VALUE, { "XY Covariance Component, [m]", "asterix.062_V1_17_500_COV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS-84)", "asterix.062_V1_17_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_APW_LAT, { "LAT, APW (Latitude Component), [°]", "asterix.062_V1_17_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_APW_LON, { "LON, APW (Longitude Component), [°]", "asterix.062_V1_17_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_AGA, { "AGA, Estimated Accuracy Of Calculated Track Geometric Altitude", "asterix.062_V1_17_500_AGA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_AGA_VALUE, { "Estimated Accuracy Of Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_17_500_AGA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_ABA, { "ABA, Estimated Accuracy Of Calculated Track Barometric Altitude", "asterix.062_V1_17_500_ABA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_ABA_VALUE, { "Estimated Accuracy Of Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_17_500_ABA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_ATV, { "ATV, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.062_V1_17_500_ATV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_ATV_X, { "X, ATV (X-Component), [m/s]", "asterix.062_V1_17_500_ATV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_ATV_Y, { "Y, ATV (Y-Component), [m/s]", "asterix.062_V1_17_500_ATV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_AA, { "AA, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.062_V1_17_500_AA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_AA_X, { "X, AA (X-Component), [m/s²]", "asterix.062_V1_17_500_AA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_AA_Y, { "Y, AA (Y-Component), [m/s²]", "asterix.062_V1_17_500_AA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb/Descent", "asterix.062_V1_17_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb/Descent, [ft/min]", "asterix.062_V1_17_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_510, { "510, Composed Track Number", "asterix.062_V1_17_510", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_510_MIDENT, { "MIDENT, Master System Unit Identification", "asterix.062_V1_17_510_MIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_510_MTRACK, { "MTRACK, Master System Track Number", "asterix.062_V1_17_510_MTRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_17_510_SIDENT, { "SIDENT, Slave System Unit Identification", "asterix.062_V1_17_510_SIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_510_STRACK, { "STRACK, Slave System Track Number", "asterix.062_V1_17_510_STRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_17_RE, { "RE, Reserved Expansion Field", "asterix.062_V1_17_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_17_SP, { "SP, Special Purpose Field", "asterix.062_V1_17_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_010, { "010, Data Source Identifier", "asterix.062_V1_18_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_010_SAC, { "SAC, System Area Code", "asterix.062_V1_18_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_010_SIC, { "SIC, System Identification Code", "asterix.062_V1_18_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_015, { "015, Service Identification", "asterix.062_V1_18_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_015_VALUE, { "Service Identification", "asterix.062_V1_18_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_040, { "040, Track Number", "asterix.062_V1_18_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_040_VALUE, { "Track Number", "asterix.062_V1_18_040_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_060, { "060, Track Mode 3/A Code", "asterix.062_V1_18_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_060_V, { "V, Validated", "asterix.062_V1_18_060_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_060_V), 0x80, NULL, HFILL } }, { &hf_062_V1_18_060_G, { "G, Garbled", "asterix.062_V1_18_060_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_060_G), 0x40, NULL, HFILL } }, { &hf_062_V1_18_060_CH, { "CH, Change in Mode 3/A", "asterix.062_V1_18_060_CH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_060_CH), 0x20, NULL, HFILL } }, { &hf_062_V1_18_060_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_18_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_18_070, { "070, Time Of Track Information", "asterix.062_V1_18_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_070_VALUE, { "Time Of Track Information, [s]", "asterix.062_V1_18_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_080, { "080, Track Status", "asterix.062_V1_18_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_080_MON, { "MON", "asterix.062_V1_18_080_MON", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_MON), 0x80, NULL, HFILL } }, { &hf_062_V1_18_080_SPI, { "SPI", "asterix.062_V1_18_080_SPI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_SPI), 0x40, NULL, HFILL } }, { &hf_062_V1_18_080_MRH, { "MRH, Most Reliable Height", "asterix.062_V1_18_080_MRH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_MRH), 0x20, NULL, HFILL } }, { &hf_062_V1_18_080_SRC, { "SRC, Source of Calculated Track Altitude for I062/130", "asterix.062_V1_18_080_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_SRC), 0x1c, NULL, HFILL } }, { &hf_062_V1_18_080_CNF, { "CNF", "asterix.062_V1_18_080_CNF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_CNF), 0x02, NULL, HFILL } }, { &hf_062_V1_18_080_SIM, { "SIM", "asterix.062_V1_18_080_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_SIM), 0x80, NULL, HFILL } }, { &hf_062_V1_18_080_TSE, { "TSE", "asterix.062_V1_18_080_TSE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_TSE), 0x40, NULL, HFILL } }, { &hf_062_V1_18_080_TSB, { "TSB", "asterix.062_V1_18_080_TSB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_TSB), 0x20, NULL, HFILL } }, { &hf_062_V1_18_080_FPC, { "FPC", "asterix.062_V1_18_080_FPC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_FPC), 0x10, NULL, HFILL } }, { &hf_062_V1_18_080_AFF, { "AFF", "asterix.062_V1_18_080_AFF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_AFF), 0x08, NULL, HFILL } }, { &hf_062_V1_18_080_STP, { "STP", "asterix.062_V1_18_080_STP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_STP), 0x04, NULL, HFILL } }, { &hf_062_V1_18_080_KOS, { "KOS", "asterix.062_V1_18_080_KOS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_KOS), 0x02, NULL, HFILL } }, { &hf_062_V1_18_080_AMA, { "AMA", "asterix.062_V1_18_080_AMA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_AMA), 0x80, NULL, HFILL } }, { &hf_062_V1_18_080_MD4, { "MD4", "asterix.062_V1_18_080_MD4", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_MD4), 0x60, NULL, HFILL } }, { &hf_062_V1_18_080_ME, { "ME", "asterix.062_V1_18_080_ME", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_ME), 0x10, NULL, HFILL } }, { &hf_062_V1_18_080_MI, { "MI", "asterix.062_V1_18_080_MI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_MI), 0x08, NULL, HFILL } }, { &hf_062_V1_18_080_MD5, { "MD5", "asterix.062_V1_18_080_MD5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_MD5), 0x06, NULL, HFILL } }, { &hf_062_V1_18_080_CST, { "CST", "asterix.062_V1_18_080_CST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_CST), 0x80, NULL, HFILL } }, { &hf_062_V1_18_080_PSR, { "PSR", "asterix.062_V1_18_080_PSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_PSR), 0x40, NULL, HFILL } }, { &hf_062_V1_18_080_SSR, { "SSR", "asterix.062_V1_18_080_SSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_SSR), 0x20, NULL, HFILL } }, { &hf_062_V1_18_080_MDS, { "MDS", "asterix.062_V1_18_080_MDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_MDS), 0x10, NULL, HFILL } }, { &hf_062_V1_18_080_ADS, { "ADS", "asterix.062_V1_18_080_ADS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_ADS), 0x08, NULL, HFILL } }, { &hf_062_V1_18_080_SUC, { "SUC", "asterix.062_V1_18_080_SUC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_SUC), 0x04, NULL, HFILL } }, { &hf_062_V1_18_080_AAC, { "AAC", "asterix.062_V1_18_080_AAC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_AAC), 0x02, NULL, HFILL } }, { &hf_062_V1_18_080_SDS, { "SDS", "asterix.062_V1_18_080_SDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_SDS), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_080_EMS, { "EMS", "asterix.062_V1_18_080_EMS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_EMS), 0x38, NULL, HFILL } }, { &hf_062_V1_18_080_PFT, { "PFT", "asterix.062_V1_18_080_PFT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_PFT), 0x04, NULL, HFILL } }, { &hf_062_V1_18_080_FPLT, { "FPLT", "asterix.062_V1_18_080_FPLT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_FPLT), 0x02, NULL, HFILL } }, { &hf_062_V1_18_080_DUPT, { "DUPT", "asterix.062_V1_18_080_DUPT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_DUPT), 0x80, NULL, HFILL } }, { &hf_062_V1_18_080_DUPF, { "DUPF", "asterix.062_V1_18_080_DUPF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_DUPF), 0x40, NULL, HFILL } }, { &hf_062_V1_18_080_DUPM, { "DUPM", "asterix.062_V1_18_080_DUPM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_DUPM), 0x20, NULL, HFILL } }, { &hf_062_V1_18_080_SFC, { "SFC", "asterix.062_V1_18_080_SFC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_SFC), 0x10, NULL, HFILL } }, { &hf_062_V1_18_080_IDD, { "IDD", "asterix.062_V1_18_080_IDD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_IDD), 0x08, NULL, HFILL } }, { &hf_062_V1_18_080_IEC, { "IEC", "asterix.062_V1_18_080_IEC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_080_IEC), 0x04, NULL, HFILL } }, { &hf_062_V1_18_100, { "100, Calculated Track Position (Cartesian)", "asterix.062_V1_18_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_100_X, { "X, X Coordinate, [m]", "asterix.062_V1_18_100_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_100_Y, { "Y, Y Coordinate, [m]", "asterix.062_V1_18_100_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_105, { "105, Calculated Position In WGS-84 Co-ordinates", "asterix.062_V1_18_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_105_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_18_105_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_105_LON, { "LON, Longitude, [°]", "asterix.062_V1_18_105_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110, { "110, Mode 5 Data Reports and Extended Mode 1 Code", "asterix.062_V1_18_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_SUM, { "SUM, Mode 5 Summary", "asterix.062_V1_18_110_SUM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_M5, { "M5", "asterix.062_V1_18_110_SUM_M5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_M5), 0x80, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_ID, { "ID", "asterix.062_V1_18_110_SUM_ID", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_ID), 0x40, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_DA, { "DA", "asterix.062_V1_18_110_SUM_DA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_DA), 0x20, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_M1, { "M1", "asterix.062_V1_18_110_SUM_M1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_M1), 0x10, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_M2, { "M2", "asterix.062_V1_18_110_SUM_M2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_M2), 0x08, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_M3, { "M3", "asterix.062_V1_18_110_SUM_M3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_M3), 0x04, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_MC, { "MC", "asterix.062_V1_18_110_SUM_MC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_MC), 0x02, NULL, HFILL } }, { &hf_062_V1_18_110_SUM_X, { "X, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_18_110_SUM_X", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_SUM_X), 0x01, NULL, HFILL } }, { &hf_062_V1_18_110_PMN, { "PMN, Mode 5 PIN/ National Origin/Mission Code", "asterix.062_V1_18_110_PMN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_PMN_PIN, { "PIN, PIN Code", "asterix.062_V1_18_110_PMN_PIN", FT_UINT16, BASE_DEC, NULL, 0x3fff, NULL, HFILL } }, { &hf_062_V1_18_110_PMN_NAT, { "NAT, National Origin", "asterix.062_V1_18_110_PMN_NAT", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_18_110_PMN_MIS, { "MIS, Mission Code", "asterix.062_V1_18_110_PMN_MIS", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_18_110_POS, { "POS, Mode 5 Reported Position", "asterix.062_V1_18_110_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_POS_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_18_110_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_POS_LON, { "LON, Longitude, [°]", "asterix.062_V1_18_110_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_GA, { "GA, Mode 5 GNSS-derived Altitude", "asterix.062_V1_18_110_GA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_GA_RES, { "RES, Resolution with which the GNSS-derived Altitude (GA) is Reported", "asterix.062_V1_18_110_GA_RES", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_GA_RES), 0x40, NULL, HFILL } }, { &hf_062_V1_18_110_GA_GA, { "GA, GNSS-derived Altitude of Target, Expressed as Height Above WGS 84 Ellipsoid, [ft]", "asterix.062_V1_18_110_GA_GA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_EM1, { "EM1, Extended Mode 1 Code in Octal Representation", "asterix.062_V1_18_110_EM1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_EM1_EM1, { "EM1, Extended Mode 1 Reply in Octal Representation", "asterix.062_V1_18_110_EM1_EM1", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_18_110_TOS, { "TOS, Time Offset for POS and GA", "asterix.062_V1_18_110_TOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_TOS_VALUE, { "Time Offset for POS and GA, [s]", "asterix.062_V1_18_110_TOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_XP, { "XP, X Pulse Presence", "asterix.062_V1_18_110_XP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_110_XP_X5, { "X5, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_18_110_XP_X5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_XP_X5), 0x10, NULL, HFILL } }, { &hf_062_V1_18_110_XP_XC, { "XC, X-pulse from Mode C Reply", "asterix.062_V1_18_110_XP_XC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_XP_XC), 0x08, NULL, HFILL } }, { &hf_062_V1_18_110_XP_X3, { "X3, X-pulse from Mode 3/A Reply", "asterix.062_V1_18_110_XP_X3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_XP_X3), 0x04, NULL, HFILL } }, { &hf_062_V1_18_110_XP_X2, { "X2, X-pulse from Mode 2 Reply", "asterix.062_V1_18_110_XP_X2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_XP_X2), 0x02, NULL, HFILL } }, { &hf_062_V1_18_110_XP_X1, { "X1, X-pulse from Mode 1 Reply", "asterix.062_V1_18_110_XP_X1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_110_XP_X1), 0x01, NULL, HFILL } }, { &hf_062_V1_18_120, { "120, Track Mode 2 Code", "asterix.062_V1_18_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_120_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.062_V1_18_120_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_18_130, { "130, Calculated Track Geometric Altitude", "asterix.062_V1_18_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_130_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_18_130_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_135, { "135, Calculated Track Barometric Altitude", "asterix.062_V1_18_135", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_135_QNH, { "QNH", "asterix.062_V1_18_135_QNH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_135_QNH), 0x80, NULL, HFILL } }, { &hf_062_V1_18_135_CTB, { "CTB, Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_18_135_CTB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_136, { "136, Measured Flight Level", "asterix.062_V1_18_136", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_136_VALUE, { "Measured Flight Level, [FL]", "asterix.062_V1_18_136_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_185, { "185, Calculated Track Velocity (Cartesian)", "asterix.062_V1_18_185", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_185_VX, { "VX, Velocity (X-component), [m/s]", "asterix.062_V1_18_185_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_185_VY, { "VY, Velocity (Y-component), [m/s]", "asterix.062_V1_18_185_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_200, { "200, Mode of Movement", "asterix.062_V1_18_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_200_TRANS, { "TRANS, Transversal Acceleration", "asterix.062_V1_18_200_TRANS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_200_TRANS), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_200_LONG, { "LONG, Longitudinal Acceleration", "asterix.062_V1_18_200_LONG", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_200_LONG), 0x30, NULL, HFILL } }, { &hf_062_V1_18_200_VERT, { "VERT, Transversal Acceleration", "asterix.062_V1_18_200_VERT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_200_VERT), 0x0c, NULL, HFILL } }, { &hf_062_V1_18_200_ADF, { "ADF, Altitude Discrepancy Flag", "asterix.062_V1_18_200_ADF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_200_ADF), 0x02, NULL, HFILL } }, { &hf_062_V1_18_210, { "210, Calculated Acceleration (Cartesian)", "asterix.062_V1_18_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_210_AX, { "AX, [m/s²]", "asterix.062_V1_18_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_210_AY, { "AY, [m/s²]", "asterix.062_V1_18_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_220, { "220, Calculated Rate of Climb/Descent", "asterix.062_V1_18_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_220_VALUE, { "Calculated Rate of Climb/Descent, [ft/min]", "asterix.062_V1_18_220_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_245, { "245, Target Identification", "asterix.062_V1_18_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_245_STI, { "STI", "asterix.062_V1_18_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_245_STI), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_245_CHR, { "CHR, Characters 1-8 (Coded on 6 Bits Each) Defining Target Identification", "asterix.062_V1_18_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_270, { "270, Target Size and Orientation", "asterix.062_V1_18_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_270_LENGTH, { "LENGTH, Length, [m]", "asterix.062_V1_18_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.062_V1_18_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_270_WIDTH, { "WIDTH, Width, [m]", "asterix.062_V1_18_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290, { "290, System Track Update Ages", "asterix.062_V1_18_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_TRK, { "TRK, Track Age", "asterix.062_V1_18_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_TRK_VALUE, { "Track Age, [s]", "asterix.062_V1_18_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_PSR, { "PSR, PSR Age", "asterix.062_V1_18_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_PSR_VALUE, { "PSR Age, [s]", "asterix.062_V1_18_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_SSR, { "SSR, SSR Age", "asterix.062_V1_18_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_SSR_VALUE, { "SSR Age, [s]", "asterix.062_V1_18_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_MDS, { "MDS, Mode S Age", "asterix.062_V1_18_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_MDS_VALUE, { "Mode S Age, [s]", "asterix.062_V1_18_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_ADS, { "ADS, ADS-C Age", "asterix.062_V1_18_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_ADS_VALUE, { "ADS-C Age, [s]", "asterix.062_V1_18_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_ES, { "ES, ADS-B Extended Squitter Age", "asterix.062_V1_18_290_ES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_ES_VALUE, { "ADS-B Extended Squitter Age, [s]", "asterix.062_V1_18_290_ES_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_VDL, { "VDL, ADS-B VDL Mode 4 Age", "asterix.062_V1_18_290_VDL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_VDL_VALUE, { "ADS-B VDL Mode 4 Age, [s]", "asterix.062_V1_18_290_VDL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_UAT, { "UAT, ADS-B UAT Age", "asterix.062_V1_18_290_UAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_UAT_VALUE, { "ADS-B UAT Age, [s]", "asterix.062_V1_18_290_UAT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_LOP, { "LOP, Loop Age", "asterix.062_V1_18_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_LOP_VALUE, { "Loop Age, [s]", "asterix.062_V1_18_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_MLT, { "MLT, Multilateration Age", "asterix.062_V1_18_290_MLT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_290_MLT_VALUE, { "Multilateration Age, [s]", "asterix.062_V1_18_290_MLT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295, { "295, Track Data Ages", "asterix.062_V1_18_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MFL, { "MFL, Measured Flight Level Age", "asterix.062_V1_18_295_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MFL_VALUE, { "Measured Flight Level Age, [s]", "asterix.062_V1_18_295_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD1, { "MD1, Mode 1 Age", "asterix.062_V1_18_295_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD1_VALUE, { "Mode 1 Age, [s]", "asterix.062_V1_18_295_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD2, { "MD2, Mode 2 Age", "asterix.062_V1_18_295_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD2_VALUE, { "Mode 2 Age, [s]", "asterix.062_V1_18_295_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MDA, { "MDA, Mode 3/A Age", "asterix.062_V1_18_295_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MDA_VALUE, { "Mode 3/A Age, [s]", "asterix.062_V1_18_295_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD4, { "MD4, Mode 4 Age", "asterix.062_V1_18_295_MD4", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD4_VALUE, { "Mode 4 Age, [s]", "asterix.062_V1_18_295_MD4_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD5, { "MD5, Mode 5 Age", "asterix.062_V1_18_295_MD5", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MD5_VALUE, { "Mode 5 Age, [s]", "asterix.062_V1_18_295_MD5_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MHG, { "MHG, Magnetic Heading Age", "asterix.062_V1_18_295_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MHG_VALUE, { "Magnetic Heading Age, [s]", "asterix.062_V1_18_295_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_IAS, { "IAS, Indicated Airspeed / Mach Nb Age", "asterix.062_V1_18_295_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_IAS_VALUE, { "Indicated Airspeed / Mach Nb Age, [s]", "asterix.062_V1_18_295_IAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TAS, { "TAS, True Airspeed Age", "asterix.062_V1_18_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TAS_VALUE, { "True Airspeed Age, [s]", "asterix.062_V1_18_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_SAL, { "SAL, Selected Altitude Age", "asterix.062_V1_18_295_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_SAL_VALUE, { "Selected Altitude Age, [s]", "asterix.062_V1_18_295_SAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_FSS, { "FSS, Final State Selected Altitude Age", "asterix.062_V1_18_295_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_FSS_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.062_V1_18_295_FSS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TID, { "TID, Trajectory Intent Age", "asterix.062_V1_18_295_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TID_VALUE, { "Trajectory Intent Age, [s]", "asterix.062_V1_18_295_TID_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_COM, { "COM, Communication/ACAS Capability and Flight Status Age", "asterix.062_V1_18_295_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_COM_VALUE, { "Communication/ACAS Capability and Flight Status Age, [s]", "asterix.062_V1_18_295_COM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_SAB, { "SAB, Status Reported by ADS-B Age", "asterix.062_V1_18_295_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_SAB_VALUE, { "Status Reported by ADS-B Age, [s]", "asterix.062_V1_18_295_SAB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_ACS, { "ACS, ACAS Resolution Advisory Report Age", "asterix.062_V1_18_295_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_ACS_VALUE, { "ACAS Resolution Advisory Report Age, [s]", "asterix.062_V1_18_295_ACS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.062_V1_18_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.062_V1_18_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_GVR, { "GVR, Geometrical Vertical Rate Age", "asterix.062_V1_18_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_GVR_VALUE, { "Geometrical Vertical Rate Age, [s]", "asterix.062_V1_18_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_RAN, { "RAN, Roll Angle Age", "asterix.062_V1_18_295_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_RAN_VALUE, { "Roll Angle Age, [s]", "asterix.062_V1_18_295_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TAR, { "TAR, Track Angle Rate Age", "asterix.062_V1_18_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.062_V1_18_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TAN, { "TAN, Track Angle Age", "asterix.062_V1_18_295_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_TAN_VALUE, { "Track Angle Age, [s]", "asterix.062_V1_18_295_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_GSP, { "GSP, Ground Speed Age", "asterix.062_V1_18_295_GSP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_GSP_VALUE, { "Ground Speed Age, [s]", "asterix.062_V1_18_295_GSP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_VUN, { "VUN, Velocity Uncertainty Age", "asterix.062_V1_18_295_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_VUN_VALUE, { "Velocity Uncertainty Age, [s]", "asterix.062_V1_18_295_VUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MET, { "MET, Meteorological Data Age", "asterix.062_V1_18_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MET_VALUE, { "Meteorological Data Age, [s]", "asterix.062_V1_18_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_EMC, { "EMC, Emitter Category Age", "asterix.062_V1_18_295_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_EMC_VALUE, { "Emitter Category Age, [s]", "asterix.062_V1_18_295_EMC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_POS, { "POS, Position Age", "asterix.062_V1_18_295_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_POS_VALUE, { "Position Age, [s]", "asterix.062_V1_18_295_POS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_GAL, { "GAL, Geometric Altitude Age", "asterix.062_V1_18_295_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_GAL_VALUE, { "Geometric Altitude Age, [s]", "asterix.062_V1_18_295_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_PUN, { "PUN, Position Uncertainty Age", "asterix.062_V1_18_295_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_PUN_VALUE, { "Position Uncertainty Age, [s]", "asterix.062_V1_18_295_PUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MB, { "MB, Mode S MB Data Age", "asterix.062_V1_18_295_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MB_VALUE, { "Mode S MB Data Age, [s]", "asterix.062_V1_18_295_MB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_IAR, { "IAR, Indicated Airspeed Data Age", "asterix.062_V1_18_295_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_IAR_VALUE, { "Indicated Airspeed Data Age, [s]", "asterix.062_V1_18_295_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MAC, { "MAC, Mach Number Data Age", "asterix.062_V1_18_295_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_MAC_VALUE, { "Mach Number Data Age, [s]", "asterix.062_V1_18_295_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_BPS, { "BPS, Barometric Pressure Setting Data Age", "asterix.062_V1_18_295_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_295_BPS_VALUE, { "Barometric Pressure Setting Data Age, [s]", "asterix.062_V1_18_295_BPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_300, { "300, Vehicle Fleet Identification", "asterix.062_V1_18_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_300_VALUE, { "Vehicle Fleet Identification", "asterix.062_V1_18_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_300_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_18_340, { "340, Measured Information", "asterix.062_V1_18_340", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_SID, { "SID, Sensor Identification", "asterix.062_V1_18_340_SID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_SID_SAC, { "SAC, System Area Code", "asterix.062_V1_18_340_SID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_SID_SIC, { "SIC, System Identification Code", "asterix.062_V1_18_340_SID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_POS, { "POS, Measured Position", "asterix.062_V1_18_340_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_POS_RHO, { "RHO, Measured Distance, [NM]", "asterix.062_V1_18_340_POS_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_POS_THETA, { "THETA, Measured Azimuth, [°]", "asterix.062_V1_18_340_POS_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_HEIGHT, { "HEIGHT, Measured 3-D Height", "asterix.062_V1_18_340_HEIGHT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_HEIGHT_VALUE, { "Measured 3-D Height, [ft]", "asterix.062_V1_18_340_HEIGHT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_MDC, { "MDC", "asterix.062_V1_18_340_MDC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_MDC_V, { "V, Validated", "asterix.062_V1_18_340_MDC_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_MDC_V), 0x80, NULL, HFILL } }, { &hf_062_V1_18_340_MDC_G, { "G, Garbled", "asterix.062_V1_18_340_MDC_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_MDC_G), 0x40, NULL, HFILL } }, { &hf_062_V1_18_340_MDC_LMC, { "LMC, Last Measured Mode C Code, [FL]", "asterix.062_V1_18_340_MDC_LMC", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_MDA, { "MDA", "asterix.062_V1_18_340_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_MDA_V, { "V, Validated", "asterix.062_V1_18_340_MDA_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_MDA_V), 0x80, NULL, HFILL } }, { &hf_062_V1_18_340_MDA_G, { "G, Garbled", "asterix.062_V1_18_340_MDA_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_MDA_G), 0x40, NULL, HFILL } }, { &hf_062_V1_18_340_MDA_L, { "L", "asterix.062_V1_18_340_MDA_L", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_MDA_L), 0x20, NULL, HFILL } }, { &hf_062_V1_18_340_MDA_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_18_340_MDA_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_18_340_TYP, { "TYP", "asterix.062_V1_18_340_TYP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_340_TYP_TYP, { "TYP, Report Type", "asterix.062_V1_18_340_TYP_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_TYP_TYP), 0xe0, NULL, HFILL } }, { &hf_062_V1_18_340_TYP_SIM, { "SIM", "asterix.062_V1_18_340_TYP_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_TYP_SIM), 0x10, NULL, HFILL } }, { &hf_062_V1_18_340_TYP_RAB, { "RAB", "asterix.062_V1_18_340_TYP_RAB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_TYP_RAB), 0x08, NULL, HFILL } }, { &hf_062_V1_18_340_TYP_TST, { "TST", "asterix.062_V1_18_340_TYP_TST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_340_TYP_TST), 0x04, NULL, HFILL } }, { &hf_062_V1_18_380, { "380, Aircraft Derived Data", "asterix.062_V1_18_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_ADR, { "ADR, Target Address", "asterix.062_V1_18_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_ADR_VALUE, { "Target Address", "asterix.062_V1_18_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_ID, { "ID, Target Identification", "asterix.062_V1_18_380_ID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_ID_VALUE, { "Target Identification", "asterix.062_V1_18_380_ID_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MHG, { "MHG, Magnetic Heading", "asterix.062_V1_18_380_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MHG_VALUE, { "Magnetic Heading, [°]", "asterix.062_V1_18_380_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_IAS, { "IAS, Indicated Airspeed/Mach No", "asterix.062_V1_18_380_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_IAS_IM, { "IM", "asterix.062_V1_18_380_IAS_IM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_IAS_IM), 0x80, NULL, HFILL } }, { &hf_062_V1_18_380_IAS_IAS, { "IAS", "asterix.062_V1_18_380_IAS_IAS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_062_V1_18_380_TAS, { "TAS, True Airspeed", "asterix.062_V1_18_380_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TAS_VALUE, { "True Airspeed, [kt]", "asterix.062_V1_18_380_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_SAL, { "SAL, Selected Altitude", "asterix.062_V1_18_380_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_SAL_SAS, { "SAS", "asterix.062_V1_18_380_SAL_SAS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_SAL_SAS), 0x80, NULL, HFILL } }, { &hf_062_V1_18_380_SAL_SRC, { "SRC", "asterix.062_V1_18_380_SAL_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_SAL_SRC), 0x60, NULL, HFILL } }, { &hf_062_V1_18_380_SAL_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_18_380_SAL_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_FSS, { "FSS, Final State Selected Altitude", "asterix.062_V1_18_380_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_FSS_MV, { "MV, Manage Vertical Mode", "asterix.062_V1_18_380_FSS_MV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_FSS_MV), 0x80, NULL, HFILL } }, { &hf_062_V1_18_380_FSS_AH, { "AH, Altitude Hold", "asterix.062_V1_18_380_FSS_AH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_FSS_AH), 0x40, NULL, HFILL } }, { &hf_062_V1_18_380_FSS_AM, { "AM, Approach Mode", "asterix.062_V1_18_380_FSS_AM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_FSS_AM), 0x20, NULL, HFILL } }, { &hf_062_V1_18_380_FSS_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_18_380_FSS_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TIS, { "TIS, Trajectory Intent Status", "asterix.062_V1_18_380_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TIS_NAV, { "NAV, TID Available", "asterix.062_V1_18_380_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_062_V1_18_380_TIS_NVB, { "NVB, TID Valid", "asterix.062_V1_18_380_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_062_V1_18_380_TID, { "TID, Trajectory Intent Data", "asterix.062_V1_18_380_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TID_TCA, { "TCA, TCP Number Availability", "asterix.062_V1_18_380_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TID_TCA), 0x80, NULL, HFILL } }, { &hf_062_V1_18_380_TID_NC, { "NC, TCP Compliance", "asterix.062_V1_18_380_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TID_NC), 0x40, NULL, HFILL } }, { &hf_062_V1_18_380_TID_TCPN, { "TCPN, Trajectory Change Point Number", "asterix.062_V1_18_380_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_18_380_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_18_380_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TID_LAT, { "LAT, Latitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_18_380_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TID_LON, { "LON, Longitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_18_380_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TID_PT, { "PT, Point Type", "asterix.062_V1_18_380_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TID_PT), 0xf0, NULL, HFILL } }, { &hf_062_V1_18_380_TID_TD, { "TD, Turn Direction", "asterix.062_V1_18_380_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TID_TD), 0x0c, NULL, HFILL } }, { &hf_062_V1_18_380_TID_TRA, { "TRA, Turn Radius Availability", "asterix.062_V1_18_380_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TID_TRA), 0x02, NULL, HFILL } }, { &hf_062_V1_18_380_TID_TOA, { "TOA, TOV Available", "asterix.062_V1_18_380_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TID_TOA), 0x01, NULL, HFILL } }, { &hf_062_V1_18_380_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.062_V1_18_380_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.062_V1_18_380_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_COM, { "COM, Communications/ACAS Capability and Flight Status", "asterix.062_V1_18_380_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_COM_COM, { "COM, Communications Capability of the Transponder", "asterix.062_V1_18_380_COM_COM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_COM_COM), 0xe0, NULL, HFILL } }, { &hf_062_V1_18_380_COM_STAT, { "STAT, Flight Status", "asterix.062_V1_18_380_COM_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_COM_STAT), 0x1c, NULL, HFILL } }, { &hf_062_V1_18_380_COM_SSC, { "SSC, Specific Service Capability", "asterix.062_V1_18_380_COM_SSC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_COM_SSC), 0x80, NULL, HFILL } }, { &hf_062_V1_18_380_COM_ARC, { "ARC, Altitude Reporting Capability", "asterix.062_V1_18_380_COM_ARC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_COM_ARC), 0x40, NULL, HFILL } }, { &hf_062_V1_18_380_COM_AIC, { "AIC, Aircraft Identification Capability", "asterix.062_V1_18_380_COM_AIC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_COM_AIC), 0x20, NULL, HFILL } }, { &hf_062_V1_18_380_COM_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.062_V1_18_380_COM_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_062_V1_18_380_COM_B1B, { "B1B, BDS BDS 1,0 Bits 37/40", "asterix.062_V1_18_380_COM_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_18_380_SAB, { "SAB, Status Reported by ADS-B", "asterix.062_V1_18_380_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_SAB_AC, { "AC, ACAS Status", "asterix.062_V1_18_380_SAB_AC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_SAB_AC), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_380_SAB_MN, { "MN, Multiple Navigational Aids Status", "asterix.062_V1_18_380_SAB_MN", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_SAB_MN), 0x30, NULL, HFILL } }, { &hf_062_V1_18_380_SAB_DC, { "DC, Differential Correction Status", "asterix.062_V1_18_380_SAB_DC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_SAB_DC), 0x0c, NULL, HFILL } }, { &hf_062_V1_18_380_SAB_GBS, { "GBS, Ground Bit Set", "asterix.062_V1_18_380_SAB_GBS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_SAB_GBS), 0x02, NULL, HFILL } }, { &hf_062_V1_18_380_SAB_STAT, { "STAT, Flight Status", "asterix.062_V1_18_380_SAB_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_SAB_STAT), 0x07, NULL, HFILL } }, { &hf_062_V1_18_380_ACS, { "ACS, ACAS Resolution Advisory Report", "asterix.062_V1_18_380_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_ACS_VALUE, { "ACAS Resolution Advisory Report", "asterix.062_V1_18_380_ACS_VALUE", FT_UINT56, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_BVR, { "BVR, Barometric Vertical Rate", "asterix.062_V1_18_380_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_BVR_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.062_V1_18_380_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_GVR, { "GVR, Geometric Vertical Rate", "asterix.062_V1_18_380_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_GVR_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.062_V1_18_380_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_RAN, { "RAN, Roll Angle", "asterix.062_V1_18_380_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_RAN_VALUE, { "Roll Angle, [°]", "asterix.062_V1_18_380_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TAR, { "TAR, Track Angle Rate", "asterix.062_V1_18_380_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TAR_TI, { "TI, Turn Indicator", "asterix.062_V1_18_380_TAR_TI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_TAR_TI), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_380_TAR_ROT, { "ROT, Rate of Turn in Two's Complement Form, [°/s]", "asterix.062_V1_18_380_TAR_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TAN, { "TAN, Track Angle", "asterix.062_V1_18_380_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_TAN_VALUE, { "Track Angle, [°]", "asterix.062_V1_18_380_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_GS, { "GS, Ground Speed", "asterix.062_V1_18_380_GS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_GS_VALUE, { "Ground Speed, [NM/s]", "asterix.062_V1_18_380_GS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_VUN, { "VUN, Velocity Uncertainty", "asterix.062_V1_18_380_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_VUN_VALUE, { "Velocity Uncertainty", "asterix.062_V1_18_380_VUN_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MET, { "MET, Meteorological Data", "asterix.062_V1_18_380_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MET_WS, { "WS, Wind Speed Valid Flag", "asterix.062_V1_18_380_MET_WS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_MET_WS), 0x80, NULL, HFILL } }, { &hf_062_V1_18_380_MET_WD, { "WD, Wind Direction Valid Flag", "asterix.062_V1_18_380_MET_WD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_MET_WD), 0x40, NULL, HFILL } }, { &hf_062_V1_18_380_MET_TMP, { "TMP, Temperature Valid Flag", "asterix.062_V1_18_380_MET_TMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_MET_TMP), 0x20, NULL, HFILL } }, { &hf_062_V1_18_380_MET_TRB, { "TRB, Turbulence Valid Flag", "asterix.062_V1_18_380_MET_TRB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_MET_TRB), 0x10, NULL, HFILL } }, { &hf_062_V1_18_380_MET_WSD, { "WSD, Wind Speed, [kt]", "asterix.062_V1_18_380_MET_WSD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MET_WDD, { "WDD, Wind Direction, [°]", "asterix.062_V1_18_380_MET_WDD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MET_TMPD, { "TMPD, Temperature in Degrees Celsius, [°C]", "asterix.062_V1_18_380_MET_TMPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MET_TRBD, { "TRBD, Turbulence", "asterix.062_V1_18_380_MET_TRBD", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_EMC, { "EMC, Emitter Category", "asterix.062_V1_18_380_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_EMC_VALUE, { "Emitter Category", "asterix.062_V1_18_380_EMC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_380_EMC_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_POS, { "POS, Position", "asterix.062_V1_18_380_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_POS_LAT, { "LAT, Latitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_18_380_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_POS_LON, { "LON, Longitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_18_380_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_GAL, { "GAL, Geometric Altitude", "asterix.062_V1_18_380_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_GAL_VALUE, { "Geometric Altitude, [ft]", "asterix.062_V1_18_380_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_18_380_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_PUN_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_18_380_PUN_PUN", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_18_380_MB, { "MB, MODE S MB DATA", "asterix.062_V1_18_380_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MB_VALUE, { "MODE S MB DATA", "asterix.062_V1_18_380_MB_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_IAR, { "IAR, Indicated Airspeed", "asterix.062_V1_18_380_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_IAR_VALUE, { "Indicated Airspeed, [kt]", "asterix.062_V1_18_380_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MAC, { "MAC, Mach Number", "asterix.062_V1_18_380_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_MAC_VALUE, { "Mach Number, [Mach]", "asterix.062_V1_18_380_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_BPS, { "BPS, Barometric Pressure Setting (derived from Mode S BDS 4,0)", "asterix.062_V1_18_380_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_380_BPS_BPS, { "BPS, [mb]", "asterix.062_V1_18_380_BPS_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390, { "390, Flight Plan Related Data", "asterix.062_V1_18_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_TAG, { "TAG, FPPS Identification Tag", "asterix.062_V1_18_390_TAG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_TAG_SAC, { "SAC, System Area Code", "asterix.062_V1_18_390_TAG_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_TAG_SIC, { "SIC, System Identification Code", "asterix.062_V1_18_390_TAG_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_CS, { "CS, Callsign", "asterix.062_V1_18_390_CS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_CS_VALUE, { "Callsign", "asterix.062_V1_18_390_CS_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_IFI, { "IFI, IFPS_FLIGHT_ID", "asterix.062_V1_18_390_IFI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_IFI_TYP, { "TYP", "asterix.062_V1_18_390_IFI_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_IFI_TYP), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_390_IFI_NBR, { "NBR, Number from 0 to 99 999 999", "asterix.062_V1_18_390_IFI_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_062_V1_18_390_FCT, { "FCT, Flight Category", "asterix.062_V1_18_390_FCT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_FCT_GATOAT, { "GATOAT", "asterix.062_V1_18_390_FCT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_FCT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_390_FCT_FR1FR2, { "FR1FR2", "asterix.062_V1_18_390_FCT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_FCT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_062_V1_18_390_FCT_RVSM, { "RVSM", "asterix.062_V1_18_390_FCT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_FCT_RVSM), 0x0c, NULL, HFILL } }, { &hf_062_V1_18_390_FCT_HPR, { "HPR", "asterix.062_V1_18_390_FCT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_FCT_HPR), 0x02, NULL, HFILL } }, { &hf_062_V1_18_390_TAC, { "TAC, Type of Aircraft", "asterix.062_V1_18_390_TAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_TAC_VALUE, { "Type of Aircraft", "asterix.062_V1_18_390_TAC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_WTC, { "WTC, Wake Turbulence Category", "asterix.062_V1_18_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.062_V1_18_390_WTC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_DEP, { "DEP, Departure Airport", "asterix.062_V1_18_390_DEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_DEP_VALUE, { "Departure Airport", "asterix.062_V1_18_390_DEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_DST, { "DST, Destination Airport", "asterix.062_V1_18_390_DST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_DST_VALUE, { "Destination Airport", "asterix.062_V1_18_390_DST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_RDS, { "RDS, Runway Designation", "asterix.062_V1_18_390_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_RDS_NU1, { "NU1, First Number", "asterix.062_V1_18_390_RDS_NU1", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_RDS_NU2, { "NU2, Second Number", "asterix.062_V1_18_390_RDS_NU2", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_RDS_LTR, { "LTR, Letter", "asterix.062_V1_18_390_RDS_LTR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.062_V1_18_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.062_V1_18_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_CTL, { "CTL, Current Control Position", "asterix.062_V1_18_390_CTL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_CTL_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.062_V1_18_390_CTL_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_CTL_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.062_V1_18_390_CTL_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_TOD, { "TOD, Time of Departure / Arrival", "asterix.062_V1_18_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_TOD_TYP, { "TYP", "asterix.062_V1_18_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_062_V1_18_390_TOD_DAY, { "DAY", "asterix.062_V1_18_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_062_V1_18_390_TOD_HOR, { "HOR, Hours", "asterix.062_V1_18_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_18_390_TOD_MIN, { "MIN, Minutes", "asterix.062_V1_18_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_18_390_TOD_AVS, { "AVS, Seconds Available Flag", "asterix.062_V1_18_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_062_V1_18_390_TOD_SEC, { "SEC, Seconds", "asterix.062_V1_18_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_18_390_AST, { "AST, Aircraft Stand", "asterix.062_V1_18_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_AST_VALUE, { "Aircraft Stand", "asterix.062_V1_18_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_STS, { "STS, Stand Status", "asterix.062_V1_18_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_STS_EMP, { "EMP", "asterix.062_V1_18_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_062_V1_18_390_STS_AVL, { "AVL", "asterix.062_V1_18_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_062_V1_18_390_STD, { "STD, Standard Instrument Departure", "asterix.062_V1_18_390_STD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_STD_VALUE, { "Standard Instrument Departure", "asterix.062_V1_18_390_STD_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_STA, { "STA, Standard Instrument Arrival", "asterix.062_V1_18_390_STA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_STA_VALUE, { "Standard Instrument Arrival", "asterix.062_V1_18_390_STA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_PEM, { "PEM, Pre-Emergency Mode 3/A", "asterix.062_V1_18_390_PEM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_PEM_VA, { "VA", "asterix.062_V1_18_390_PEM_VA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_18_390_PEM_VA), 0x10, NULL, HFILL } }, { &hf_062_V1_18_390_PEM_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_18_390_PEM_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_18_390_PEC, { "PEC, Pre-Emergency Callsign", "asterix.062_V1_18_390_PEC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_390_PEC_VALUE, { "Pre-Emergency Callsign", "asterix.062_V1_18_390_PEC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500, { "500, Estimated Accuracies", "asterix.062_V1_18_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.062_V1_18_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_APC_X, { "X, APC (X-Component), [m]", "asterix.062_V1_18_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_APC_Y, { "Y, APC (Y-Component), [m]", "asterix.062_V1_18_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_COV, { "COV, XY Covariance Component", "asterix.062_V1_18_500_COV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_COV_VALUE, { "XY Covariance Component, [m]", "asterix.062_V1_18_500_COV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS-84)", "asterix.062_V1_18_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_APW_LAT, { "LAT, APW (Latitude Component), [°]", "asterix.062_V1_18_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_APW_LON, { "LON, APW (Longitude Component), [°]", "asterix.062_V1_18_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_AGA, { "AGA, Estimated Accuracy Of Calculated Track Geometric Altitude", "asterix.062_V1_18_500_AGA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_AGA_VALUE, { "Estimated Accuracy Of Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_18_500_AGA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_ABA, { "ABA, Estimated Accuracy Of Calculated Track Barometric Altitude", "asterix.062_V1_18_500_ABA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_ABA_VALUE, { "Estimated Accuracy Of Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_18_500_ABA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_ATV, { "ATV, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.062_V1_18_500_ATV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_ATV_X, { "X, ATV (X-Component), [m/s]", "asterix.062_V1_18_500_ATV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_ATV_Y, { "Y, ATV (Y-Component), [m/s]", "asterix.062_V1_18_500_ATV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_AA, { "AA, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.062_V1_18_500_AA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_AA_X, { "X, AA (X-Component), [m/s²]", "asterix.062_V1_18_500_AA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_AA_Y, { "Y, AA (Y-Component), [m/s²]", "asterix.062_V1_18_500_AA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb/Descent", "asterix.062_V1_18_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb/Descent, [ft/min]", "asterix.062_V1_18_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_510, { "510, Composed Track Number", "asterix.062_V1_18_510", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_510_MIDENT, { "MIDENT, Master System Unit Identification", "asterix.062_V1_18_510_MIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_510_MTRACK, { "MTRACK, Master System Track Number", "asterix.062_V1_18_510_MTRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_18_510_SIDENT, { "SIDENT, Slave System Unit Identification", "asterix.062_V1_18_510_SIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_510_STRACK, { "STRACK, Slave System Track Number", "asterix.062_V1_18_510_STRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_18_RE, { "RE, Reserved Expansion Field", "asterix.062_V1_18_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_18_SP, { "SP, Special Purpose Field", "asterix.062_V1_18_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_010, { "010, Data Source Identifier", "asterix.062_V1_19_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_010_SAC, { "SAC, System Area Code", "asterix.062_V1_19_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_010_SIC, { "SIC, System Identification Code", "asterix.062_V1_19_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_015, { "015, Service Identification", "asterix.062_V1_19_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_015_VALUE, { "Service Identification", "asterix.062_V1_19_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_040, { "040, Track Number", "asterix.062_V1_19_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_040_VALUE, { "Track Number", "asterix.062_V1_19_040_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_060, { "060, Track Mode 3/A Code", "asterix.062_V1_19_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_060_V, { "V, Validated", "asterix.062_V1_19_060_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_060_V), 0x80, NULL, HFILL } }, { &hf_062_V1_19_060_G, { "G, Garbled", "asterix.062_V1_19_060_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_060_G), 0x40, NULL, HFILL } }, { &hf_062_V1_19_060_CH, { "CH, Change in Mode 3/A", "asterix.062_V1_19_060_CH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_060_CH), 0x20, NULL, HFILL } }, { &hf_062_V1_19_060_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_19_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_19_070, { "070, Time Of Track Information", "asterix.062_V1_19_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_070_VALUE, { "Time Of Track Information, [s]", "asterix.062_V1_19_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_080, { "080, Track Status", "asterix.062_V1_19_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_080_MON, { "MON", "asterix.062_V1_19_080_MON", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_MON), 0x80, NULL, HFILL } }, { &hf_062_V1_19_080_SPI, { "SPI", "asterix.062_V1_19_080_SPI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_SPI), 0x40, NULL, HFILL } }, { &hf_062_V1_19_080_MRH, { "MRH, Most Reliable Height", "asterix.062_V1_19_080_MRH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_MRH), 0x20, NULL, HFILL } }, { &hf_062_V1_19_080_SRC, { "SRC, Source of Calculated Track Altitude for I062/130", "asterix.062_V1_19_080_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_SRC), 0x1c, NULL, HFILL } }, { &hf_062_V1_19_080_CNF, { "CNF", "asterix.062_V1_19_080_CNF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_CNF), 0x02, NULL, HFILL } }, { &hf_062_V1_19_080_SIM, { "SIM", "asterix.062_V1_19_080_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_SIM), 0x80, NULL, HFILL } }, { &hf_062_V1_19_080_TSE, { "TSE", "asterix.062_V1_19_080_TSE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_TSE), 0x40, NULL, HFILL } }, { &hf_062_V1_19_080_TSB, { "TSB", "asterix.062_V1_19_080_TSB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_TSB), 0x20, NULL, HFILL } }, { &hf_062_V1_19_080_FPC, { "FPC", "asterix.062_V1_19_080_FPC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_FPC), 0x10, NULL, HFILL } }, { &hf_062_V1_19_080_AFF, { "AFF", "asterix.062_V1_19_080_AFF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_AFF), 0x08, NULL, HFILL } }, { &hf_062_V1_19_080_STP, { "STP", "asterix.062_V1_19_080_STP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_STP), 0x04, NULL, HFILL } }, { &hf_062_V1_19_080_KOS, { "KOS", "asterix.062_V1_19_080_KOS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_KOS), 0x02, NULL, HFILL } }, { &hf_062_V1_19_080_AMA, { "AMA", "asterix.062_V1_19_080_AMA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_AMA), 0x80, NULL, HFILL } }, { &hf_062_V1_19_080_MD4, { "MD4", "asterix.062_V1_19_080_MD4", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_MD4), 0x60, NULL, HFILL } }, { &hf_062_V1_19_080_ME, { "ME", "asterix.062_V1_19_080_ME", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_ME), 0x10, NULL, HFILL } }, { &hf_062_V1_19_080_MI, { "MI", "asterix.062_V1_19_080_MI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_MI), 0x08, NULL, HFILL } }, { &hf_062_V1_19_080_MD5, { "MD5", "asterix.062_V1_19_080_MD5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_MD5), 0x06, NULL, HFILL } }, { &hf_062_V1_19_080_CST, { "CST", "asterix.062_V1_19_080_CST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_CST), 0x80, NULL, HFILL } }, { &hf_062_V1_19_080_PSR, { "PSR", "asterix.062_V1_19_080_PSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_PSR), 0x40, NULL, HFILL } }, { &hf_062_V1_19_080_SSR, { "SSR", "asterix.062_V1_19_080_SSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_SSR), 0x20, NULL, HFILL } }, { &hf_062_V1_19_080_MDS, { "MDS", "asterix.062_V1_19_080_MDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_MDS), 0x10, NULL, HFILL } }, { &hf_062_V1_19_080_ADS, { "ADS", "asterix.062_V1_19_080_ADS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_ADS), 0x08, NULL, HFILL } }, { &hf_062_V1_19_080_SUC, { "SUC", "asterix.062_V1_19_080_SUC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_SUC), 0x04, NULL, HFILL } }, { &hf_062_V1_19_080_AAC, { "AAC", "asterix.062_V1_19_080_AAC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_AAC), 0x02, NULL, HFILL } }, { &hf_062_V1_19_080_SDS, { "SDS", "asterix.062_V1_19_080_SDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_SDS), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_080_EMS, { "EMS", "asterix.062_V1_19_080_EMS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_EMS), 0x38, NULL, HFILL } }, { &hf_062_V1_19_080_PFT, { "PFT", "asterix.062_V1_19_080_PFT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_PFT), 0x04, NULL, HFILL } }, { &hf_062_V1_19_080_FPLT, { "FPLT", "asterix.062_V1_19_080_FPLT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_FPLT), 0x02, NULL, HFILL } }, { &hf_062_V1_19_080_DUPT, { "DUPT", "asterix.062_V1_19_080_DUPT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_DUPT), 0x80, NULL, HFILL } }, { &hf_062_V1_19_080_DUPF, { "DUPF", "asterix.062_V1_19_080_DUPF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_DUPF), 0x40, NULL, HFILL } }, { &hf_062_V1_19_080_DUPM, { "DUPM", "asterix.062_V1_19_080_DUPM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_DUPM), 0x20, NULL, HFILL } }, { &hf_062_V1_19_080_SFC, { "SFC", "asterix.062_V1_19_080_SFC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_SFC), 0x10, NULL, HFILL } }, { &hf_062_V1_19_080_IDD, { "IDD", "asterix.062_V1_19_080_IDD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_IDD), 0x08, NULL, HFILL } }, { &hf_062_V1_19_080_IEC, { "IEC", "asterix.062_V1_19_080_IEC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_080_IEC), 0x04, NULL, HFILL } }, { &hf_062_V1_19_100, { "100, Calculated Track Position (Cartesian)", "asterix.062_V1_19_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_100_X, { "X, X Coordinate, [m]", "asterix.062_V1_19_100_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_100_Y, { "Y, Y Coordinate, [m]", "asterix.062_V1_19_100_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_105, { "105, Calculated Position In WGS-84 Co-ordinates", "asterix.062_V1_19_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_105_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_19_105_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_105_LON, { "LON, Longitude, [°]", "asterix.062_V1_19_105_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110, { "110, Mode 5 Data Reports and Extended Mode 1 Code", "asterix.062_V1_19_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_SUM, { "SUM, Mode 5 Summary", "asterix.062_V1_19_110_SUM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_M5, { "M5", "asterix.062_V1_19_110_SUM_M5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_M5), 0x80, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_ID, { "ID", "asterix.062_V1_19_110_SUM_ID", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_ID), 0x40, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_DA, { "DA", "asterix.062_V1_19_110_SUM_DA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_DA), 0x20, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_M1, { "M1", "asterix.062_V1_19_110_SUM_M1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_M1), 0x10, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_M2, { "M2", "asterix.062_V1_19_110_SUM_M2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_M2), 0x08, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_M3, { "M3", "asterix.062_V1_19_110_SUM_M3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_M3), 0x04, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_MC, { "MC", "asterix.062_V1_19_110_SUM_MC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_MC), 0x02, NULL, HFILL } }, { &hf_062_V1_19_110_SUM_X, { "X, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_19_110_SUM_X", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_SUM_X), 0x01, NULL, HFILL } }, { &hf_062_V1_19_110_PMN, { "PMN, Mode 5 PIN/ National Origin/Mission Code", "asterix.062_V1_19_110_PMN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_PMN_PIN, { "PIN, PIN Code", "asterix.062_V1_19_110_PMN_PIN", FT_UINT16, BASE_DEC, NULL, 0x3fff, NULL, HFILL } }, { &hf_062_V1_19_110_PMN_NAT, { "NAT, National Origin", "asterix.062_V1_19_110_PMN_NAT", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_19_110_PMN_MIS, { "MIS, Mission Code", "asterix.062_V1_19_110_PMN_MIS", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_19_110_POS, { "POS, Mode 5 Reported Position", "asterix.062_V1_19_110_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_POS_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_19_110_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_POS_LON, { "LON, Longitude, [°]", "asterix.062_V1_19_110_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_GA, { "GA, Mode 5 GNSS-derived Altitude", "asterix.062_V1_19_110_GA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_GA_RES, { "RES, Resolution with which the GNSS-derived Altitude (GA) is Reported", "asterix.062_V1_19_110_GA_RES", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_GA_RES), 0x40, NULL, HFILL } }, { &hf_062_V1_19_110_GA_GA, { "GA, GNSS-derived Altitude of Target, Expressed as Height Above WGS 84 Ellipsoid, [ft]", "asterix.062_V1_19_110_GA_GA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_EM1, { "EM1, Extended Mode 1 Code in Octal Representation", "asterix.062_V1_19_110_EM1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_EM1_EM1, { "EM1, Extended Mode 1 Reply in Octal Representation", "asterix.062_V1_19_110_EM1_EM1", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_19_110_TOS, { "TOS, Time Offset for POS and GA", "asterix.062_V1_19_110_TOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_TOS_VALUE, { "Time Offset for POS and GA, [s]", "asterix.062_V1_19_110_TOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_XP, { "XP, X Pulse Presence", "asterix.062_V1_19_110_XP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_110_XP_X5, { "X5, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_19_110_XP_X5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_XP_X5), 0x10, NULL, HFILL } }, { &hf_062_V1_19_110_XP_XC, { "XC, X-pulse from Mode C Reply", "asterix.062_V1_19_110_XP_XC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_XP_XC), 0x08, NULL, HFILL } }, { &hf_062_V1_19_110_XP_X3, { "X3, X-pulse from Mode 3/A Reply", "asterix.062_V1_19_110_XP_X3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_XP_X3), 0x04, NULL, HFILL } }, { &hf_062_V1_19_110_XP_X2, { "X2, X-pulse from Mode 2 Reply", "asterix.062_V1_19_110_XP_X2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_XP_X2), 0x02, NULL, HFILL } }, { &hf_062_V1_19_110_XP_X1, { "X1, X-pulse from Mode 1 Reply", "asterix.062_V1_19_110_XP_X1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_110_XP_X1), 0x01, NULL, HFILL } }, { &hf_062_V1_19_120, { "120, Track Mode 2 Code", "asterix.062_V1_19_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_120_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.062_V1_19_120_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_19_130, { "130, Calculated Track Geometric Altitude", "asterix.062_V1_19_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_130_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_19_130_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_135, { "135, Calculated Track Barometric Altitude", "asterix.062_V1_19_135", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_135_QNH, { "QNH", "asterix.062_V1_19_135_QNH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_135_QNH), 0x80, NULL, HFILL } }, { &hf_062_V1_19_135_CTB, { "CTB, Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_19_135_CTB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_136, { "136, Measured Flight Level", "asterix.062_V1_19_136", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_136_VALUE, { "Measured Flight Level, [FL]", "asterix.062_V1_19_136_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_185, { "185, Calculated Track Velocity (Cartesian)", "asterix.062_V1_19_185", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_185_VX, { "VX, Velocity (X-component), [m/s]", "asterix.062_V1_19_185_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_185_VY, { "VY, Velocity (Y-component), [m/s]", "asterix.062_V1_19_185_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_200, { "200, Mode of Movement", "asterix.062_V1_19_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_200_TRANS, { "TRANS, Transversal Acceleration", "asterix.062_V1_19_200_TRANS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_200_TRANS), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_200_LONG, { "LONG, Longitudinal Acceleration", "asterix.062_V1_19_200_LONG", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_200_LONG), 0x30, NULL, HFILL } }, { &hf_062_V1_19_200_VERT, { "VERT, Transversal Acceleration", "asterix.062_V1_19_200_VERT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_200_VERT), 0x0c, NULL, HFILL } }, { &hf_062_V1_19_200_ADF, { "ADF, Altitude Discrepancy Flag", "asterix.062_V1_19_200_ADF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_200_ADF), 0x02, NULL, HFILL } }, { &hf_062_V1_19_210, { "210, Calculated Acceleration (Cartesian)", "asterix.062_V1_19_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_210_AX, { "AX, [m/s²]", "asterix.062_V1_19_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_210_AY, { "AY, [m/s²]", "asterix.062_V1_19_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_220, { "220, Calculated Rate of Climb/Descent", "asterix.062_V1_19_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_220_VALUE, { "Calculated Rate of Climb/Descent, [ft/min]", "asterix.062_V1_19_220_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_245, { "245, Target Identification", "asterix.062_V1_19_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_245_STI, { "STI", "asterix.062_V1_19_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_245_STI), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_245_CHR, { "CHR, Characters 1-8 (Coded on 6 Bits Each) Defining Target Identification", "asterix.062_V1_19_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_270, { "270, Target Size and Orientation", "asterix.062_V1_19_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_270_LENGTH, { "LENGTH, Length, [m]", "asterix.062_V1_19_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.062_V1_19_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_270_WIDTH, { "WIDTH, Width, [m]", "asterix.062_V1_19_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290, { "290, System Track Update Ages", "asterix.062_V1_19_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_TRK, { "TRK, Track Age", "asterix.062_V1_19_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_TRK_VALUE, { "Track Age, [s]", "asterix.062_V1_19_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_PSR, { "PSR, PSR Age", "asterix.062_V1_19_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_PSR_VALUE, { "PSR Age, [s]", "asterix.062_V1_19_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_SSR, { "SSR, SSR Age", "asterix.062_V1_19_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_SSR_VALUE, { "SSR Age, [s]", "asterix.062_V1_19_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_MDS, { "MDS, Mode S Age", "asterix.062_V1_19_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_MDS_VALUE, { "Mode S Age, [s]", "asterix.062_V1_19_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_ADS, { "ADS, ADS-C Age", "asterix.062_V1_19_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_ADS_VALUE, { "ADS-C Age, [s]", "asterix.062_V1_19_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_ES, { "ES, ADS-B Extended Squitter Age", "asterix.062_V1_19_290_ES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_ES_VALUE, { "ADS-B Extended Squitter Age, [s]", "asterix.062_V1_19_290_ES_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_VDL, { "VDL, ADS-B VDL Mode 4 Age", "asterix.062_V1_19_290_VDL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_VDL_VALUE, { "ADS-B VDL Mode 4 Age, [s]", "asterix.062_V1_19_290_VDL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_UAT, { "UAT, ADS-B UAT Age", "asterix.062_V1_19_290_UAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_UAT_VALUE, { "ADS-B UAT Age, [s]", "asterix.062_V1_19_290_UAT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_LOP, { "LOP, Loop Age", "asterix.062_V1_19_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_LOP_VALUE, { "Loop Age, [s]", "asterix.062_V1_19_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_MLT, { "MLT, Multilateration Age", "asterix.062_V1_19_290_MLT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_290_MLT_VALUE, { "Multilateration Age, [s]", "asterix.062_V1_19_290_MLT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295, { "295, Track Data Ages", "asterix.062_V1_19_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MFL, { "MFL, Measured Flight Level Age", "asterix.062_V1_19_295_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MFL_VALUE, { "Measured Flight Level Age, [s]", "asterix.062_V1_19_295_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD1, { "MD1, Mode 1 Age", "asterix.062_V1_19_295_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD1_VALUE, { "Mode 1 Age, [s]", "asterix.062_V1_19_295_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD2, { "MD2, Mode 2 Age", "asterix.062_V1_19_295_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD2_VALUE, { "Mode 2 Age, [s]", "asterix.062_V1_19_295_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MDA, { "MDA, Mode 3/A Age", "asterix.062_V1_19_295_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MDA_VALUE, { "Mode 3/A Age, [s]", "asterix.062_V1_19_295_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD4, { "MD4, Mode 4 Age", "asterix.062_V1_19_295_MD4", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD4_VALUE, { "Mode 4 Age, [s]", "asterix.062_V1_19_295_MD4_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD5, { "MD5, Mode 5 Age", "asterix.062_V1_19_295_MD5", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MD5_VALUE, { "Mode 5 Age, [s]", "asterix.062_V1_19_295_MD5_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MHG, { "MHG, Magnetic Heading Age", "asterix.062_V1_19_295_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MHG_VALUE, { "Magnetic Heading Age, [s]", "asterix.062_V1_19_295_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_IAS, { "IAS, Indicated Airspeed / Mach Nb Age", "asterix.062_V1_19_295_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_IAS_VALUE, { "Indicated Airspeed / Mach Nb Age, [s]", "asterix.062_V1_19_295_IAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TAS, { "TAS, True Airspeed Age", "asterix.062_V1_19_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TAS_VALUE, { "True Airspeed Age, [s]", "asterix.062_V1_19_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_SAL, { "SAL, Selected Altitude Age", "asterix.062_V1_19_295_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_SAL_VALUE, { "Selected Altitude Age, [s]", "asterix.062_V1_19_295_SAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_FSS, { "FSS, Final State Selected Altitude Age", "asterix.062_V1_19_295_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_FSS_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.062_V1_19_295_FSS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TID, { "TID, Trajectory Intent Age", "asterix.062_V1_19_295_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TID_VALUE, { "Trajectory Intent Age, [s]", "asterix.062_V1_19_295_TID_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_COM, { "COM, Communication/ACAS Capability and Flight Status Age", "asterix.062_V1_19_295_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_COM_VALUE, { "Communication/ACAS Capability and Flight Status Age, [s]", "asterix.062_V1_19_295_COM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_SAB, { "SAB, Status Reported by ADS-B Age", "asterix.062_V1_19_295_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_SAB_VALUE, { "Status Reported by ADS-B Age, [s]", "asterix.062_V1_19_295_SAB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_ACS, { "ACS, ACAS Resolution Advisory Report Age", "asterix.062_V1_19_295_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_ACS_VALUE, { "ACAS Resolution Advisory Report Age, [s]", "asterix.062_V1_19_295_ACS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.062_V1_19_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.062_V1_19_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_GVR, { "GVR, Geometrical Vertical Rate Age", "asterix.062_V1_19_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_GVR_VALUE, { "Geometrical Vertical Rate Age, [s]", "asterix.062_V1_19_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_RAN, { "RAN, Roll Angle Age", "asterix.062_V1_19_295_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_RAN_VALUE, { "Roll Angle Age, [s]", "asterix.062_V1_19_295_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TAR, { "TAR, Track Angle Rate Age", "asterix.062_V1_19_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.062_V1_19_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TAN, { "TAN, Track Angle Age", "asterix.062_V1_19_295_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_TAN_VALUE, { "Track Angle Age, [s]", "asterix.062_V1_19_295_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_GSP, { "GSP, Ground Speed Age", "asterix.062_V1_19_295_GSP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_GSP_VALUE, { "Ground Speed Age, [s]", "asterix.062_V1_19_295_GSP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_VUN, { "VUN, Velocity Uncertainty Age", "asterix.062_V1_19_295_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_VUN_VALUE, { "Velocity Uncertainty Age, [s]", "asterix.062_V1_19_295_VUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MET, { "MET, Meteorological Data Age", "asterix.062_V1_19_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MET_VALUE, { "Meteorological Data Age, [s]", "asterix.062_V1_19_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_EMC, { "EMC, Emitter Category Age", "asterix.062_V1_19_295_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_EMC_VALUE, { "Emitter Category Age, [s]", "asterix.062_V1_19_295_EMC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_POS, { "POS, Position Age", "asterix.062_V1_19_295_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_POS_VALUE, { "Position Age, [s]", "asterix.062_V1_19_295_POS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_GAL, { "GAL, Geometric Altitude Age", "asterix.062_V1_19_295_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_GAL_VALUE, { "Geometric Altitude Age, [s]", "asterix.062_V1_19_295_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_PUN, { "PUN, Position Uncertainty Age", "asterix.062_V1_19_295_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_PUN_VALUE, { "Position Uncertainty Age, [s]", "asterix.062_V1_19_295_PUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MB, { "MB, Mode S MB Data Age", "asterix.062_V1_19_295_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MB_VALUE, { "Mode S MB Data Age, [s]", "asterix.062_V1_19_295_MB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_IAR, { "IAR, Indicated Airspeed Data Age", "asterix.062_V1_19_295_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_IAR_VALUE, { "Indicated Airspeed Data Age, [s]", "asterix.062_V1_19_295_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MAC, { "MAC, Mach Number Data Age", "asterix.062_V1_19_295_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_MAC_VALUE, { "Mach Number Data Age, [s]", "asterix.062_V1_19_295_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_BPS, { "BPS, Barometric Pressure Setting Data Age", "asterix.062_V1_19_295_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_295_BPS_VALUE, { "Barometric Pressure Setting Data Age, [s]", "asterix.062_V1_19_295_BPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_300, { "300, Vehicle Fleet Identification", "asterix.062_V1_19_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_300_VALUE, { "Vehicle Fleet Identification", "asterix.062_V1_19_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_300_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_19_340, { "340, Measured Information", "asterix.062_V1_19_340", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_SID, { "SID, Sensor Identification", "asterix.062_V1_19_340_SID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_SID_SAC, { "SAC, System Area Code", "asterix.062_V1_19_340_SID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_SID_SIC, { "SIC, System Identification Code", "asterix.062_V1_19_340_SID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_POS, { "POS, Measured Position", "asterix.062_V1_19_340_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_POS_RHO, { "RHO, Measured Distance, [NM]", "asterix.062_V1_19_340_POS_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_POS_THETA, { "THETA, Measured Azimuth, [°]", "asterix.062_V1_19_340_POS_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_HEIGHT, { "HEIGHT, Measured 3-D Height", "asterix.062_V1_19_340_HEIGHT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_HEIGHT_VALUE, { "Measured 3-D Height, [ft]", "asterix.062_V1_19_340_HEIGHT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_MDC, { "MDC", "asterix.062_V1_19_340_MDC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_MDC_V, { "V, Validated", "asterix.062_V1_19_340_MDC_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_MDC_V), 0x80, NULL, HFILL } }, { &hf_062_V1_19_340_MDC_G, { "G, Garbled", "asterix.062_V1_19_340_MDC_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_MDC_G), 0x40, NULL, HFILL } }, { &hf_062_V1_19_340_MDC_LMC, { "LMC, Last Measured Mode C Code, [FL]", "asterix.062_V1_19_340_MDC_LMC", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_MDA, { "MDA", "asterix.062_V1_19_340_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_MDA_V, { "V, Validated", "asterix.062_V1_19_340_MDA_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_MDA_V), 0x80, NULL, HFILL } }, { &hf_062_V1_19_340_MDA_G, { "G, Garbled", "asterix.062_V1_19_340_MDA_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_MDA_G), 0x40, NULL, HFILL } }, { &hf_062_V1_19_340_MDA_L, { "L", "asterix.062_V1_19_340_MDA_L", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_MDA_L), 0x20, NULL, HFILL } }, { &hf_062_V1_19_340_MDA_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_19_340_MDA_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_19_340_TYP, { "TYP", "asterix.062_V1_19_340_TYP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_340_TYP_TYP, { "TYP, Report Type", "asterix.062_V1_19_340_TYP_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_TYP_TYP), 0xe0, NULL, HFILL } }, { &hf_062_V1_19_340_TYP_SIM, { "SIM", "asterix.062_V1_19_340_TYP_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_TYP_SIM), 0x10, NULL, HFILL } }, { &hf_062_V1_19_340_TYP_RAB, { "RAB", "asterix.062_V1_19_340_TYP_RAB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_TYP_RAB), 0x08, NULL, HFILL } }, { &hf_062_V1_19_340_TYP_TST, { "TST", "asterix.062_V1_19_340_TYP_TST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_340_TYP_TST), 0x04, NULL, HFILL } }, { &hf_062_V1_19_380, { "380, Aircraft Derived Data", "asterix.062_V1_19_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_ADR, { "ADR, Target Address", "asterix.062_V1_19_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_ADR_VALUE, { "Target Address", "asterix.062_V1_19_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_ID, { "ID, Target Identification", "asterix.062_V1_19_380_ID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_ID_VALUE, { "Target Identification", "asterix.062_V1_19_380_ID_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MHG, { "MHG, Magnetic Heading", "asterix.062_V1_19_380_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MHG_VALUE, { "Magnetic Heading, [°]", "asterix.062_V1_19_380_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_IAS, { "IAS, Indicated Airspeed/Mach No", "asterix.062_V1_19_380_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_IAS_IM, { "IM", "asterix.062_V1_19_380_IAS_IM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_IAS_IM), 0x80, NULL, HFILL } }, { &hf_062_V1_19_380_IAS_IAS, { "IAS", "asterix.062_V1_19_380_IAS_IAS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_062_V1_19_380_TAS, { "TAS, True Airspeed", "asterix.062_V1_19_380_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TAS_VALUE, { "True Airspeed, [kt]", "asterix.062_V1_19_380_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_SAL, { "SAL, Selected Altitude", "asterix.062_V1_19_380_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_SAL_SAS, { "SAS", "asterix.062_V1_19_380_SAL_SAS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_SAL_SAS), 0x80, NULL, HFILL } }, { &hf_062_V1_19_380_SAL_SRC, { "SRC", "asterix.062_V1_19_380_SAL_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_SAL_SRC), 0x60, NULL, HFILL } }, { &hf_062_V1_19_380_SAL_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_19_380_SAL_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_FSS, { "FSS, Final State Selected Altitude", "asterix.062_V1_19_380_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_FSS_MV, { "MV, Manage Vertical Mode", "asterix.062_V1_19_380_FSS_MV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_FSS_MV), 0x80, NULL, HFILL } }, { &hf_062_V1_19_380_FSS_AH, { "AH, Altitude Hold", "asterix.062_V1_19_380_FSS_AH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_FSS_AH), 0x40, NULL, HFILL } }, { &hf_062_V1_19_380_FSS_AM, { "AM, Approach Mode", "asterix.062_V1_19_380_FSS_AM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_FSS_AM), 0x20, NULL, HFILL } }, { &hf_062_V1_19_380_FSS_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_19_380_FSS_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TIS, { "TIS, Trajectory Intent Status", "asterix.062_V1_19_380_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TIS_NAV, { "NAV, TID Available", "asterix.062_V1_19_380_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_062_V1_19_380_TIS_NVB, { "NVB, TID Valid", "asterix.062_V1_19_380_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_062_V1_19_380_TID, { "TID, Trajectory Intent Data", "asterix.062_V1_19_380_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TID_TCA, { "TCA, TCP Number Availability", "asterix.062_V1_19_380_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TID_TCA), 0x80, NULL, HFILL } }, { &hf_062_V1_19_380_TID_NC, { "NC, TCP Compliance", "asterix.062_V1_19_380_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TID_NC), 0x40, NULL, HFILL } }, { &hf_062_V1_19_380_TID_TCPN, { "TCPN, Trajectory Change Point Number", "asterix.062_V1_19_380_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_19_380_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_19_380_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TID_LAT, { "LAT, Latitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_19_380_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TID_LON, { "LON, Longitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_19_380_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TID_PT, { "PT, Point Type", "asterix.062_V1_19_380_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TID_PT), 0xf0, NULL, HFILL } }, { &hf_062_V1_19_380_TID_TD, { "TD, Turn Direction", "asterix.062_V1_19_380_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TID_TD), 0x0c, NULL, HFILL } }, { &hf_062_V1_19_380_TID_TRA, { "TRA, Turn Radius Availability", "asterix.062_V1_19_380_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TID_TRA), 0x02, NULL, HFILL } }, { &hf_062_V1_19_380_TID_TOA, { "TOA, TOV Available", "asterix.062_V1_19_380_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TID_TOA), 0x01, NULL, HFILL } }, { &hf_062_V1_19_380_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.062_V1_19_380_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.062_V1_19_380_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_COM, { "COM, Communications/ACAS Capability and Flight Status", "asterix.062_V1_19_380_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_COM_COM, { "COM, Communications Capability of the Transponder", "asterix.062_V1_19_380_COM_COM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_COM_COM), 0xe0, NULL, HFILL } }, { &hf_062_V1_19_380_COM_STAT, { "STAT, Flight Status", "asterix.062_V1_19_380_COM_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_COM_STAT), 0x1c, NULL, HFILL } }, { &hf_062_V1_19_380_COM_SSC, { "SSC, Specific Service Capability", "asterix.062_V1_19_380_COM_SSC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_COM_SSC), 0x80, NULL, HFILL } }, { &hf_062_V1_19_380_COM_ARC, { "ARC, Altitude Reporting Capability", "asterix.062_V1_19_380_COM_ARC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_COM_ARC), 0x40, NULL, HFILL } }, { &hf_062_V1_19_380_COM_AIC, { "AIC, Aircraft Identification Capability", "asterix.062_V1_19_380_COM_AIC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_COM_AIC), 0x20, NULL, HFILL } }, { &hf_062_V1_19_380_COM_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.062_V1_19_380_COM_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_062_V1_19_380_COM_B1B, { "B1B, BDS BDS 1,0 Bits 37/40", "asterix.062_V1_19_380_COM_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_19_380_SAB, { "SAB, Status Reported by ADS-B", "asterix.062_V1_19_380_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_SAB_AC, { "AC, ACAS Status", "asterix.062_V1_19_380_SAB_AC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_SAB_AC), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_380_SAB_MN, { "MN, Multiple Navigational Aids Status", "asterix.062_V1_19_380_SAB_MN", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_SAB_MN), 0x30, NULL, HFILL } }, { &hf_062_V1_19_380_SAB_DC, { "DC, Differential Correction Status", "asterix.062_V1_19_380_SAB_DC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_SAB_DC), 0x0c, NULL, HFILL } }, { &hf_062_V1_19_380_SAB_GBS, { "GBS, Ground Bit Set", "asterix.062_V1_19_380_SAB_GBS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_SAB_GBS), 0x02, NULL, HFILL } }, { &hf_062_V1_19_380_SAB_STAT, { "STAT, Flight Status", "asterix.062_V1_19_380_SAB_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_SAB_STAT), 0x07, NULL, HFILL } }, { &hf_062_V1_19_380_ACS, { "ACS, ACAS Resolution Advisory Report", "asterix.062_V1_19_380_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_ACS_VALUE, { "ACAS Resolution Advisory Report", "asterix.062_V1_19_380_ACS_VALUE", FT_UINT56, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_BVR, { "BVR, Barometric Vertical Rate", "asterix.062_V1_19_380_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_BVR_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.062_V1_19_380_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_GVR, { "GVR, Geometric Vertical Rate", "asterix.062_V1_19_380_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_GVR_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.062_V1_19_380_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_RAN, { "RAN, Roll Angle", "asterix.062_V1_19_380_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_RAN_VALUE, { "Roll Angle, [°]", "asterix.062_V1_19_380_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TAR, { "TAR, Track Angle Rate", "asterix.062_V1_19_380_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TAR_TI, { "TI, Turn Indicator", "asterix.062_V1_19_380_TAR_TI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_TAR_TI), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_380_TAR_ROT, { "ROT, Rate of Turn in Two's Complement Form, [°/s]", "asterix.062_V1_19_380_TAR_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TAN, { "TAN, Track Angle", "asterix.062_V1_19_380_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_TAN_VALUE, { "Track Angle, [°]", "asterix.062_V1_19_380_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_GS, { "GS, Ground Speed", "asterix.062_V1_19_380_GS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_GS_VALUE, { "Ground Speed, [NM/s]", "asterix.062_V1_19_380_GS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_VUN, { "VUN, Velocity Uncertainty", "asterix.062_V1_19_380_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_VUN_VALUE, { "Velocity Uncertainty", "asterix.062_V1_19_380_VUN_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MET, { "MET, Meteorological Data", "asterix.062_V1_19_380_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MET_WS, { "WS, Wind Speed Valid Flag", "asterix.062_V1_19_380_MET_WS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_MET_WS), 0x80, NULL, HFILL } }, { &hf_062_V1_19_380_MET_WD, { "WD, Wind Direction Valid Flag", "asterix.062_V1_19_380_MET_WD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_MET_WD), 0x40, NULL, HFILL } }, { &hf_062_V1_19_380_MET_TMP, { "TMP, Temperature Valid Flag", "asterix.062_V1_19_380_MET_TMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_MET_TMP), 0x20, NULL, HFILL } }, { &hf_062_V1_19_380_MET_TRB, { "TRB, Turbulence Valid Flag", "asterix.062_V1_19_380_MET_TRB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_MET_TRB), 0x10, NULL, HFILL } }, { &hf_062_V1_19_380_MET_WSD, { "WSD, Wind Speed, [kt]", "asterix.062_V1_19_380_MET_WSD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MET_WDD, { "WDD, Wind Direction, [°]", "asterix.062_V1_19_380_MET_WDD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MET_TMPD, { "TMPD, Temperature in Degrees Celsius, [°C]", "asterix.062_V1_19_380_MET_TMPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MET_TRBD, { "TRBD, Turbulence", "asterix.062_V1_19_380_MET_TRBD", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_EMC, { "EMC, Emitter Category", "asterix.062_V1_19_380_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_EMC_VALUE, { "Emitter Category", "asterix.062_V1_19_380_EMC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_380_EMC_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_POS, { "POS, Position", "asterix.062_V1_19_380_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_POS_LAT, { "LAT, Latitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_19_380_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_POS_LON, { "LON, Longitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_19_380_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_GAL, { "GAL, Geometric Altitude", "asterix.062_V1_19_380_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_GAL_VALUE, { "Geometric Altitude, [ft]", "asterix.062_V1_19_380_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_19_380_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_PUN_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_19_380_PUN_PUN", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_19_380_MB, { "MB, MODE S MB DATA", "asterix.062_V1_19_380_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MB_VALUE, { "MODE S MB DATA", "asterix.062_V1_19_380_MB_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_IAR, { "IAR, Indicated Airspeed", "asterix.062_V1_19_380_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_IAR_VALUE, { "Indicated Airspeed, [kt]", "asterix.062_V1_19_380_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MAC, { "MAC, Mach Number", "asterix.062_V1_19_380_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_MAC_VALUE, { "Mach Number, [Mach]", "asterix.062_V1_19_380_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_BPS, { "BPS, Barometric Pressure Setting", "asterix.062_V1_19_380_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_380_BPS_BPS, { "BPS, [mb]", "asterix.062_V1_19_380_BPS_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390, { "390, Flight Plan Related Data", "asterix.062_V1_19_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_TAG, { "TAG, FPPS Identification Tag", "asterix.062_V1_19_390_TAG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_TAG_SAC, { "SAC, System Area Code", "asterix.062_V1_19_390_TAG_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_TAG_SIC, { "SIC, System Identification Code", "asterix.062_V1_19_390_TAG_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_CS, { "CS, Callsign", "asterix.062_V1_19_390_CS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_CS_VALUE, { "Callsign", "asterix.062_V1_19_390_CS_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_IFI, { "IFI, IFPS_FLIGHT_ID", "asterix.062_V1_19_390_IFI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_IFI_TYP, { "TYP", "asterix.062_V1_19_390_IFI_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_IFI_TYP), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_390_IFI_NBR, { "NBR, Number from 0 to 99 999 999", "asterix.062_V1_19_390_IFI_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_062_V1_19_390_FCT, { "FCT, Flight Category", "asterix.062_V1_19_390_FCT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_FCT_GATOAT, { "GATOAT", "asterix.062_V1_19_390_FCT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_FCT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_390_FCT_FR1FR2, { "FR1FR2", "asterix.062_V1_19_390_FCT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_FCT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_062_V1_19_390_FCT_RVSM, { "RVSM", "asterix.062_V1_19_390_FCT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_FCT_RVSM), 0x0c, NULL, HFILL } }, { &hf_062_V1_19_390_FCT_HPR, { "HPR", "asterix.062_V1_19_390_FCT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_FCT_HPR), 0x02, NULL, HFILL } }, { &hf_062_V1_19_390_TAC, { "TAC, Type of Aircraft", "asterix.062_V1_19_390_TAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_TAC_VALUE, { "Type of Aircraft", "asterix.062_V1_19_390_TAC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_WTC, { "WTC, Wake Turbulence Category", "asterix.062_V1_19_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.062_V1_19_390_WTC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_DEP, { "DEP, Departure Airport", "asterix.062_V1_19_390_DEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_DEP_VALUE, { "Departure Airport", "asterix.062_V1_19_390_DEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_DST, { "DST, Destination Airport", "asterix.062_V1_19_390_DST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_DST_VALUE, { "Destination Airport", "asterix.062_V1_19_390_DST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_RDS, { "RDS, Runway Designation", "asterix.062_V1_19_390_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_RDS_NU1, { "NU1, First Number", "asterix.062_V1_19_390_RDS_NU1", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_RDS_NU2, { "NU2, Second Number", "asterix.062_V1_19_390_RDS_NU2", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_RDS_LTR, { "LTR, Letter", "asterix.062_V1_19_390_RDS_LTR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.062_V1_19_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.062_V1_19_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_CTL, { "CTL, Current Control Position", "asterix.062_V1_19_390_CTL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_CTL_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.062_V1_19_390_CTL_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_CTL_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.062_V1_19_390_CTL_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_TOD, { "TOD, Time of Departure / Arrival", "asterix.062_V1_19_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_TOD_TYP, { "TYP", "asterix.062_V1_19_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_062_V1_19_390_TOD_DAY, { "DAY", "asterix.062_V1_19_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_062_V1_19_390_TOD_HOR, { "HOR, Hours", "asterix.062_V1_19_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_19_390_TOD_MIN, { "MIN, Minutes", "asterix.062_V1_19_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_19_390_TOD_AVS, { "AVS, Seconds Available Flag", "asterix.062_V1_19_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_062_V1_19_390_TOD_SEC, { "SEC, Seconds", "asterix.062_V1_19_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_19_390_AST, { "AST, Aircraft Stand", "asterix.062_V1_19_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_AST_VALUE, { "Aircraft Stand", "asterix.062_V1_19_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_STS, { "STS, Stand Status", "asterix.062_V1_19_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_STS_EMP, { "EMP", "asterix.062_V1_19_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_062_V1_19_390_STS_AVL, { "AVL", "asterix.062_V1_19_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_062_V1_19_390_STD, { "STD, Standard Instrument Departure", "asterix.062_V1_19_390_STD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_STD_VALUE, { "Standard Instrument Departure", "asterix.062_V1_19_390_STD_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_STA, { "STA, Standard Instrument Arrival", "asterix.062_V1_19_390_STA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_STA_VALUE, { "Standard Instrument Arrival", "asterix.062_V1_19_390_STA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_PEM, { "PEM, Pre-Emergency Mode 3/A", "asterix.062_V1_19_390_PEM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_PEM_VA, { "VA", "asterix.062_V1_19_390_PEM_VA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_19_390_PEM_VA), 0x10, NULL, HFILL } }, { &hf_062_V1_19_390_PEM_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_19_390_PEM_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_19_390_PEC, { "PEC, Pre-Emergency Callsign", "asterix.062_V1_19_390_PEC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_390_PEC_VALUE, { "Pre-Emergency Callsign", "asterix.062_V1_19_390_PEC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500, { "500, Estimated Accuracies", "asterix.062_V1_19_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.062_V1_19_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_APC_X, { "X, APC (X-Component), [m]", "asterix.062_V1_19_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_APC_Y, { "Y, APC (Y-Component), [m]", "asterix.062_V1_19_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_COV, { "COV, XY Covariance Component", "asterix.062_V1_19_500_COV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_COV_VALUE, { "XY Covariance Component, [m]", "asterix.062_V1_19_500_COV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS-84)", "asterix.062_V1_19_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_APW_LAT, { "LAT, APW (Latitude Component), [°]", "asterix.062_V1_19_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_APW_LON, { "LON, APW (Longitude Component), [°]", "asterix.062_V1_19_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_AGA, { "AGA, Estimated Accuracy Of Calculated Track Geometric Altitude", "asterix.062_V1_19_500_AGA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_AGA_VALUE, { "Estimated Accuracy Of Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_19_500_AGA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_ABA, { "ABA, Estimated Accuracy Of Calculated Track Barometric Altitude", "asterix.062_V1_19_500_ABA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_ABA_VALUE, { "Estimated Accuracy Of Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_19_500_ABA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_ATV, { "ATV, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.062_V1_19_500_ATV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_ATV_X, { "X, ATV (X-Component), [m/s]", "asterix.062_V1_19_500_ATV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_ATV_Y, { "Y, ATV (Y-Component), [m/s]", "asterix.062_V1_19_500_ATV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_AA, { "AA, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.062_V1_19_500_AA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_AA_X, { "X, AA (X-Component), [m/s²]", "asterix.062_V1_19_500_AA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_AA_Y, { "Y, AA (Y-Component), [m/s²]", "asterix.062_V1_19_500_AA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb/Descent", "asterix.062_V1_19_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb/Descent, [ft/min]", "asterix.062_V1_19_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_510, { "510, Composed Track Number", "asterix.062_V1_19_510", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_510_MIDENT, { "MIDENT, Master System Unit Identification", "asterix.062_V1_19_510_MIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_510_MTRACK, { "MTRACK, Master System Track Number", "asterix.062_V1_19_510_MTRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_19_510_SIDENT, { "SIDENT, Slave System Unit Identification", "asterix.062_V1_19_510_SIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_510_STRACK, { "STRACK, Slave System Track Number", "asterix.062_V1_19_510_STRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_19_RE, { "RE, Reserved Expansion Field", "asterix.062_V1_19_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_19_SP, { "SP, Special Purpose Field", "asterix.062_V1_19_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_010, { "010, Data Source Identifier", "asterix.062_V1_20_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_010_SAC, { "SAC, System Area Code", "asterix.062_V1_20_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_010_SIC, { "SIC, System Identification Code", "asterix.062_V1_20_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_015, { "015, Service Identification", "asterix.062_V1_20_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_015_VALUE, { "Service Identification", "asterix.062_V1_20_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_040, { "040, Track Number", "asterix.062_V1_20_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_040_VALUE, { "Track Number", "asterix.062_V1_20_040_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_060, { "060, Track Mode 3/A Code", "asterix.062_V1_20_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_060_V, { "V, Validated", "asterix.062_V1_20_060_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_060_V), 0x80, NULL, HFILL } }, { &hf_062_V1_20_060_G, { "G, Garbled", "asterix.062_V1_20_060_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_060_G), 0x40, NULL, HFILL } }, { &hf_062_V1_20_060_CH, { "CH, Change in Mode 3/A", "asterix.062_V1_20_060_CH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_060_CH), 0x20, NULL, HFILL } }, { &hf_062_V1_20_060_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_20_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_20_070, { "070, Time Of Track Information", "asterix.062_V1_20_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_070_VALUE, { "Time Of Track Information, [s]", "asterix.062_V1_20_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_080, { "080, Track Status", "asterix.062_V1_20_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_080_MON, { "MON", "asterix.062_V1_20_080_MON", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_MON), 0x80, NULL, HFILL } }, { &hf_062_V1_20_080_SPI, { "SPI", "asterix.062_V1_20_080_SPI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_SPI), 0x40, NULL, HFILL } }, { &hf_062_V1_20_080_MRH, { "MRH, Most Reliable Height", "asterix.062_V1_20_080_MRH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_MRH), 0x20, NULL, HFILL } }, { &hf_062_V1_20_080_SRC, { "SRC, Source of Calculated Track Altitude for I062/130", "asterix.062_V1_20_080_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_SRC), 0x1c, NULL, HFILL } }, { &hf_062_V1_20_080_CNF, { "CNF", "asterix.062_V1_20_080_CNF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_CNF), 0x02, NULL, HFILL } }, { &hf_062_V1_20_080_SIM, { "SIM", "asterix.062_V1_20_080_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_SIM), 0x80, NULL, HFILL } }, { &hf_062_V1_20_080_TSE, { "TSE", "asterix.062_V1_20_080_TSE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_TSE), 0x40, NULL, HFILL } }, { &hf_062_V1_20_080_TSB, { "TSB", "asterix.062_V1_20_080_TSB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_TSB), 0x20, NULL, HFILL } }, { &hf_062_V1_20_080_FPC, { "FPC", "asterix.062_V1_20_080_FPC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_FPC), 0x10, NULL, HFILL } }, { &hf_062_V1_20_080_AFF, { "AFF", "asterix.062_V1_20_080_AFF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_AFF), 0x08, NULL, HFILL } }, { &hf_062_V1_20_080_STP, { "STP", "asterix.062_V1_20_080_STP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_STP), 0x04, NULL, HFILL } }, { &hf_062_V1_20_080_KOS, { "KOS", "asterix.062_V1_20_080_KOS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_KOS), 0x02, NULL, HFILL } }, { &hf_062_V1_20_080_AMA, { "AMA", "asterix.062_V1_20_080_AMA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_AMA), 0x80, NULL, HFILL } }, { &hf_062_V1_20_080_MD4, { "MD4", "asterix.062_V1_20_080_MD4", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_MD4), 0x60, NULL, HFILL } }, { &hf_062_V1_20_080_ME, { "ME", "asterix.062_V1_20_080_ME", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_ME), 0x10, NULL, HFILL } }, { &hf_062_V1_20_080_MI, { "MI", "asterix.062_V1_20_080_MI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_MI), 0x08, NULL, HFILL } }, { &hf_062_V1_20_080_MD5, { "MD5", "asterix.062_V1_20_080_MD5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_MD5), 0x06, NULL, HFILL } }, { &hf_062_V1_20_080_CST, { "CST", "asterix.062_V1_20_080_CST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_CST), 0x80, NULL, HFILL } }, { &hf_062_V1_20_080_PSR, { "PSR", "asterix.062_V1_20_080_PSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_PSR), 0x40, NULL, HFILL } }, { &hf_062_V1_20_080_SSR, { "SSR", "asterix.062_V1_20_080_SSR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_SSR), 0x20, NULL, HFILL } }, { &hf_062_V1_20_080_MDS, { "MDS", "asterix.062_V1_20_080_MDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_MDS), 0x10, NULL, HFILL } }, { &hf_062_V1_20_080_ADS, { "ADS", "asterix.062_V1_20_080_ADS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_ADS), 0x08, NULL, HFILL } }, { &hf_062_V1_20_080_SUC, { "SUC", "asterix.062_V1_20_080_SUC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_SUC), 0x04, NULL, HFILL } }, { &hf_062_V1_20_080_AAC, { "AAC", "asterix.062_V1_20_080_AAC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_AAC), 0x02, NULL, HFILL } }, { &hf_062_V1_20_080_SDS, { "SDS", "asterix.062_V1_20_080_SDS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_SDS), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_080_EMS, { "EMS", "asterix.062_V1_20_080_EMS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_EMS), 0x38, NULL, HFILL } }, { &hf_062_V1_20_080_PFT, { "PFT", "asterix.062_V1_20_080_PFT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_PFT), 0x04, NULL, HFILL } }, { &hf_062_V1_20_080_FPLT, { "FPLT", "asterix.062_V1_20_080_FPLT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_FPLT), 0x02, NULL, HFILL } }, { &hf_062_V1_20_080_DUPT, { "DUPT", "asterix.062_V1_20_080_DUPT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_DUPT), 0x80, NULL, HFILL } }, { &hf_062_V1_20_080_DUPF, { "DUPF", "asterix.062_V1_20_080_DUPF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_DUPF), 0x40, NULL, HFILL } }, { &hf_062_V1_20_080_DUPM, { "DUPM", "asterix.062_V1_20_080_DUPM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_DUPM), 0x20, NULL, HFILL } }, { &hf_062_V1_20_080_SFC, { "SFC", "asterix.062_V1_20_080_SFC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_SFC), 0x10, NULL, HFILL } }, { &hf_062_V1_20_080_IDD, { "IDD", "asterix.062_V1_20_080_IDD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_IDD), 0x08, NULL, HFILL } }, { &hf_062_V1_20_080_IEC, { "IEC", "asterix.062_V1_20_080_IEC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_IEC), 0x04, NULL, HFILL } }, { &hf_062_V1_20_080_MLAT, { "MLAT", "asterix.062_V1_20_080_MLAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_080_MLAT), 0x02, NULL, HFILL } }, { &hf_062_V1_20_100, { "100, Calculated Track Position (Cartesian)", "asterix.062_V1_20_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_100_X, { "X, X Coordinate, [m]", "asterix.062_V1_20_100_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_100_Y, { "Y, Y Coordinate, [m]", "asterix.062_V1_20_100_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_105, { "105, Calculated Position In WGS-84 Co-ordinates", "asterix.062_V1_20_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_105_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_20_105_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_105_LON, { "LON, Longitude, [°]", "asterix.062_V1_20_105_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110, { "110, Mode 5 Data Reports and Extended Mode 1 Code", "asterix.062_V1_20_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_SUM, { "SUM, Mode 5 Summary", "asterix.062_V1_20_110_SUM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_M5, { "M5", "asterix.062_V1_20_110_SUM_M5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_M5), 0x80, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_ID, { "ID", "asterix.062_V1_20_110_SUM_ID", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_ID), 0x40, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_DA, { "DA", "asterix.062_V1_20_110_SUM_DA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_DA), 0x20, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_M1, { "M1", "asterix.062_V1_20_110_SUM_M1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_M1), 0x10, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_M2, { "M2", "asterix.062_V1_20_110_SUM_M2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_M2), 0x08, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_M3, { "M3", "asterix.062_V1_20_110_SUM_M3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_M3), 0x04, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_MC, { "MC", "asterix.062_V1_20_110_SUM_MC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_MC), 0x02, NULL, HFILL } }, { &hf_062_V1_20_110_SUM_X, { "X, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_20_110_SUM_X", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_SUM_X), 0x01, NULL, HFILL } }, { &hf_062_V1_20_110_PMN, { "PMN, Mode 5 PIN/ National Origin/Mission Code", "asterix.062_V1_20_110_PMN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_PMN_PIN, { "PIN, PIN Code", "asterix.062_V1_20_110_PMN_PIN", FT_UINT16, BASE_DEC, NULL, 0x3fff, NULL, HFILL } }, { &hf_062_V1_20_110_PMN_NAT, { "NAT, National Origin", "asterix.062_V1_20_110_PMN_NAT", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_20_110_PMN_MIS, { "MIS, Mission Code", "asterix.062_V1_20_110_PMN_MIS", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_20_110_POS, { "POS, Mode 5 Reported Position", "asterix.062_V1_20_110_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_POS_LAT, { "LAT, Latitude, [°]", "asterix.062_V1_20_110_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_POS_LON, { "LON, Longitude, [°]", "asterix.062_V1_20_110_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_GA, { "GA, Mode 5 GNSS-derived Altitude", "asterix.062_V1_20_110_GA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_GA_RES, { "RES, Resolution with which the GNSS-derived Altitude (GA) is Reported", "asterix.062_V1_20_110_GA_RES", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_GA_RES), 0x40, NULL, HFILL } }, { &hf_062_V1_20_110_GA_GA, { "GA, GNSS-derived Altitude of Target, Expressed as Height Above WGS 84 Ellipsoid, [ft]", "asterix.062_V1_20_110_GA_GA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_EM1, { "EM1, Extended Mode 1 Code in Octal Representation", "asterix.062_V1_20_110_EM1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_EM1_EM1, { "EM1, Extended Mode 1 Reply in Octal Representation", "asterix.062_V1_20_110_EM1_EM1", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_20_110_TOS, { "TOS, Time Offset for POS and GA", "asterix.062_V1_20_110_TOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_TOS_VALUE, { "Time Offset for POS and GA, [s]", "asterix.062_V1_20_110_TOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_XP, { "XP, X Pulse Presence", "asterix.062_V1_20_110_XP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_110_XP_X5, { "X5, X-pulse from Mode 5 Data Reply or Report", "asterix.062_V1_20_110_XP_X5", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_XP_X5), 0x10, NULL, HFILL } }, { &hf_062_V1_20_110_XP_XC, { "XC, X-pulse from Mode C Reply", "asterix.062_V1_20_110_XP_XC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_XP_XC), 0x08, NULL, HFILL } }, { &hf_062_V1_20_110_XP_X3, { "X3, X-pulse from Mode 3/A Reply", "asterix.062_V1_20_110_XP_X3", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_XP_X3), 0x04, NULL, HFILL } }, { &hf_062_V1_20_110_XP_X2, { "X2, X-pulse from Mode 2 Reply", "asterix.062_V1_20_110_XP_X2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_XP_X2), 0x02, NULL, HFILL } }, { &hf_062_V1_20_110_XP_X1, { "X1, X-pulse from Mode 1 Reply", "asterix.062_V1_20_110_XP_X1", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_110_XP_X1), 0x01, NULL, HFILL } }, { &hf_062_V1_20_120, { "120, Track Mode 2 Code", "asterix.062_V1_20_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_120_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.062_V1_20_120_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_20_130, { "130, Calculated Track Geometric Altitude", "asterix.062_V1_20_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_130_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_20_130_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_135, { "135, Calculated Track Barometric Altitude", "asterix.062_V1_20_135", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_135_QNH, { "QNH", "asterix.062_V1_20_135_QNH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_135_QNH), 0x80, NULL, HFILL } }, { &hf_062_V1_20_135_CTB, { "CTB, Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_20_135_CTB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_136, { "136, Measured Flight Level", "asterix.062_V1_20_136", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_136_VALUE, { "Measured Flight Level, [FL]", "asterix.062_V1_20_136_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_185, { "185, Calculated Track Velocity (Cartesian)", "asterix.062_V1_20_185", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_185_VX, { "VX, Velocity (X-component), [m/s]", "asterix.062_V1_20_185_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_185_VY, { "VY, Velocity (Y-component), [m/s]", "asterix.062_V1_20_185_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_200, { "200, Mode of Movement", "asterix.062_V1_20_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_200_TRANS, { "TRANS, Transversal Acceleration", "asterix.062_V1_20_200_TRANS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_200_TRANS), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_200_LONG, { "LONG, Longitudinal Acceleration", "asterix.062_V1_20_200_LONG", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_200_LONG), 0x30, NULL, HFILL } }, { &hf_062_V1_20_200_VERT, { "VERT, Transversal Acceleration", "asterix.062_V1_20_200_VERT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_200_VERT), 0x0c, NULL, HFILL } }, { &hf_062_V1_20_200_ADF, { "ADF, Altitude Discrepancy Flag", "asterix.062_V1_20_200_ADF", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_200_ADF), 0x02, NULL, HFILL } }, { &hf_062_V1_20_210, { "210, Calculated Acceleration (Cartesian)", "asterix.062_V1_20_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_210_AX, { "AX, [m/s²]", "asterix.062_V1_20_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_210_AY, { "AY, [m/s²]", "asterix.062_V1_20_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_220, { "220, Calculated Rate of Climb/Descent", "asterix.062_V1_20_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_220_VALUE, { "Calculated Rate of Climb/Descent, [ft/min]", "asterix.062_V1_20_220_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_245, { "245, Target Identification", "asterix.062_V1_20_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_245_STI, { "STI", "asterix.062_V1_20_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_245_STI), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_245_CHR, { "CHR, Characters 1-8 (Coded on 6 Bits Each) Defining Target Identification", "asterix.062_V1_20_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_270, { "270, Target Size and Orientation", "asterix.062_V1_20_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_270_LENGTH, { "LENGTH, Length, [m]", "asterix.062_V1_20_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.062_V1_20_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_270_WIDTH, { "WIDTH, Width, [m]", "asterix.062_V1_20_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290, { "290, System Track Update Ages", "asterix.062_V1_20_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_TRK, { "TRK, Track Age", "asterix.062_V1_20_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_TRK_VALUE, { "Track Age, [s]", "asterix.062_V1_20_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_PSR, { "PSR, PSR Age", "asterix.062_V1_20_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_PSR_VALUE, { "PSR Age, [s]", "asterix.062_V1_20_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_SSR, { "SSR, SSR Age", "asterix.062_V1_20_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_SSR_VALUE, { "SSR Age, [s]", "asterix.062_V1_20_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_MDS, { "MDS, Mode S Age", "asterix.062_V1_20_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_MDS_VALUE, { "Mode S Age, [s]", "asterix.062_V1_20_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_ADS, { "ADS, ADS-C Age", "asterix.062_V1_20_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_ADS_VALUE, { "ADS-C Age, [s]", "asterix.062_V1_20_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_ES, { "ES, ADS-B Extended Squitter Age", "asterix.062_V1_20_290_ES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_ES_VALUE, { "ADS-B Extended Squitter Age, [s]", "asterix.062_V1_20_290_ES_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_VDL, { "VDL, ADS-B VDL Mode 4 Age", "asterix.062_V1_20_290_VDL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_VDL_VALUE, { "ADS-B VDL Mode 4 Age, [s]", "asterix.062_V1_20_290_VDL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_UAT, { "UAT, ADS-B UAT Age", "asterix.062_V1_20_290_UAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_UAT_VALUE, { "ADS-B UAT Age, [s]", "asterix.062_V1_20_290_UAT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_LOP, { "LOP, Loop Age", "asterix.062_V1_20_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_LOP_VALUE, { "Loop Age, [s]", "asterix.062_V1_20_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_MLT, { "MLT, Multilateration Age", "asterix.062_V1_20_290_MLT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_290_MLT_VALUE, { "Multilateration Age, [s]", "asterix.062_V1_20_290_MLT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295, { "295, Track Data Ages", "asterix.062_V1_20_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MFL, { "MFL, Measured Flight Level Age", "asterix.062_V1_20_295_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MFL_VALUE, { "Measured Flight Level Age, [s]", "asterix.062_V1_20_295_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD1, { "MD1, Mode 1 Age", "asterix.062_V1_20_295_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD1_VALUE, { "Mode 1 Age, [s]", "asterix.062_V1_20_295_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD2, { "MD2, Mode 2 Age", "asterix.062_V1_20_295_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD2_VALUE, { "Mode 2 Age, [s]", "asterix.062_V1_20_295_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MDA, { "MDA, Mode 3/A Age", "asterix.062_V1_20_295_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MDA_VALUE, { "Mode 3/A Age, [s]", "asterix.062_V1_20_295_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD4, { "MD4, Mode 4 Age", "asterix.062_V1_20_295_MD4", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD4_VALUE, { "Mode 4 Age, [s]", "asterix.062_V1_20_295_MD4_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD5, { "MD5, Mode 5 Age", "asterix.062_V1_20_295_MD5", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MD5_VALUE, { "Mode 5 Age, [s]", "asterix.062_V1_20_295_MD5_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MHG, { "MHG, Magnetic Heading Age", "asterix.062_V1_20_295_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MHG_VALUE, { "Magnetic Heading Age, [s]", "asterix.062_V1_20_295_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_IAS, { "IAS, Indicated Airspeed / Mach Nb Age", "asterix.062_V1_20_295_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_IAS_VALUE, { "Indicated Airspeed / Mach Nb Age, [s]", "asterix.062_V1_20_295_IAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TAS, { "TAS, True Airspeed Age", "asterix.062_V1_20_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TAS_VALUE, { "True Airspeed Age, [s]", "asterix.062_V1_20_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_SAL, { "SAL, Selected Altitude Age", "asterix.062_V1_20_295_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_SAL_VALUE, { "Selected Altitude Age, [s]", "asterix.062_V1_20_295_SAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_FSS, { "FSS, Final State Selected Altitude Age", "asterix.062_V1_20_295_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_FSS_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.062_V1_20_295_FSS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TID, { "TID, Trajectory Intent Age", "asterix.062_V1_20_295_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TID_VALUE, { "Trajectory Intent Age, [s]", "asterix.062_V1_20_295_TID_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_COM, { "COM, Communication/ACAS Capability and Flight Status Age", "asterix.062_V1_20_295_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_COM_VALUE, { "Communication/ACAS Capability and Flight Status Age, [s]", "asterix.062_V1_20_295_COM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_SAB, { "SAB, Status Reported by ADS-B Age", "asterix.062_V1_20_295_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_SAB_VALUE, { "Status Reported by ADS-B Age, [s]", "asterix.062_V1_20_295_SAB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_ACS, { "ACS, ACAS Resolution Advisory Report Age", "asterix.062_V1_20_295_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_ACS_VALUE, { "ACAS Resolution Advisory Report Age, [s]", "asterix.062_V1_20_295_ACS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.062_V1_20_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.062_V1_20_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_GVR, { "GVR, Geometrical Vertical Rate Age", "asterix.062_V1_20_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_GVR_VALUE, { "Geometrical Vertical Rate Age, [s]", "asterix.062_V1_20_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_RAN, { "RAN, Roll Angle Age", "asterix.062_V1_20_295_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_RAN_VALUE, { "Roll Angle Age, [s]", "asterix.062_V1_20_295_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TAR, { "TAR, Track Angle Rate Age", "asterix.062_V1_20_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.062_V1_20_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TAN, { "TAN, Track Angle Age", "asterix.062_V1_20_295_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_TAN_VALUE, { "Track Angle Age, [s]", "asterix.062_V1_20_295_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_GSP, { "GSP, Ground Speed Age", "asterix.062_V1_20_295_GSP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_GSP_VALUE, { "Ground Speed Age, [s]", "asterix.062_V1_20_295_GSP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_VUN, { "VUN, Velocity Uncertainty Age", "asterix.062_V1_20_295_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_VUN_VALUE, { "Velocity Uncertainty Age, [s]", "asterix.062_V1_20_295_VUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MET, { "MET, Meteorological Data Age", "asterix.062_V1_20_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MET_VALUE, { "Meteorological Data Age, [s]", "asterix.062_V1_20_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_EMC, { "EMC, Emitter Category Age", "asterix.062_V1_20_295_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_EMC_VALUE, { "Emitter Category Age, [s]", "asterix.062_V1_20_295_EMC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_POS, { "POS, Position Age", "asterix.062_V1_20_295_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_POS_VALUE, { "Position Age, [s]", "asterix.062_V1_20_295_POS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_GAL, { "GAL, Geometric Altitude Age", "asterix.062_V1_20_295_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_GAL_VALUE, { "Geometric Altitude Age, [s]", "asterix.062_V1_20_295_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_PUN, { "PUN, Position Uncertainty Age", "asterix.062_V1_20_295_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_PUN_VALUE, { "Position Uncertainty Age, [s]", "asterix.062_V1_20_295_PUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MB, { "MB, Mode S MB Data Age", "asterix.062_V1_20_295_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MB_VALUE, { "Mode S MB Data Age, [s]", "asterix.062_V1_20_295_MB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_IAR, { "IAR, Indicated Airspeed Data Age", "asterix.062_V1_20_295_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_IAR_VALUE, { "Indicated Airspeed Data Age, [s]", "asterix.062_V1_20_295_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MAC, { "MAC, Mach Number Data Age", "asterix.062_V1_20_295_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_MAC_VALUE, { "Mach Number Data Age, [s]", "asterix.062_V1_20_295_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_BPS, { "BPS, Barometric Pressure Setting Data Age", "asterix.062_V1_20_295_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_295_BPS_VALUE, { "Barometric Pressure Setting Data Age, [s]", "asterix.062_V1_20_295_BPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_300, { "300, Vehicle Fleet Identification", "asterix.062_V1_20_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_300_VALUE, { "Vehicle Fleet Identification", "asterix.062_V1_20_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_300_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_20_340, { "340, Measured Information", "asterix.062_V1_20_340", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_SID, { "SID, Sensor Identification", "asterix.062_V1_20_340_SID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_SID_SAC, { "SAC, System Area Code", "asterix.062_V1_20_340_SID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_SID_SIC, { "SIC, System Identification Code", "asterix.062_V1_20_340_SID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_POS, { "POS, Measured Position", "asterix.062_V1_20_340_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_POS_RHO, { "RHO, Measured Distance, [NM]", "asterix.062_V1_20_340_POS_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_POS_THETA, { "THETA, Measured Azimuth, [°]", "asterix.062_V1_20_340_POS_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_HEIGHT, { "HEIGHT, Measured 3-D Height", "asterix.062_V1_20_340_HEIGHT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_HEIGHT_VALUE, { "Measured 3-D Height, [ft]", "asterix.062_V1_20_340_HEIGHT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_MDC, { "MDC", "asterix.062_V1_20_340_MDC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_MDC_V, { "V, Validated", "asterix.062_V1_20_340_MDC_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_MDC_V), 0x80, NULL, HFILL } }, { &hf_062_V1_20_340_MDC_G, { "G, Garbled", "asterix.062_V1_20_340_MDC_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_MDC_G), 0x40, NULL, HFILL } }, { &hf_062_V1_20_340_MDC_LMC, { "LMC, Last Measured Mode C Code, [FL]", "asterix.062_V1_20_340_MDC_LMC", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_MDA, { "MDA", "asterix.062_V1_20_340_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_MDA_V, { "V, Validated", "asterix.062_V1_20_340_MDA_V", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_MDA_V), 0x80, NULL, HFILL } }, { &hf_062_V1_20_340_MDA_G, { "G, Garbled", "asterix.062_V1_20_340_MDA_G", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_MDA_G), 0x40, NULL, HFILL } }, { &hf_062_V1_20_340_MDA_L, { "L", "asterix.062_V1_20_340_MDA_L", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_MDA_L), 0x20, NULL, HFILL } }, { &hf_062_V1_20_340_MDA_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_20_340_MDA_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_20_340_TYP, { "TYP", "asterix.062_V1_20_340_TYP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_340_TYP_TYP, { "TYP, Report Type", "asterix.062_V1_20_340_TYP_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_TYP_TYP), 0xe0, NULL, HFILL } }, { &hf_062_V1_20_340_TYP_SIM, { "SIM", "asterix.062_V1_20_340_TYP_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_TYP_SIM), 0x10, NULL, HFILL } }, { &hf_062_V1_20_340_TYP_RAB, { "RAB", "asterix.062_V1_20_340_TYP_RAB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_TYP_RAB), 0x08, NULL, HFILL } }, { &hf_062_V1_20_340_TYP_TST, { "TST", "asterix.062_V1_20_340_TYP_TST", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_340_TYP_TST), 0x04, NULL, HFILL } }, { &hf_062_V1_20_380, { "380, Aircraft Derived Data", "asterix.062_V1_20_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_ADR, { "ADR, Target Address", "asterix.062_V1_20_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_ADR_VALUE, { "Target Address", "asterix.062_V1_20_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_ID, { "ID, Target Identification", "asterix.062_V1_20_380_ID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_ID_VALUE, { "Target Identification", "asterix.062_V1_20_380_ID_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MHG, { "MHG, Magnetic Heading", "asterix.062_V1_20_380_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MHG_VALUE, { "Magnetic Heading, [°]", "asterix.062_V1_20_380_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_IAS, { "IAS, Indicated Airspeed/Mach No", "asterix.062_V1_20_380_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_IAS_IM, { "IM", "asterix.062_V1_20_380_IAS_IM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_IAS_IM), 0x80, NULL, HFILL } }, { &hf_062_V1_20_380_IAS_IAS, { "IAS", "asterix.062_V1_20_380_IAS_IAS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_062_V1_20_380_TAS, { "TAS, True Airspeed", "asterix.062_V1_20_380_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TAS_VALUE, { "True Airspeed, [kt]", "asterix.062_V1_20_380_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_SAL, { "SAL, Selected Altitude", "asterix.062_V1_20_380_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_SAL_SAS, { "SAS", "asterix.062_V1_20_380_SAL_SAS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_SAL_SAS), 0x80, NULL, HFILL } }, { &hf_062_V1_20_380_SAL_SRC, { "SRC", "asterix.062_V1_20_380_SAL_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_SAL_SRC), 0x60, NULL, HFILL } }, { &hf_062_V1_20_380_SAL_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_20_380_SAL_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_FSS, { "FSS, Final State Selected Altitude", "asterix.062_V1_20_380_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_FSS_MV, { "MV, Manage Vertical Mode", "asterix.062_V1_20_380_FSS_MV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_FSS_MV), 0x80, NULL, HFILL } }, { &hf_062_V1_20_380_FSS_AH, { "AH, Altitude Hold", "asterix.062_V1_20_380_FSS_AH", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_FSS_AH), 0x40, NULL, HFILL } }, { &hf_062_V1_20_380_FSS_AM, { "AM, Approach Mode", "asterix.062_V1_20_380_FSS_AM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_FSS_AM), 0x20, NULL, HFILL } }, { &hf_062_V1_20_380_FSS_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_20_380_FSS_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TIS, { "TIS, Trajectory Intent Status", "asterix.062_V1_20_380_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TIS_NAV, { "NAV, TID Available", "asterix.062_V1_20_380_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_062_V1_20_380_TIS_NVB, { "NVB, TID Valid", "asterix.062_V1_20_380_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_062_V1_20_380_TID, { "TID, Trajectory Intent Data", "asterix.062_V1_20_380_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TID_TCA, { "TCA, TCP Number Availability", "asterix.062_V1_20_380_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TID_TCA), 0x80, NULL, HFILL } }, { &hf_062_V1_20_380_TID_NC, { "NC, TCP Compliance", "asterix.062_V1_20_380_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TID_NC), 0x40, NULL, HFILL } }, { &hf_062_V1_20_380_TID_TCPN, { "TCPN, Trajectory Change Point Number", "asterix.062_V1_20_380_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_20_380_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_V1_20_380_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TID_LAT, { "LAT, Latitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_20_380_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TID_LON, { "LON, Longitude in WGS.84 in Two's Complement, [°]", "asterix.062_V1_20_380_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TID_PT, { "PT, Point Type", "asterix.062_V1_20_380_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TID_PT), 0xf0, NULL, HFILL } }, { &hf_062_V1_20_380_TID_TD, { "TD, Turn Direction", "asterix.062_V1_20_380_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TID_TD), 0x0c, NULL, HFILL } }, { &hf_062_V1_20_380_TID_TRA, { "TRA, Turn Radius Availability", "asterix.062_V1_20_380_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TID_TRA), 0x02, NULL, HFILL } }, { &hf_062_V1_20_380_TID_TOA, { "TOA, TOV Available", "asterix.062_V1_20_380_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TID_TOA), 0x01, NULL, HFILL } }, { &hf_062_V1_20_380_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.062_V1_20_380_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.062_V1_20_380_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_COM, { "COM, Communications/ACAS Capability and Flight Status", "asterix.062_V1_20_380_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_COM_COM, { "COM, Communications Capability of the Transponder", "asterix.062_V1_20_380_COM_COM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_COM_COM), 0xe0, NULL, HFILL } }, { &hf_062_V1_20_380_COM_STAT, { "STAT, Flight Status", "asterix.062_V1_20_380_COM_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_COM_STAT), 0x1c, NULL, HFILL } }, { &hf_062_V1_20_380_COM_SSC, { "SSC, Specific Service Capability", "asterix.062_V1_20_380_COM_SSC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_COM_SSC), 0x80, NULL, HFILL } }, { &hf_062_V1_20_380_COM_ARC, { "ARC, Altitude Reporting Capability", "asterix.062_V1_20_380_COM_ARC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_COM_ARC), 0x40, NULL, HFILL } }, { &hf_062_V1_20_380_COM_AIC, { "AIC, Aircraft Identification Capability", "asterix.062_V1_20_380_COM_AIC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_COM_AIC), 0x20, NULL, HFILL } }, { &hf_062_V1_20_380_COM_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.062_V1_20_380_COM_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_062_V1_20_380_COM_B1B, { "B1B, BDS BDS 1,0 Bits 37/40", "asterix.062_V1_20_380_COM_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_20_380_SAB, { "SAB, Status Reported by ADS-B", "asterix.062_V1_20_380_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_SAB_AC, { "AC, ACAS Status", "asterix.062_V1_20_380_SAB_AC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_SAB_AC), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_380_SAB_MN, { "MN, Multiple Navigational Aids Status", "asterix.062_V1_20_380_SAB_MN", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_SAB_MN), 0x30, NULL, HFILL } }, { &hf_062_V1_20_380_SAB_DC, { "DC, Differential Correction Status", "asterix.062_V1_20_380_SAB_DC", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_SAB_DC), 0x0c, NULL, HFILL } }, { &hf_062_V1_20_380_SAB_GBS, { "GBS, Ground Bit Set", "asterix.062_V1_20_380_SAB_GBS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_SAB_GBS), 0x02, NULL, HFILL } }, { &hf_062_V1_20_380_SAB_STAT, { "STAT, Flight Status", "asterix.062_V1_20_380_SAB_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_SAB_STAT), 0x07, NULL, HFILL } }, { &hf_062_V1_20_380_ACS, { "ACS, ACAS Resolution Advisory Report", "asterix.062_V1_20_380_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_ACS_VALUE, { "ACAS Resolution Advisory Report", "asterix.062_V1_20_380_ACS_VALUE", FT_UINT56, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_BVR, { "BVR, Barometric Vertical Rate", "asterix.062_V1_20_380_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_BVR_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.062_V1_20_380_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_GVR, { "GVR, Geometric Vertical Rate", "asterix.062_V1_20_380_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_GVR_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.062_V1_20_380_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_RAN, { "RAN, Roll Angle", "asterix.062_V1_20_380_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_RAN_VALUE, { "Roll Angle, [°]", "asterix.062_V1_20_380_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TAR, { "TAR, Track Angle Rate", "asterix.062_V1_20_380_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TAR_TI, { "TI, Turn Indicator", "asterix.062_V1_20_380_TAR_TI", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_TAR_TI), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_380_TAR_ROT, { "ROT, Rate of Turn in Two's Complement Form, [°/s]", "asterix.062_V1_20_380_TAR_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TAN, { "TAN, Track Angle", "asterix.062_V1_20_380_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_TAN_VALUE, { "Track Angle, [°]", "asterix.062_V1_20_380_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_GS, { "GS, Ground Speed", "asterix.062_V1_20_380_GS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_GS_VALUE, { "Ground Speed, [NM/s]", "asterix.062_V1_20_380_GS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_VUN, { "VUN, Velocity Uncertainty", "asterix.062_V1_20_380_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_VUN_VALUE, { "Velocity Uncertainty", "asterix.062_V1_20_380_VUN_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MET, { "MET, Meteorological Data", "asterix.062_V1_20_380_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MET_WS, { "WS, Wind Speed Valid Flag", "asterix.062_V1_20_380_MET_WS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_MET_WS), 0x80, NULL, HFILL } }, { &hf_062_V1_20_380_MET_WD, { "WD, Wind Direction Valid Flag", "asterix.062_V1_20_380_MET_WD", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_MET_WD), 0x40, NULL, HFILL } }, { &hf_062_V1_20_380_MET_TMP, { "TMP, Temperature Valid Flag", "asterix.062_V1_20_380_MET_TMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_MET_TMP), 0x20, NULL, HFILL } }, { &hf_062_V1_20_380_MET_TRB, { "TRB, Turbulence Valid Flag", "asterix.062_V1_20_380_MET_TRB", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_MET_TRB), 0x10, NULL, HFILL } }, { &hf_062_V1_20_380_MET_WSD, { "WSD, Wind Speed, [kt]", "asterix.062_V1_20_380_MET_WSD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MET_WDD, { "WDD, Wind Direction, [°]", "asterix.062_V1_20_380_MET_WDD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MET_TMPD, { "TMPD, Temperature in Degrees Celsius, [°C]", "asterix.062_V1_20_380_MET_TMPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MET_TRBD, { "TRBD, Turbulence", "asterix.062_V1_20_380_MET_TRBD", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_EMC, { "EMC, Emitter Category", "asterix.062_V1_20_380_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_EMC_VALUE, { "Emitter Category", "asterix.062_V1_20_380_EMC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_380_EMC_VALUE), 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_POS, { "POS, Position", "asterix.062_V1_20_380_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_POS_LAT, { "LAT, Latitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_20_380_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_POS_LON, { "LON, Longitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_V1_20_380_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_GAL, { "GAL, Geometric Altitude", "asterix.062_V1_20_380_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_GAL_VALUE, { "Geometric Altitude, [ft]", "asterix.062_V1_20_380_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_20_380_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_PUN_PUN, { "PUN, Position Uncertainty", "asterix.062_V1_20_380_PUN_PUN", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_V1_20_380_BDSDATA, { "BDSDATA, BDS Register DATA", "asterix.062_V1_20_380_BDSDATA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_BDSDATA_VALUE, { "BDS Register DATA", "asterix.062_V1_20_380_BDSDATA_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_IAR, { "IAR, Indicated Airspeed", "asterix.062_V1_20_380_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_IAR_VALUE, { "Indicated Airspeed, [kt]", "asterix.062_V1_20_380_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MAC, { "MAC, Mach Number", "asterix.062_V1_20_380_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_MAC_VALUE, { "Mach Number, [Mach]", "asterix.062_V1_20_380_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_BPS, { "BPS, Barometric Pressure Setting", "asterix.062_V1_20_380_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_380_BPS_BPS, { "BPS, [mb]", "asterix.062_V1_20_380_BPS_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390, { "390, Flight Plan Related Data", "asterix.062_V1_20_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_TAG, { "TAG, FPPS Identification Tag", "asterix.062_V1_20_390_TAG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_TAG_SAC, { "SAC, System Area Code", "asterix.062_V1_20_390_TAG_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_TAG_SIC, { "SIC, System Identification Code", "asterix.062_V1_20_390_TAG_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_CS, { "CS, Callsign", "asterix.062_V1_20_390_CS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_CS_VALUE, { "Callsign", "asterix.062_V1_20_390_CS_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_IFI, { "IFI, IFPS_FLIGHT_ID", "asterix.062_V1_20_390_IFI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_IFI_TYP, { "TYP", "asterix.062_V1_20_390_IFI_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_IFI_TYP), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_390_IFI_NBR, { "NBR, Number from 0 to 99 999 999", "asterix.062_V1_20_390_IFI_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_062_V1_20_390_FCT, { "FCT, Flight Category", "asterix.062_V1_20_390_FCT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_FCT_GATOAT, { "GATOAT", "asterix.062_V1_20_390_FCT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_FCT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_390_FCT_FR1FR2, { "FR1FR2", "asterix.062_V1_20_390_FCT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_FCT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_062_V1_20_390_FCT_RVSM, { "RVSM", "asterix.062_V1_20_390_FCT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_FCT_RVSM), 0x0c, NULL, HFILL } }, { &hf_062_V1_20_390_FCT_HPR, { "HPR", "asterix.062_V1_20_390_FCT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_FCT_HPR), 0x02, NULL, HFILL } }, { &hf_062_V1_20_390_TAC, { "TAC, Type of Aircraft", "asterix.062_V1_20_390_TAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_TAC_VALUE, { "Type of Aircraft", "asterix.062_V1_20_390_TAC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_WTC, { "WTC, Wake Turbulence Category", "asterix.062_V1_20_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.062_V1_20_390_WTC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_DEP, { "DEP, Departure Airport", "asterix.062_V1_20_390_DEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_DEP_VALUE, { "Departure Airport", "asterix.062_V1_20_390_DEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_DST, { "DST, Destination Airport", "asterix.062_V1_20_390_DST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_DST_VALUE, { "Destination Airport", "asterix.062_V1_20_390_DST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_RDS, { "RDS, Runway Designation", "asterix.062_V1_20_390_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_RDS_NU1, { "NU1, First Number", "asterix.062_V1_20_390_RDS_NU1", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_RDS_NU2, { "NU2, Second Number", "asterix.062_V1_20_390_RDS_NU2", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_RDS_LTR, { "LTR, Letter", "asterix.062_V1_20_390_RDS_LTR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.062_V1_20_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.062_V1_20_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_CTL, { "CTL, Current Control Position", "asterix.062_V1_20_390_CTL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_CTL_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.062_V1_20_390_CTL_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_CTL_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.062_V1_20_390_CTL_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_TOD, { "TOD, Time of Departure / Arrival", "asterix.062_V1_20_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_TOD_TYP, { "TYP", "asterix.062_V1_20_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_062_V1_20_390_TOD_DAY, { "DAY", "asterix.062_V1_20_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_062_V1_20_390_TOD_HOR, { "HOR, Hours", "asterix.062_V1_20_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_V1_20_390_TOD_MIN, { "MIN, Minutes", "asterix.062_V1_20_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_20_390_TOD_AVS, { "AVS, Seconds Available Flag", "asterix.062_V1_20_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_062_V1_20_390_TOD_SEC, { "SEC, Seconds", "asterix.062_V1_20_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_V1_20_390_AST, { "AST, Aircraft Stand", "asterix.062_V1_20_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_AST_VALUE, { "Aircraft Stand", "asterix.062_V1_20_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_STS, { "STS, Stand Status", "asterix.062_V1_20_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_STS_EMP, { "EMP", "asterix.062_V1_20_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_062_V1_20_390_STS_AVL, { "AVL", "asterix.062_V1_20_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_062_V1_20_390_STD, { "STD, Standard Instrument Departure", "asterix.062_V1_20_390_STD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_STD_VALUE, { "Standard Instrument Departure", "asterix.062_V1_20_390_STD_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_STA, { "STA, Standard Instrument Arrival", "asterix.062_V1_20_390_STA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_STA_VALUE, { "Standard Instrument Arrival", "asterix.062_V1_20_390_STA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_PEM, { "PEM, Pre-Emergency Mode 3/A", "asterix.062_V1_20_390_PEM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_PEM_VA, { "VA", "asterix.062_V1_20_390_PEM_VA", FT_UINT8, BASE_DEC, VALS (valstr_062_V1_20_390_PEM_VA), 0x10, NULL, HFILL } }, { &hf_062_V1_20_390_PEM_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_V1_20_390_PEM_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_V1_20_390_PEC, { "PEC, Pre-Emergency Callsign", "asterix.062_V1_20_390_PEC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_390_PEC_VALUE, { "Pre-Emergency Callsign", "asterix.062_V1_20_390_PEC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500, { "500, Estimated Accuracies", "asterix.062_V1_20_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.062_V1_20_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_APC_X, { "X, APC (X-Component), [m]", "asterix.062_V1_20_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_APC_Y, { "Y, APC (Y-Component), [m]", "asterix.062_V1_20_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_COV, { "COV, XY Covariance Component", "asterix.062_V1_20_500_COV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_COV_VALUE, { "XY Covariance Component, [m]", "asterix.062_V1_20_500_COV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS-84)", "asterix.062_V1_20_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_APW_LAT, { "LAT, APW (Latitude Component), [°]", "asterix.062_V1_20_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_APW_LON, { "LON, APW (Longitude Component), [°]", "asterix.062_V1_20_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_AGA, { "AGA, Estimated Accuracy Of Calculated Track Geometric Altitude", "asterix.062_V1_20_500_AGA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_AGA_VALUE, { "Estimated Accuracy Of Calculated Track Geometric Altitude, [ft]", "asterix.062_V1_20_500_AGA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_ABA, { "ABA, Estimated Accuracy Of Calculated Track Barometric Altitude", "asterix.062_V1_20_500_ABA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_ABA_VALUE, { "Estimated Accuracy Of Calculated Track Barometric Altitude, [FL]", "asterix.062_V1_20_500_ABA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_ATV, { "ATV, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.062_V1_20_500_ATV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_ATV_X, { "X, ATV (X-Component), [m/s]", "asterix.062_V1_20_500_ATV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_ATV_Y, { "Y, ATV (Y-Component), [m/s]", "asterix.062_V1_20_500_ATV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_AA, { "AA, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.062_V1_20_500_AA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_AA_X, { "X, AA (X-Component), [m/s²]", "asterix.062_V1_20_500_AA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_AA_Y, { "Y, AA (Y-Component), [m/s²]", "asterix.062_V1_20_500_AA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb/Descent", "asterix.062_V1_20_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb/Descent, [ft/min]", "asterix.062_V1_20_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_510, { "510, Composed Track Number", "asterix.062_V1_20_510", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_510_MIDENT, { "MIDENT, Master System Unit Identification", "asterix.062_V1_20_510_MIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_510_MTRACK, { "MTRACK, Master System Track Number", "asterix.062_V1_20_510_MTRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_20_510_SIDENT, { "SIDENT, Slave System Unit Identification", "asterix.062_V1_20_510_SIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_510_STRACK, { "STRACK, Slave System Track Number", "asterix.062_V1_20_510_STRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_V1_20_RE, { "RE, Reserved Expansion Field", "asterix.062_V1_20_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_V1_20_SP, { "SP, Special Purpose Field", "asterix.062_V1_20_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_010, { "010, Data Source Identifier", "asterix.062_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_010_SAC, { "SAC, System Area Code", "asterix.062_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_010_SIC, { "SIC, System Identification Code", "asterix.062_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_015, { "015, Service Identification", "asterix.062_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_015_VALUE, { "Service Identification", "asterix.062_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_040, { "040, Track Number", "asterix.062_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_040_VALUE, { "Track Number", "asterix.062_040_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_060, { "060, Track Mode 3/A Code", "asterix.062_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_060_V, { "V, Validated", "asterix.062_060_V", FT_UINT8, BASE_DEC, VALS (valstr_062_060_V), 0x80, NULL, HFILL } }, { &hf_062_060_G, { "G, Garbled", "asterix.062_060_G", FT_UINT8, BASE_DEC, VALS (valstr_062_060_G), 0x40, NULL, HFILL } }, { &hf_062_060_CH, { "CH, Change in Mode 3/A", "asterix.062_060_CH", FT_UINT8, BASE_DEC, VALS (valstr_062_060_CH), 0x20, NULL, HFILL } }, { &hf_062_060_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_060_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_070, { "070, Time Of Track Information", "asterix.062_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_070_VALUE, { "Time Of Track Information, [s]", "asterix.062_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_080, { "080, Track Status", "asterix.062_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_080_MON, { "MON", "asterix.062_080_MON", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MON), 0x80, NULL, HFILL } }, { &hf_062_080_SPI, { "SPI", "asterix.062_080_SPI", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SPI), 0x40, NULL, HFILL } }, { &hf_062_080_MRH, { "MRH, Most Reliable Height", "asterix.062_080_MRH", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MRH), 0x20, NULL, HFILL } }, { &hf_062_080_SRC, { "SRC, Source of Calculated Track Altitude for I062/130", "asterix.062_080_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SRC), 0x1c, NULL, HFILL } }, { &hf_062_080_CNF, { "CNF", "asterix.062_080_CNF", FT_UINT8, BASE_DEC, VALS (valstr_062_080_CNF), 0x02, NULL, HFILL } }, { &hf_062_080_SIM, { "SIM", "asterix.062_080_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SIM), 0x80, NULL, HFILL } }, { &hf_062_080_TSE, { "TSE", "asterix.062_080_TSE", FT_UINT8, BASE_DEC, VALS (valstr_062_080_TSE), 0x40, NULL, HFILL } }, { &hf_062_080_TSB, { "TSB", "asterix.062_080_TSB", FT_UINT8, BASE_DEC, VALS (valstr_062_080_TSB), 0x20, NULL, HFILL } }, { &hf_062_080_FPC, { "FPC", "asterix.062_080_FPC", FT_UINT8, BASE_DEC, VALS (valstr_062_080_FPC), 0x10, NULL, HFILL } }, { &hf_062_080_AFF, { "AFF", "asterix.062_080_AFF", FT_UINT8, BASE_DEC, VALS (valstr_062_080_AFF), 0x08, NULL, HFILL } }, { &hf_062_080_STP, { "STP", "asterix.062_080_STP", FT_UINT8, BASE_DEC, VALS (valstr_062_080_STP), 0x04, NULL, HFILL } }, { &hf_062_080_KOS, { "KOS", "asterix.062_080_KOS", FT_UINT8, BASE_DEC, VALS (valstr_062_080_KOS), 0x02, NULL, HFILL } }, { &hf_062_080_AMA, { "AMA", "asterix.062_080_AMA", FT_UINT8, BASE_DEC, VALS (valstr_062_080_AMA), 0x80, NULL, HFILL } }, { &hf_062_080_MD4, { "MD4", "asterix.062_080_MD4", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MD4), 0x60, NULL, HFILL } }, { &hf_062_080_ME, { "ME", "asterix.062_080_ME", FT_UINT8, BASE_DEC, VALS (valstr_062_080_ME), 0x10, NULL, HFILL } }, { &hf_062_080_MI, { "MI", "asterix.062_080_MI", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MI), 0x08, NULL, HFILL } }, { &hf_062_080_MD5, { "MD5", "asterix.062_080_MD5", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MD5), 0x06, NULL, HFILL } }, { &hf_062_080_CST, { "CST", "asterix.062_080_CST", FT_UINT8, BASE_DEC, VALS (valstr_062_080_CST), 0x80, NULL, HFILL } }, { &hf_062_080_PSR, { "PSR", "asterix.062_080_PSR", FT_UINT8, BASE_DEC, VALS (valstr_062_080_PSR), 0x40, NULL, HFILL } }, { &hf_062_080_SSR, { "SSR", "asterix.062_080_SSR", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SSR), 0x20, NULL, HFILL } }, { &hf_062_080_MDS, { "MDS", "asterix.062_080_MDS", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MDS), 0x10, NULL, HFILL } }, { &hf_062_080_ADS, { "ADS", "asterix.062_080_ADS", FT_UINT8, BASE_DEC, VALS (valstr_062_080_ADS), 0x08, NULL, HFILL } }, { &hf_062_080_SUC, { "SUC", "asterix.062_080_SUC", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SUC), 0x04, NULL, HFILL } }, { &hf_062_080_AAC, { "AAC", "asterix.062_080_AAC", FT_UINT8, BASE_DEC, VALS (valstr_062_080_AAC), 0x02, NULL, HFILL } }, { &hf_062_080_SDS, { "SDS", "asterix.062_080_SDS", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SDS), 0xc0, NULL, HFILL } }, { &hf_062_080_EMS, { "EMS", "asterix.062_080_EMS", FT_UINT8, BASE_DEC, VALS (valstr_062_080_EMS), 0x38, NULL, HFILL } }, { &hf_062_080_PFT, { "PFT", "asterix.062_080_PFT", FT_UINT8, BASE_DEC, VALS (valstr_062_080_PFT), 0x04, NULL, HFILL } }, { &hf_062_080_FPLT, { "FPLT", "asterix.062_080_FPLT", FT_UINT8, BASE_DEC, VALS (valstr_062_080_FPLT), 0x02, NULL, HFILL } }, { &hf_062_080_DUPT, { "DUPT", "asterix.062_080_DUPT", FT_UINT8, BASE_DEC, VALS (valstr_062_080_DUPT), 0x80, NULL, HFILL } }, { &hf_062_080_DUPF, { "DUPF", "asterix.062_080_DUPF", FT_UINT8, BASE_DEC, VALS (valstr_062_080_DUPF), 0x40, NULL, HFILL } }, { &hf_062_080_DUPM, { "DUPM", "asterix.062_080_DUPM", FT_UINT8, BASE_DEC, VALS (valstr_062_080_DUPM), 0x20, NULL, HFILL } }, { &hf_062_080_SFC, { "SFC", "asterix.062_080_SFC", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SFC), 0x10, NULL, HFILL } }, { &hf_062_080_IDD, { "IDD", "asterix.062_080_IDD", FT_UINT8, BASE_DEC, VALS (valstr_062_080_IDD), 0x08, NULL, HFILL } }, { &hf_062_080_IEC, { "IEC", "asterix.062_080_IEC", FT_UINT8, BASE_DEC, VALS (valstr_062_080_IEC), 0x04, NULL, HFILL } }, { &hf_062_080_MLAT, { "MLAT", "asterix.062_080_MLAT", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MLAT), 0x02, NULL, HFILL } }, { &hf_062_100, { "100, Calculated Track Position (Cartesian)", "asterix.062_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_100_X, { "X, X Coordinate, [m]", "asterix.062_100_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_100_Y, { "Y, Y Coordinate, [m]", "asterix.062_100_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_105, { "105, Calculated Position In WGS-84 Co-ordinates", "asterix.062_105", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_105_LAT, { "LAT, Latitude, [°]", "asterix.062_105_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_105_LON, { "LON, Longitude, [°]", "asterix.062_105_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110, { "110, Mode 5 Data Reports and Extended Mode 1 Code", "asterix.062_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_SUM, { "SUM, Mode 5 Summary", "asterix.062_110_SUM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_SUM_M5, { "M5", "asterix.062_110_SUM_M5", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_M5), 0x80, NULL, HFILL } }, { &hf_062_110_SUM_ID, { "ID", "asterix.062_110_SUM_ID", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_ID), 0x40, NULL, HFILL } }, { &hf_062_110_SUM_DA, { "DA", "asterix.062_110_SUM_DA", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_DA), 0x20, NULL, HFILL } }, { &hf_062_110_SUM_M1, { "M1", "asterix.062_110_SUM_M1", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_M1), 0x10, NULL, HFILL } }, { &hf_062_110_SUM_M2, { "M2", "asterix.062_110_SUM_M2", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_M2), 0x08, NULL, HFILL } }, { &hf_062_110_SUM_M3, { "M3", "asterix.062_110_SUM_M3", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_M3), 0x04, NULL, HFILL } }, { &hf_062_110_SUM_MC, { "MC", "asterix.062_110_SUM_MC", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_MC), 0x02, NULL, HFILL } }, { &hf_062_110_SUM_X, { "X, X-pulse from Mode 5 Data Reply or Report", "asterix.062_110_SUM_X", FT_UINT8, BASE_DEC, VALS (valstr_062_110_SUM_X), 0x01, NULL, HFILL } }, { &hf_062_110_PMN, { "PMN, Mode 5 PIN/ National Origin/Mission Code", "asterix.062_110_PMN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_PMN_PIN, { "PIN, PIN Code", "asterix.062_110_PMN_PIN", FT_UINT16, BASE_DEC, NULL, 0x3fff, NULL, HFILL } }, { &hf_062_110_PMN_NAT, { "NAT, National Origin", "asterix.062_110_PMN_NAT", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_110_PMN_MIS, { "MIS, Mission Code", "asterix.062_110_PMN_MIS", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_110_POS, { "POS, Mode 5 Reported Position", "asterix.062_110_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_POS_LAT, { "LAT, Latitude, [°]", "asterix.062_110_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_POS_LON, { "LON, Longitude, [°]", "asterix.062_110_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_GA, { "GA, Mode 5 GNSS-derived Altitude", "asterix.062_110_GA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_GA_RES, { "RES, Resolution with which the GNSS-derived Altitude (GA) is Reported", "asterix.062_110_GA_RES", FT_UINT8, BASE_DEC, VALS (valstr_062_110_GA_RES), 0x40, NULL, HFILL } }, { &hf_062_110_GA_GA, { "GA, GNSS-derived Altitude of Target, Expressed as Height Above WGS 84 Ellipsoid, [ft]", "asterix.062_110_GA_GA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_EM1, { "EM1, Extended Mode 1 Code in Octal Representation", "asterix.062_110_EM1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_EM1_EM1, { "EM1, Extended Mode 1 Reply in Octal Representation", "asterix.062_110_EM1_EM1", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_110_TOS, { "TOS, Time Offset for POS and GA", "asterix.062_110_TOS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_TOS_VALUE, { "Time Offset for POS and GA, [s]", "asterix.062_110_TOS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_XP, { "XP, X Pulse Presence", "asterix.062_110_XP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_110_XP_X5, { "X5, X-pulse from Mode 5 Data Reply or Report", "asterix.062_110_XP_X5", FT_UINT8, BASE_DEC, VALS (valstr_062_110_XP_X5), 0x10, NULL, HFILL } }, { &hf_062_110_XP_XC, { "XC, X-pulse from Mode C Reply", "asterix.062_110_XP_XC", FT_UINT8, BASE_DEC, VALS (valstr_062_110_XP_XC), 0x08, NULL, HFILL } }, { &hf_062_110_XP_X3, { "X3, X-pulse from Mode 3/A Reply", "asterix.062_110_XP_X3", FT_UINT8, BASE_DEC, VALS (valstr_062_110_XP_X3), 0x04, NULL, HFILL } }, { &hf_062_110_XP_X2, { "X2, X-pulse from Mode 2 Reply", "asterix.062_110_XP_X2", FT_UINT8, BASE_DEC, VALS (valstr_062_110_XP_X2), 0x02, NULL, HFILL } }, { &hf_062_110_XP_X1, { "X1, X-pulse from Mode 1 Reply", "asterix.062_110_XP_X1", FT_UINT8, BASE_DEC, VALS (valstr_062_110_XP_X1), 0x01, NULL, HFILL } }, { &hf_062_120, { "120, Track Mode 2 Code", "asterix.062_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_120_MODE2, { "MODE2, Mode-2 Code in Octal Representation", "asterix.062_120_MODE2", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_130, { "130, Calculated Track Geometric Altitude", "asterix.062_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_130_VALUE, { "Calculated Track Geometric Altitude, [ft]", "asterix.062_130_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_135, { "135, Calculated Track Barometric Altitude", "asterix.062_135", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_135_QNH, { "QNH", "asterix.062_135_QNH", FT_UINT8, BASE_DEC, VALS (valstr_062_135_QNH), 0x80, NULL, HFILL } }, { &hf_062_135_CTB, { "CTB, Calculated Track Barometric Altitude, [FL]", "asterix.062_135_CTB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_136, { "136, Measured Flight Level", "asterix.062_136", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_136_VALUE, { "Measured Flight Level, [FL]", "asterix.062_136_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_185, { "185, Calculated Track Velocity (Cartesian)", "asterix.062_185", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_185_VX, { "VX, Velocity (X-component), [m/s]", "asterix.062_185_VX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_185_VY, { "VY, Velocity (Y-component), [m/s]", "asterix.062_185_VY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_200, { "200, Mode of Movement", "asterix.062_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_200_TRANS, { "TRANS, Transversal Acceleration", "asterix.062_200_TRANS", FT_UINT8, BASE_DEC, VALS (valstr_062_200_TRANS), 0xc0, NULL, HFILL } }, { &hf_062_200_LONG, { "LONG, Longitudinal Acceleration", "asterix.062_200_LONG", FT_UINT8, BASE_DEC, VALS (valstr_062_200_LONG), 0x30, NULL, HFILL } }, { &hf_062_200_VERT, { "VERT, Transversal Acceleration", "asterix.062_200_VERT", FT_UINT8, BASE_DEC, VALS (valstr_062_200_VERT), 0x0c, NULL, HFILL } }, { &hf_062_200_ADF, { "ADF, Altitude Discrepancy Flag", "asterix.062_200_ADF", FT_UINT8, BASE_DEC, VALS (valstr_062_200_ADF), 0x02, NULL, HFILL } }, { &hf_062_210, { "210, Calculated Acceleration (Cartesian)", "asterix.062_210", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_210_AX, { "AX, [m/s²]", "asterix.062_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_210_AY, { "AY, [m/s²]", "asterix.062_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_220, { "220, Calculated Rate of Climb/Descent", "asterix.062_220", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_220_VALUE, { "Calculated Rate of Climb/Descent, [ft/min]", "asterix.062_220_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_245, { "245, Target Identification", "asterix.062_245", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_245_STI, { "STI", "asterix.062_245_STI", FT_UINT8, BASE_DEC, VALS (valstr_062_245_STI), 0xc0, NULL, HFILL } }, { &hf_062_245_CHR, { "CHR, Characters 1-8 (Coded on 6 Bits Each) Defining Target Identification", "asterix.062_245_CHR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_270, { "270, Target Size and Orientation", "asterix.062_270", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_270_LENGTH, { "LENGTH, Length, [m]", "asterix.062_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_270_ORIENTATION, { "ORIENTATION, Orientation, [°]", "asterix.062_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_270_WIDTH, { "WIDTH, Width, [m]", "asterix.062_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290, { "290, System Track Update Ages", "asterix.062_290", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_TRK, { "TRK, Track Age", "asterix.062_290_TRK", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_TRK_VALUE, { "Track Age, [s]", "asterix.062_290_TRK_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_PSR, { "PSR, PSR Age", "asterix.062_290_PSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_PSR_VALUE, { "PSR Age, [s]", "asterix.062_290_PSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_SSR, { "SSR, SSR Age", "asterix.062_290_SSR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_SSR_VALUE, { "SSR Age, [s]", "asterix.062_290_SSR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_MDS, { "MDS, Mode S Age", "asterix.062_290_MDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_MDS_VALUE, { "Mode S Age, [s]", "asterix.062_290_MDS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_ADS, { "ADS, ADS-C Age", "asterix.062_290_ADS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_ADS_VALUE, { "ADS-C Age, [s]", "asterix.062_290_ADS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_ES, { "ES, ADS-B Extended Squitter Age", "asterix.062_290_ES", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_ES_VALUE, { "ADS-B Extended Squitter Age, [s]", "asterix.062_290_ES_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_VDL, { "VDL, ADS-B VDL Mode 4 Age", "asterix.062_290_VDL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_VDL_VALUE, { "ADS-B VDL Mode 4 Age, [s]", "asterix.062_290_VDL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_UAT, { "UAT, ADS-B UAT Age", "asterix.062_290_UAT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_UAT_VALUE, { "ADS-B UAT Age, [s]", "asterix.062_290_UAT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_LOP, { "LOP, Loop Age", "asterix.062_290_LOP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_LOP_VALUE, { "Loop Age, [s]", "asterix.062_290_LOP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_MLT, { "MLT, Multilateration Age", "asterix.062_290_MLT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_290_MLT_VALUE, { "Multilateration Age, [s]", "asterix.062_290_MLT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295, { "295, Track Data Ages", "asterix.062_295", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MFL, { "MFL, Measured Flight Level Age", "asterix.062_295_MFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MFL_VALUE, { "Measured Flight Level Age, [s]", "asterix.062_295_MFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD1, { "MD1, Mode 1 Age", "asterix.062_295_MD1", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD1_VALUE, { "Mode 1 Age, [s]", "asterix.062_295_MD1_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD2, { "MD2, Mode 2 Age", "asterix.062_295_MD2", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD2_VALUE, { "Mode 2 Age, [s]", "asterix.062_295_MD2_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MDA, { "MDA, Mode 3/A Age", "asterix.062_295_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MDA_VALUE, { "Mode 3/A Age, [s]", "asterix.062_295_MDA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD4, { "MD4, Mode 4 Age", "asterix.062_295_MD4", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD4_VALUE, { "Mode 4 Age, [s]", "asterix.062_295_MD4_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD5, { "MD5, Mode 5 Age", "asterix.062_295_MD5", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MD5_VALUE, { "Mode 5 Age, [s]", "asterix.062_295_MD5_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MHG, { "MHG, Magnetic Heading Age", "asterix.062_295_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MHG_VALUE, { "Magnetic Heading Age, [s]", "asterix.062_295_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_IAS, { "IAS, Indicated Airspeed / Mach Nb Age", "asterix.062_295_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_IAS_VALUE, { "Indicated Airspeed / Mach Nb Age, [s]", "asterix.062_295_IAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TAS, { "TAS, True Airspeed Age", "asterix.062_295_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TAS_VALUE, { "True Airspeed Age, [s]", "asterix.062_295_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_SAL, { "SAL, Selected Altitude Age", "asterix.062_295_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_SAL_VALUE, { "Selected Altitude Age, [s]", "asterix.062_295_SAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_FSS, { "FSS, Final State Selected Altitude Age", "asterix.062_295_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_FSS_VALUE, { "Final State Selected Altitude Age, [s]", "asterix.062_295_FSS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TID, { "TID, Trajectory Intent Age", "asterix.062_295_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TID_VALUE, { "Trajectory Intent Age, [s]", "asterix.062_295_TID_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_COM, { "COM, Communication/ACAS Capability and Flight Status Age", "asterix.062_295_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_COM_VALUE, { "Communication/ACAS Capability and Flight Status Age, [s]", "asterix.062_295_COM_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_SAB, { "SAB, Status Reported by ADS-B Age", "asterix.062_295_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_SAB_VALUE, { "Status Reported by ADS-B Age, [s]", "asterix.062_295_SAB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_ACS, { "ACS, ACAS Resolution Advisory Report Age", "asterix.062_295_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_ACS_VALUE, { "ACAS Resolution Advisory Report Age, [s]", "asterix.062_295_ACS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_BVR, { "BVR, Barometric Vertical Rate Age", "asterix.062_295_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_BVR_VALUE, { "Barometric Vertical Rate Age, [s]", "asterix.062_295_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_GVR, { "GVR, Geometrical Vertical Rate Age", "asterix.062_295_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_GVR_VALUE, { "Geometrical Vertical Rate Age, [s]", "asterix.062_295_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_RAN, { "RAN, Roll Angle Age", "asterix.062_295_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_RAN_VALUE, { "Roll Angle Age, [s]", "asterix.062_295_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TAR, { "TAR, Track Angle Rate Age", "asterix.062_295_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TAR_VALUE, { "Track Angle Rate Age, [s]", "asterix.062_295_TAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TAN, { "TAN, Track Angle Age", "asterix.062_295_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_TAN_VALUE, { "Track Angle Age, [s]", "asterix.062_295_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_GSP, { "GSP, Ground Speed Age", "asterix.062_295_GSP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_GSP_VALUE, { "Ground Speed Age, [s]", "asterix.062_295_GSP_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_VUN, { "VUN, Velocity Uncertainty Age", "asterix.062_295_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_VUN_VALUE, { "Velocity Uncertainty Age, [s]", "asterix.062_295_VUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MET, { "MET, Meteorological Data Age", "asterix.062_295_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MET_VALUE, { "Meteorological Data Age, [s]", "asterix.062_295_MET_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_EMC, { "EMC, Emitter Category Age", "asterix.062_295_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_EMC_VALUE, { "Emitter Category Age, [s]", "asterix.062_295_EMC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_POS, { "POS, Position Age", "asterix.062_295_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_POS_VALUE, { "Position Age, [s]", "asterix.062_295_POS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_GAL, { "GAL, Geometric Altitude Age", "asterix.062_295_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_GAL_VALUE, { "Geometric Altitude Age, [s]", "asterix.062_295_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_PUN, { "PUN, Position Uncertainty Age", "asterix.062_295_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_PUN_VALUE, { "Position Uncertainty Age, [s]", "asterix.062_295_PUN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MB, { "MB, Mode S MB Data Age", "asterix.062_295_MB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MB_VALUE, { "Mode S MB Data Age, [s]", "asterix.062_295_MB_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_IAR, { "IAR, Indicated Airspeed Data Age", "asterix.062_295_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_IAR_VALUE, { "Indicated Airspeed Data Age, [s]", "asterix.062_295_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MAC, { "MAC, Mach Number Data Age", "asterix.062_295_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_MAC_VALUE, { "Mach Number Data Age, [s]", "asterix.062_295_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_BPS, { "BPS, Barometric Pressure Setting Data Age", "asterix.062_295_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_295_BPS_VALUE, { "Barometric Pressure Setting Data Age, [s]", "asterix.062_295_BPS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_300, { "300, Vehicle Fleet Identification", "asterix.062_300", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_300_VALUE, { "Vehicle Fleet Identification", "asterix.062_300_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_300_VALUE), 0x00, NULL, HFILL } }, { &hf_062_340, { "340, Measured Information", "asterix.062_340", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_SID, { "SID, Sensor Identification", "asterix.062_340_SID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_SID_SAC, { "SAC, System Area Code", "asterix.062_340_SID_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_SID_SIC, { "SIC, System Identification Code", "asterix.062_340_SID_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_POS, { "POS, Measured Position", "asterix.062_340_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_POS_RHO, { "RHO, Measured Distance, [NM]", "asterix.062_340_POS_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_POS_THETA, { "THETA, Measured Azimuth, [°]", "asterix.062_340_POS_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_HEIGHT, { "HEIGHT, Measured 3-D Height", "asterix.062_340_HEIGHT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_HEIGHT_VALUE, { "Measured 3-D Height, [ft]", "asterix.062_340_HEIGHT_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_MDC, { "MDC", "asterix.062_340_MDC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_MDC_V, { "V, Validated", "asterix.062_340_MDC_V", FT_UINT8, BASE_DEC, VALS (valstr_062_340_MDC_V), 0x80, NULL, HFILL } }, { &hf_062_340_MDC_G, { "G, Garbled", "asterix.062_340_MDC_G", FT_UINT8, BASE_DEC, VALS (valstr_062_340_MDC_G), 0x40, NULL, HFILL } }, { &hf_062_340_MDC_LMC, { "LMC, Last Measured Mode C Code, [FL]", "asterix.062_340_MDC_LMC", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_MDA, { "MDA", "asterix.062_340_MDA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_MDA_V, { "V, Validated", "asterix.062_340_MDA_V", FT_UINT8, BASE_DEC, VALS (valstr_062_340_MDA_V), 0x80, NULL, HFILL } }, { &hf_062_340_MDA_G, { "G, Garbled", "asterix.062_340_MDA_G", FT_UINT8, BASE_DEC, VALS (valstr_062_340_MDA_G), 0x40, NULL, HFILL } }, { &hf_062_340_MDA_L, { "L", "asterix.062_340_MDA_L", FT_UINT8, BASE_DEC, VALS (valstr_062_340_MDA_L), 0x20, NULL, HFILL } }, { &hf_062_340_MDA_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_340_MDA_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_340_TYP, { "TYP", "asterix.062_340_TYP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_340_TYP_TYP, { "TYP, Report Type", "asterix.062_340_TYP_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_340_TYP_TYP), 0xe0, NULL, HFILL } }, { &hf_062_340_TYP_SIM, { "SIM", "asterix.062_340_TYP_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_340_TYP_SIM), 0x10, NULL, HFILL } }, { &hf_062_340_TYP_RAB, { "RAB", "asterix.062_340_TYP_RAB", FT_UINT8, BASE_DEC, VALS (valstr_062_340_TYP_RAB), 0x08, NULL, HFILL } }, { &hf_062_340_TYP_TST, { "TST", "asterix.062_340_TYP_TST", FT_UINT8, BASE_DEC, VALS (valstr_062_340_TYP_TST), 0x04, NULL, HFILL } }, { &hf_062_380, { "380, Aircraft Derived Data", "asterix.062_380", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_ADR, { "ADR, Target Address", "asterix.062_380_ADR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_ADR_VALUE, { "Target Address", "asterix.062_380_ADR_VALUE", FT_UINT24, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_ID, { "ID, Target Identification", "asterix.062_380_ID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_ID_VALUE, { "Target Identification", "asterix.062_380_ID_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MHG, { "MHG, Magnetic Heading", "asterix.062_380_MHG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MHG_VALUE, { "Magnetic Heading, [°]", "asterix.062_380_MHG_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_IAS, { "IAS, Indicated Airspeed/Mach No", "asterix.062_380_IAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_IAS_IM, { "IM", "asterix.062_380_IAS_IM", FT_UINT8, BASE_DEC, VALS (valstr_062_380_IAS_IM), 0x80, NULL, HFILL } }, { &hf_062_380_IAS_IAS, { "IAS", "asterix.062_380_IAS_IAS", FT_UINT16, BASE_DEC, NULL, 0x7fff, NULL, HFILL } }, { &hf_062_380_TAS, { "TAS, True Airspeed", "asterix.062_380_TAS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TAS_VALUE, { "True Airspeed, [kt]", "asterix.062_380_TAS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_SAL, { "SAL, Selected Altitude", "asterix.062_380_SAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_SAL_SAS, { "SAS", "asterix.062_380_SAL_SAS", FT_UINT8, BASE_DEC, VALS (valstr_062_380_SAL_SAS), 0x80, NULL, HFILL } }, { &hf_062_380_SAL_SRC, { "SRC", "asterix.062_380_SAL_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_SAL_SRC), 0x60, NULL, HFILL } }, { &hf_062_380_SAL_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_380_SAL_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_FSS, { "FSS, Final State Selected Altitude", "asterix.062_380_FSS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_FSS_MV, { "MV, Manage Vertical Mode", "asterix.062_380_FSS_MV", FT_UINT8, BASE_DEC, VALS (valstr_062_380_FSS_MV), 0x80, NULL, HFILL } }, { &hf_062_380_FSS_AH, { "AH, Altitude Hold", "asterix.062_380_FSS_AH", FT_UINT8, BASE_DEC, VALS (valstr_062_380_FSS_AH), 0x40, NULL, HFILL } }, { &hf_062_380_FSS_AM, { "AM, Approach Mode", "asterix.062_380_FSS_AM", FT_UINT8, BASE_DEC, VALS (valstr_062_380_FSS_AM), 0x20, NULL, HFILL } }, { &hf_062_380_FSS_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_380_FSS_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TIS, { "TIS, Trajectory Intent Status", "asterix.062_380_TIS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TIS_NAV, { "NAV, TID Available", "asterix.062_380_TIS_NAV", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TIS_NAV), 0x80, NULL, HFILL } }, { &hf_062_380_TIS_NVB, { "NVB, TID Valid", "asterix.062_380_TIS_NVB", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TIS_NVB), 0x40, NULL, HFILL } }, { &hf_062_380_TID, { "TID, Trajectory Intent Data", "asterix.062_380_TID", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TID_TCA, { "TCA, TCP Number Availability", "asterix.062_380_TID_TCA", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TID_TCA), 0x80, NULL, HFILL } }, { &hf_062_380_TID_NC, { "NC, TCP Compliance", "asterix.062_380_TID_NC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TID_NC), 0x40, NULL, HFILL } }, { &hf_062_380_TID_TCPN, { "TCPN, Trajectory Change Point Number", "asterix.062_380_TID_TCPN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_380_TID_ALT, { "ALT, Altitude in Two's Complement Form, [ft]", "asterix.062_380_TID_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TID_LAT, { "LAT, Latitude in WGS.84 in Two's Complement, [°]", "asterix.062_380_TID_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TID_LON, { "LON, Longitude in WGS.84 in Two's Complement, [°]", "asterix.062_380_TID_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TID_PT, { "PT, Point Type", "asterix.062_380_TID_PT", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TID_PT), 0xf0, NULL, HFILL } }, { &hf_062_380_TID_TD, { "TD, Turn Direction", "asterix.062_380_TID_TD", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TID_TD), 0x0c, NULL, HFILL } }, { &hf_062_380_TID_TRA, { "TRA, Turn Radius Availability", "asterix.062_380_TID_TRA", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TID_TRA), 0x02, NULL, HFILL } }, { &hf_062_380_TID_TOA, { "TOA, TOV Available", "asterix.062_380_TID_TOA", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TID_TOA), 0x01, NULL, HFILL } }, { &hf_062_380_TID_TOV, { "TOV, Time Over Point, [s]", "asterix.062_380_TID_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TID_TTR, { "TTR, TCP Turn Radius, [NM]", "asterix.062_380_TID_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_COM, { "COM, Communications/ACAS Capability and Flight Status", "asterix.062_380_COM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_COM_COM, { "COM, Communications Capability of the Transponder", "asterix.062_380_COM_COM", FT_UINT8, BASE_DEC, VALS (valstr_062_380_COM_COM), 0xe0, NULL, HFILL } }, { &hf_062_380_COM_STAT, { "STAT, Flight Status", "asterix.062_380_COM_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_380_COM_STAT), 0x1c, NULL, HFILL } }, { &hf_062_380_COM_SSC, { "SSC, Specific Service Capability", "asterix.062_380_COM_SSC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_COM_SSC), 0x80, NULL, HFILL } }, { &hf_062_380_COM_ARC, { "ARC, Altitude Reporting Capability", "asterix.062_380_COM_ARC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_COM_ARC), 0x40, NULL, HFILL } }, { &hf_062_380_COM_AIC, { "AIC, Aircraft Identification Capability", "asterix.062_380_COM_AIC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_COM_AIC), 0x20, NULL, HFILL } }, { &hf_062_380_COM_B1A, { "B1A, BDS 1,0 Bit 16", "asterix.062_380_COM_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } }, { &hf_062_380_COM_B1B, { "B1B, BDS BDS 1,0 Bits 37/40", "asterix.062_380_COM_B1B", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_380_SAB, { "SAB, Status Reported by ADS-B", "asterix.062_380_SAB", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_SAB_AC, { "AC, ACAS Status", "asterix.062_380_SAB_AC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_SAB_AC), 0xc0, NULL, HFILL } }, { &hf_062_380_SAB_MN, { "MN, Multiple Navigational Aids Status", "asterix.062_380_SAB_MN", FT_UINT8, BASE_DEC, VALS (valstr_062_380_SAB_MN), 0x30, NULL, HFILL } }, { &hf_062_380_SAB_DC, { "DC, Differential Correction Status", "asterix.062_380_SAB_DC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_SAB_DC), 0x0c, NULL, HFILL } }, { &hf_062_380_SAB_GBS, { "GBS, Ground Bit Set", "asterix.062_380_SAB_GBS", FT_UINT8, BASE_DEC, VALS (valstr_062_380_SAB_GBS), 0x02, NULL, HFILL } }, { &hf_062_380_SAB_STAT, { "STAT, Flight Status", "asterix.062_380_SAB_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_380_SAB_STAT), 0x07, NULL, HFILL } }, { &hf_062_380_ACS, { "ACS, ACAS Resolution Advisory Report", "asterix.062_380_ACS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_ACS_VALUE, { "ACAS Resolution Advisory Report", "asterix.062_380_ACS_VALUE", FT_UINT56, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_BVR, { "BVR, Barometric Vertical Rate", "asterix.062_380_BVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_BVR_VALUE, { "Barometric Vertical Rate, [ft/min]", "asterix.062_380_BVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_GVR, { "GVR, Geometric Vertical Rate", "asterix.062_380_GVR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_GVR_VALUE, { "Geometric Vertical Rate, [ft/min]", "asterix.062_380_GVR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_RAN, { "RAN, Roll Angle", "asterix.062_380_RAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_RAN_VALUE, { "Roll Angle, [°]", "asterix.062_380_RAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TAR, { "TAR, Track Angle Rate", "asterix.062_380_TAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TAR_TI, { "TI, Turn Indicator", "asterix.062_380_TAR_TI", FT_UINT8, BASE_DEC, VALS (valstr_062_380_TAR_TI), 0xc0, NULL, HFILL } }, { &hf_062_380_TAR_ROT, { "ROT, Rate of Turn in Two's Complement Form, [°/s]", "asterix.062_380_TAR_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TAN, { "TAN, Track Angle", "asterix.062_380_TAN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_TAN_VALUE, { "Track Angle, [°]", "asterix.062_380_TAN_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_GS, { "GS, Ground Speed", "asterix.062_380_GS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_GS_VALUE, { "Ground Speed, [NM/s]", "asterix.062_380_GS_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_VUN, { "VUN, Velocity Uncertainty", "asterix.062_380_VUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_VUN_VALUE, { "Velocity Uncertainty", "asterix.062_380_VUN_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MET, { "MET, Meteorological Data", "asterix.062_380_MET", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MET_WS, { "WS, Wind Speed Valid Flag", "asterix.062_380_MET_WS", FT_UINT8, BASE_DEC, VALS (valstr_062_380_MET_WS), 0x80, NULL, HFILL } }, { &hf_062_380_MET_WD, { "WD, Wind Direction Valid Flag", "asterix.062_380_MET_WD", FT_UINT8, BASE_DEC, VALS (valstr_062_380_MET_WD), 0x40, NULL, HFILL } }, { &hf_062_380_MET_TMP, { "TMP, Temperature Valid Flag", "asterix.062_380_MET_TMP", FT_UINT8, BASE_DEC, VALS (valstr_062_380_MET_TMP), 0x20, NULL, HFILL } }, { &hf_062_380_MET_TRB, { "TRB, Turbulence Valid Flag", "asterix.062_380_MET_TRB", FT_UINT8, BASE_DEC, VALS (valstr_062_380_MET_TRB), 0x10, NULL, HFILL } }, { &hf_062_380_MET_WSD, { "WSD, Wind Speed, [kt]", "asterix.062_380_MET_WSD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MET_WDD, { "WDD, Wind Direction, [°]", "asterix.062_380_MET_WDD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MET_TMPD, { "TMPD, Temperature in Degrees Celsius, [°C]", "asterix.062_380_MET_TMPD", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MET_TRBD, { "TRBD, Turbulence", "asterix.062_380_MET_TRBD", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_EMC, { "EMC, Emitter Category", "asterix.062_380_EMC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_EMC_VALUE, { "Emitter Category", "asterix.062_380_EMC_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_062_380_EMC_VALUE), 0x00, NULL, HFILL } }, { &hf_062_380_POS, { "POS, Position", "asterix.062_380_POS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_POS_LAT, { "LAT, Latitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_380_POS_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_POS_LON, { "LON, Longitude in WGS.84 in Two's Complement Form, [°]", "asterix.062_380_POS_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_GAL, { "GAL, Geometric Altitude", "asterix.062_380_GAL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_GAL_VALUE, { "Geometric Altitude, [ft]", "asterix.062_380_GAL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_PUN, { "PUN, Position Uncertainty", "asterix.062_380_PUN", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_PUN_PUN, { "PUN, Position Uncertainty", "asterix.062_380_PUN_PUN", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } }, { &hf_062_380_BDSDATA, { "BDSDATA, BDS Register DATA", "asterix.062_380_BDSDATA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_BDSDATA_VALUE, { "BDS Register DATA", "asterix.062_380_BDSDATA_VALUE", FT_UINT64, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_IAR, { "IAR, Indicated Airspeed", "asterix.062_380_IAR", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_IAR_VALUE, { "Indicated Airspeed, [kt]", "asterix.062_380_IAR_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MAC, { "MAC, Mach Number", "asterix.062_380_MAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_MAC_VALUE, { "Mach Number, [Mach]", "asterix.062_380_MAC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_BPS, { "BPS, Barometric Pressure Setting", "asterix.062_380_BPS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_380_BPS_BPS, { "BPS, [mb]", "asterix.062_380_BPS_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390, { "390, Flight Plan Related Data", "asterix.062_390", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_TAG, { "TAG, FPPS Identification Tag", "asterix.062_390_TAG", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_TAG_SAC, { "SAC, System Area Code", "asterix.062_390_TAG_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_TAG_SIC, { "SIC, System Identification Code", "asterix.062_390_TAG_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_CS, { "CS, Callsign", "asterix.062_390_CS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_CS_VALUE, { "Callsign", "asterix.062_390_CS_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_IFI, { "IFI, IFPS_FLIGHT_ID", "asterix.062_390_IFI", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_IFI_TYP, { "TYP", "asterix.062_390_IFI_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_390_IFI_TYP), 0xc0, NULL, HFILL } }, { &hf_062_390_IFI_NBR, { "NBR, Number from 0 to 99 999 999", "asterix.062_390_IFI_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } }, { &hf_062_390_FCT, { "FCT, Flight Category", "asterix.062_390_FCT", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_FCT_GATOAT, { "GATOAT", "asterix.062_390_FCT_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_062_390_FCT_GATOAT), 0xc0, NULL, HFILL } }, { &hf_062_390_FCT_FR1FR2, { "FR1FR2", "asterix.062_390_FCT_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_062_390_FCT_FR1FR2), 0x30, NULL, HFILL } }, { &hf_062_390_FCT_RVSM, { "RVSM", "asterix.062_390_FCT_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_062_390_FCT_RVSM), 0x0c, NULL, HFILL } }, { &hf_062_390_FCT_HPR, { "HPR", "asterix.062_390_FCT_HPR", FT_UINT8, BASE_DEC, VALS (valstr_062_390_FCT_HPR), 0x02, NULL, HFILL } }, { &hf_062_390_TAC, { "TAC, Type of Aircraft", "asterix.062_390_TAC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_TAC_VALUE, { "Type of Aircraft", "asterix.062_390_TAC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_WTC, { "WTC, Wake Turbulence Category", "asterix.062_390_WTC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_WTC_VALUE, { "Wake Turbulence Category", "asterix.062_390_WTC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_DEP, { "DEP, Departure Airport", "asterix.062_390_DEP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_DEP_VALUE, { "Departure Airport", "asterix.062_390_DEP_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_DST, { "DST, Destination Airport", "asterix.062_390_DST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_DST_VALUE, { "Destination Airport", "asterix.062_390_DST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_RDS, { "RDS, Runway Designation", "asterix.062_390_RDS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_RDS_NU1, { "NU1, First Number", "asterix.062_390_RDS_NU1", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_RDS_NU2, { "NU2, Second Number", "asterix.062_390_RDS_NU2", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_RDS_LTR, { "LTR, Letter", "asterix.062_390_RDS_LTR", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_CFL, { "CFL, Current Cleared Flight Level", "asterix.062_390_CFL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_CFL_VALUE, { "Current Cleared Flight Level, [FL]", "asterix.062_390_CFL_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_CTL, { "CTL, Current Control Position", "asterix.062_390_CTL", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_CTL_CENTRE, { "CENTRE, 8-bit Group Identification Code", "asterix.062_390_CTL_CENTRE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_CTL_POSITION, { "POSITION, 8-bit Control Position Identification Code", "asterix.062_390_CTL_POSITION", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_TOD, { "TOD, Time of Departure / Arrival", "asterix.062_390_TOD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_TOD_TYP, { "TYP", "asterix.062_390_TOD_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_390_TOD_TYP), 0xf8, NULL, HFILL } }, { &hf_062_390_TOD_DAY, { "DAY", "asterix.062_390_TOD_DAY", FT_UINT8, BASE_DEC, VALS (valstr_062_390_TOD_DAY), 0x06, NULL, HFILL } }, { &hf_062_390_TOD_HOR, { "HOR, Hours", "asterix.062_390_TOD_HOR", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } }, { &hf_062_390_TOD_MIN, { "MIN, Minutes", "asterix.062_390_TOD_MIN", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_390_TOD_AVS, { "AVS, Seconds Available Flag", "asterix.062_390_TOD_AVS", FT_UINT8, BASE_DEC, VALS (valstr_062_390_TOD_AVS), 0x80, NULL, HFILL } }, { &hf_062_390_TOD_SEC, { "SEC, Seconds", "asterix.062_390_TOD_SEC", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } }, { &hf_062_390_AST, { "AST, Aircraft Stand", "asterix.062_390_AST", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_AST_VALUE, { "Aircraft Stand", "asterix.062_390_AST_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_STS, { "STS, Stand Status", "asterix.062_390_STS", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_STS_EMP, { "EMP", "asterix.062_390_STS_EMP", FT_UINT8, BASE_DEC, VALS (valstr_062_390_STS_EMP), 0xc0, NULL, HFILL } }, { &hf_062_390_STS_AVL, { "AVL", "asterix.062_390_STS_AVL", FT_UINT8, BASE_DEC, VALS (valstr_062_390_STS_AVL), 0x30, NULL, HFILL } }, { &hf_062_390_STD, { "STD, Standard Instrument Departure", "asterix.062_390_STD", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_STD_VALUE, { "Standard Instrument Departure", "asterix.062_390_STD_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_STA, { "STA, Standard Instrument Arrival", "asterix.062_390_STA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_STA_VALUE, { "Standard Instrument Arrival", "asterix.062_390_STA_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_PEM, { "PEM, Pre-Emergency Mode 3/A", "asterix.062_390_PEM", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_PEM_VA, { "VA", "asterix.062_390_PEM_VA", FT_UINT8, BASE_DEC, VALS (valstr_062_390_PEM_VA), 0x10, NULL, HFILL } }, { &hf_062_390_PEM_MODE3A, { "MODE3A, Mode-3/A Reply in Octal Representation", "asterix.062_390_PEM_MODE3A", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } }, { &hf_062_390_PEC, { "PEC, Pre-Emergency Callsign", "asterix.062_390_PEC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_390_PEC_VALUE, { "Pre-Emergency Callsign", "asterix.062_390_PEC_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500, { "500, Estimated Accuracies", "asterix.062_500", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_APC, { "APC, Estimated Accuracy Of Track Position (Cartesian)", "asterix.062_500_APC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_APC_X, { "X, APC (X-Component), [m]", "asterix.062_500_APC_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_APC_Y, { "Y, APC (Y-Component), [m]", "asterix.062_500_APC_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_COV, { "COV, XY Covariance Component", "asterix.062_500_COV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_COV_VALUE, { "XY Covariance Component, [m]", "asterix.062_500_COV_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_APW, { "APW, Estimated Accuracy Of Track Position (WGS-84)", "asterix.062_500_APW", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_APW_LAT, { "LAT, APW (Latitude Component), [°]", "asterix.062_500_APW_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_APW_LON, { "LON, APW (Longitude Component), [°]", "asterix.062_500_APW_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_AGA, { "AGA, Estimated Accuracy Of Calculated Track Geometric Altitude", "asterix.062_500_AGA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_AGA_VALUE, { "Estimated Accuracy Of Calculated Track Geometric Altitude, [ft]", "asterix.062_500_AGA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_ABA, { "ABA, Estimated Accuracy Of Calculated Track Barometric Altitude", "asterix.062_500_ABA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_ABA_VALUE, { "Estimated Accuracy Of Calculated Track Barometric Altitude, [FL]", "asterix.062_500_ABA_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_ATV, { "ATV, Estimated Accuracy Of Track Velocity (Cartesian)", "asterix.062_500_ATV", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_ATV_X, { "X, ATV (X-Component), [m/s]", "asterix.062_500_ATV_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_ATV_Y, { "Y, ATV (Y-Component), [m/s]", "asterix.062_500_ATV_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_AA, { "AA, Estimated Accuracy Of Acceleration (Cartesian)", "asterix.062_500_AA", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_AA_X, { "X, AA (X-Component), [m/s²]", "asterix.062_500_AA_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_AA_Y, { "Y, AA (Y-Component), [m/s²]", "asterix.062_500_AA_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_ARC, { "ARC, Estimated Accuracy Of Rate Of Climb/Descent", "asterix.062_500_ARC", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_500_ARC_VALUE, { "Estimated Accuracy Of Rate Of Climb/Descent, [ft/min]", "asterix.062_500_ARC_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_510, { "510, Composed Track Number", "asterix.062_510", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_510_MIDENT, { "MIDENT, Master System Unit Identification", "asterix.062_510_MIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_510_MTRACK, { "MTRACK, Master System Track Number", "asterix.062_510_MTRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_510_SIDENT, { "SIDENT, Slave System Unit Identification", "asterix.062_510_SIDENT", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_062_510_STRACK, { "STRACK, Slave System Track Number", "asterix.062_510_STRACK", FT_UINT16, BASE_DEC, NULL, 0xfffe, NULL, HFILL } }, { &hf_062_RE, { "RE, Reserved Expansion Field", "asterix.062_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_062_SP, { "SP, Special Purpose Field", "asterix.062_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_010, { "010, Data Source Identifier", "asterix.063_V1_6_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_010_SAC, { "SAC, System Area Code", "asterix.063_V1_6_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_010_SIC, { "SIC, System Identification Code", "asterix.063_V1_6_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_015, { "015, Service Identification", "asterix.063_V1_6_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_015_VALUE, { "Service Identification", "asterix.063_V1_6_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_030, { "030, Time of Message", "asterix.063_V1_6_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_030_VALUE, { "Time of Message, [s]", "asterix.063_V1_6_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_050, { "050, Sensor Identifier", "asterix.063_V1_6_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_050_SAC, { "SAC, System Area Code", "asterix.063_V1_6_050_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_050_SIC, { "SIC, System Identification Code", "asterix.063_V1_6_050_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_060, { "060, Sensor Configuration and Status", "asterix.063_V1_6_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_060_CON, { "CON", "asterix.063_V1_6_060_CON", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_CON), 0xc0, NULL, HFILL } }, { &hf_063_V1_6_060_PSR, { "PSR", "asterix.063_V1_6_060_PSR", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_PSR), 0x20, NULL, HFILL } }, { &hf_063_V1_6_060_SSR, { "SSR", "asterix.063_V1_6_060_SSR", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_SSR), 0x10, NULL, HFILL } }, { &hf_063_V1_6_060_MDS, { "MDS", "asterix.063_V1_6_060_MDS", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_MDS), 0x08, NULL, HFILL } }, { &hf_063_V1_6_060_ADS, { "ADS", "asterix.063_V1_6_060_ADS", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_ADS), 0x04, NULL, HFILL } }, { &hf_063_V1_6_060_MLT, { "MLT", "asterix.063_V1_6_060_MLT", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_MLT), 0x02, NULL, HFILL } }, { &hf_063_V1_6_060_OPS, { "OPS, Operational Release Status of the System", "asterix.063_V1_6_060_OPS", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_OPS), 0x80, NULL, HFILL } }, { &hf_063_V1_6_060_ODP, { "ODP, Data Processor Overload Indicator", "asterix.063_V1_6_060_ODP", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_ODP), 0x40, NULL, HFILL } }, { &hf_063_V1_6_060_OXT, { "OXT, Transmission Subsystem Overload Status", "asterix.063_V1_6_060_OXT", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_OXT), 0x20, NULL, HFILL } }, { &hf_063_V1_6_060_MSC, { "MSC, Monitoring System Connected Status", "asterix.063_V1_6_060_MSC", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_MSC), 0x10, NULL, HFILL } }, { &hf_063_V1_6_060_TSV, { "TSV, Time Source Validity", "asterix.063_V1_6_060_TSV", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_TSV), 0x08, NULL, HFILL } }, { &hf_063_V1_6_060_NPW, { "NPW, No Plot Warning", "asterix.063_V1_6_060_NPW", FT_UINT8, BASE_DEC, VALS (valstr_063_V1_6_060_NPW), 0x04, NULL, HFILL } }, { &hf_063_V1_6_070, { "070, Time Stamping Bias", "asterix.063_V1_6_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_070_VALUE, { "Time Stamping Bias, [ms]", "asterix.063_V1_6_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_080, { "080, SSR / Mode S Range Gain and Bias", "asterix.063_V1_6_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_080_SRG, { "SRG, Mode S Range Gain", "asterix.063_V1_6_080_SRG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_080_SRB, { "SRB, Mode S Range Bias, [NM]", "asterix.063_V1_6_080_SRB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_081, { "081, SSR Mode S Azimuth Bias", "asterix.063_V1_6_081", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_081_VALUE, { "SSR Mode S Azimuth Bias, [°]", "asterix.063_V1_6_081_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_090, { "090, PSR Range Gain and Bias", "asterix.063_V1_6_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_090_PRG, { "PRG, PSR Range Gain", "asterix.063_V1_6_090_PRG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_090_PRB, { "PRB, PSR Range Bias, [NM]", "asterix.063_V1_6_090_PRB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_091, { "091, PSR Azimuth Bias", "asterix.063_V1_6_091", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_091_VALUE, { "PSR Azimuth Bias, [°]", "asterix.063_V1_6_091_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_092, { "092, PSR Elevation Bias", "asterix.063_V1_6_092", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_092_VALUE, { "PSR Elevation Bias, [°]", "asterix.063_V1_6_092_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_RE, { "RE, Reserved Expansion Field", "asterix.063_V1_6_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_V1_6_SP, { "SP, Special Purpose Field", "asterix.063_V1_6_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_010, { "010, Data Source Identifier", "asterix.063_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_010_SAC, { "SAC, System Area Code", "asterix.063_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_010_SIC, { "SIC, System Identification Code", "asterix.063_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_015, { "015, Service Identification", "asterix.063_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_015_VALUE, { "Service Identification", "asterix.063_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_030, { "030, Time of Message", "asterix.063_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_030_VALUE, { "Time of Message, [s]", "asterix.063_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_050, { "050, Sensor Identifier", "asterix.063_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_050_SAC, { "SAC, System Area Code", "asterix.063_050_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_050_SIC, { "SIC, System Identification Code", "asterix.063_050_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_063_060, { "060, Sensor Configuration and Status", "asterix.063_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_060_CON, { "CON", "asterix.063_060_CON", FT_UINT8, BASE_DEC, VALS (valstr_063_060_CON), 0xc0, NULL, HFILL } }, { &hf_063_060_PSR, { "PSR", "asterix.063_060_PSR", FT_UINT8, BASE_DEC, VALS (valstr_063_060_PSR), 0x20, NULL, HFILL } }, { &hf_063_060_SSR, { "SSR", "asterix.063_060_SSR", FT_UINT8, BASE_DEC, VALS (valstr_063_060_SSR), 0x10, NULL, HFILL } }, { &hf_063_060_MDS, { "MDS", "asterix.063_060_MDS", FT_UINT8, BASE_DEC, VALS (valstr_063_060_MDS), 0x08, NULL, HFILL } }, { &hf_063_060_ADS, { "ADS", "asterix.063_060_ADS", FT_UINT8, BASE_DEC, VALS (valstr_063_060_ADS), 0x04, NULL, HFILL } }, { &hf_063_060_MLT, { "MLT", "asterix.063_060_MLT", FT_UINT8, BASE_DEC, VALS (valstr_063_060_MLT), 0x02, NULL, HFILL } }, { &hf_063_060_OPS, { "OPS, Operational Release Status of the System", "asterix.063_060_OPS", FT_UINT8, BASE_DEC, VALS (valstr_063_060_OPS), 0x80, NULL, HFILL } }, { &hf_063_060_ODP, { "ODP, Data Processor Overload Indicator", "asterix.063_060_ODP", FT_UINT8, BASE_DEC, VALS (valstr_063_060_ODP), 0x40, NULL, HFILL } }, { &hf_063_060_OXT, { "OXT, Transmission Subsystem Overload Status", "asterix.063_060_OXT", FT_UINT8, BASE_DEC, VALS (valstr_063_060_OXT), 0x20, NULL, HFILL } }, { &hf_063_060_MSC, { "MSC, Monitoring System Connected Status", "asterix.063_060_MSC", FT_UINT8, BASE_DEC, VALS (valstr_063_060_MSC), 0x10, NULL, HFILL } }, { &hf_063_060_TSV, { "TSV, Time Source Validity", "asterix.063_060_TSV", FT_UINT8, BASE_DEC, VALS (valstr_063_060_TSV), 0x08, NULL, HFILL } }, { &hf_063_060_NPW, { "NPW, No Plot Warning", "asterix.063_060_NPW", FT_UINT8, BASE_DEC, VALS (valstr_063_060_NPW), 0x04, NULL, HFILL } }, { &hf_063_070, { "070, Time Stamping Bias", "asterix.063_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_070_VALUE, { "Time Stamping Bias, [ms]", "asterix.063_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_080, { "080, SSR / Mode S Range Gain and Bias", "asterix.063_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_080_SRG, { "SRG, Mode S Range Gain", "asterix.063_080_SRG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_080_SRB, { "SRB, Mode S Range Bias, [NM]", "asterix.063_080_SRB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_081, { "081, SSR Mode S Azimuth Bias", "asterix.063_081", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_081_VALUE, { "SSR Mode S Azimuth Bias, [°]", "asterix.063_081_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_090, { "090, PSR Range Gain and Bias", "asterix.063_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_090_PRG, { "PRG, PSR Range Gain", "asterix.063_090_PRG", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_090_PRB, { "PRB, PSR Range Bias, [NM]", "asterix.063_090_PRB", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_091, { "091, PSR Azimuth Bias", "asterix.063_091", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_091_VALUE, { "PSR Azimuth Bias, [°]", "asterix.063_091_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_092, { "092, PSR Elevation Bias", "asterix.063_092", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_092_VALUE, { "PSR Elevation Bias, [°]", "asterix.063_092_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_RE, { "RE, Reserved Expansion Field", "asterix.063_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_063_SP, { "SP, Special Purpose Field", "asterix.063_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_000, { "000, Message Type", "asterix.065_V1_4_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_000_VALUE, { "Message Type", "asterix.065_V1_4_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_4_000_VALUE), 0x00, NULL, HFILL } }, { &hf_065_V1_4_010, { "010, Data Source Identifier", "asterix.065_V1_4_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_010_SAC, { "SAC, System Area Code", "asterix.065_V1_4_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_010_SIC, { "SIC, System Identification Code", "asterix.065_V1_4_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_015, { "015, Service Identification", "asterix.065_V1_4_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_015_VALUE, { "Service Identification", "asterix.065_V1_4_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_020, { "020, Batch Number", "asterix.065_V1_4_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_020_VALUE, { "Batch Number", "asterix.065_V1_4_020_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_030, { "030, Time of Message", "asterix.065_V1_4_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_030_VALUE, { "Time of Message, [s]", "asterix.065_V1_4_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_040, { "040, SDPS Configuration and Status", "asterix.065_V1_4_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_040_NOGO, { "NOGO", "asterix.065_V1_4_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_4_040_NOGO), 0xc0, NULL, HFILL } }, { &hf_065_V1_4_040_OVL, { "OVL", "asterix.065_V1_4_040_OVL", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_4_040_OVL), 0x20, NULL, HFILL } }, { &hf_065_V1_4_040_TSV, { "TSV", "asterix.065_V1_4_040_TSV", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_4_040_TSV), 0x10, NULL, HFILL } }, { &hf_065_V1_4_040_PSS, { "PSS, Processing System Status", "asterix.065_V1_4_040_PSS", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_4_040_PSS), 0x0c, NULL, HFILL } }, { &hf_065_V1_4_040_STTN, { "STTN, Track Re-numbering Indication", "asterix.065_V1_4_040_STTN", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } }, { &hf_065_V1_4_050, { "050, Service Status Report", "asterix.065_V1_4_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_050_VALUE, { "Service Status Report", "asterix.065_V1_4_050_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_4_050_VALUE), 0x00, NULL, HFILL } }, { &hf_065_V1_4_RE, { "RE, Reserved Expansion Field", "asterix.065_V1_4_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_4_SP, { "SP, Special Purpose Field", "asterix.065_V1_4_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_000, { "000, Message Type", "asterix.065_V1_5_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_000_VALUE, { "Message Type", "asterix.065_V1_5_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_5_000_VALUE), 0x00, NULL, HFILL } }, { &hf_065_V1_5_010, { "010, Data Source Identifier", "asterix.065_V1_5_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_010_SAC, { "SAC, System Area Code", "asterix.065_V1_5_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_010_SIC, { "SIC, System Identification Code", "asterix.065_V1_5_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_015, { "015, Service Identification", "asterix.065_V1_5_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_015_VALUE, { "Service Identification", "asterix.065_V1_5_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_020, { "020, Batch Number", "asterix.065_V1_5_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_020_VALUE, { "Batch Number", "asterix.065_V1_5_020_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_030, { "030, Time of Message", "asterix.065_V1_5_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_030_VALUE, { "Time of Message, [s]", "asterix.065_V1_5_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_040, { "040, SDPS Configuration and Status", "asterix.065_V1_5_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_040_NOGO, { "NOGO", "asterix.065_V1_5_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_5_040_NOGO), 0xc0, NULL, HFILL } }, { &hf_065_V1_5_040_OVL, { "OVL", "asterix.065_V1_5_040_OVL", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_5_040_OVL), 0x20, NULL, HFILL } }, { &hf_065_V1_5_040_TSV, { "TSV", "asterix.065_V1_5_040_TSV", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_5_040_TSV), 0x10, NULL, HFILL } }, { &hf_065_V1_5_040_PSS, { "PSS, Processing System Status", "asterix.065_V1_5_040_PSS", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_5_040_PSS), 0x0c, NULL, HFILL } }, { &hf_065_V1_5_040_STTN, { "STTN, Track Re-numbering Indication", "asterix.065_V1_5_040_STTN", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } }, { &hf_065_V1_5_050, { "050, Service Status Report", "asterix.065_V1_5_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_050_VALUE, { "Service Status Report", "asterix.065_V1_5_050_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_5_050_VALUE), 0x00, NULL, HFILL } }, { &hf_065_V1_5_RE, { "RE, Reserved Expansion Field", "asterix.065_V1_5_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_5_SP, { "SP, Special Purpose Field", "asterix.065_V1_5_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_000, { "000, Message Type", "asterix.065_V1_6_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_000_VALUE, { "Message Type", "asterix.065_V1_6_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_6_000_VALUE), 0x00, NULL, HFILL } }, { &hf_065_V1_6_010, { "010, Data Source Identifier", "asterix.065_V1_6_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_010_SAC, { "SAC, System Area Code", "asterix.065_V1_6_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_010_SIC, { "SIC, System Identification Code", "asterix.065_V1_6_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_015, { "015, Service Identification", "asterix.065_V1_6_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_015_VALUE, { "Service Identification", "asterix.065_V1_6_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_020, { "020, Batch Number", "asterix.065_V1_6_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_020_VALUE, { "Batch Number", "asterix.065_V1_6_020_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_030, { "030, Time of Message", "asterix.065_V1_6_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_030_VALUE, { "Time of Message, [s]", "asterix.065_V1_6_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_040, { "040, SDPS Configuration and Status", "asterix.065_V1_6_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_040_NOGO, { "NOGO", "asterix.065_V1_6_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_6_040_NOGO), 0xc0, NULL, HFILL } }, { &hf_065_V1_6_040_OVL, { "OVL", "asterix.065_V1_6_040_OVL", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_6_040_OVL), 0x20, NULL, HFILL } }, { &hf_065_V1_6_040_TSV, { "TSV", "asterix.065_V1_6_040_TSV", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_6_040_TSV), 0x10, NULL, HFILL } }, { &hf_065_V1_6_040_PSS, { "PSS, Processing System Status", "asterix.065_V1_6_040_PSS", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_6_040_PSS), 0x0c, NULL, HFILL } }, { &hf_065_V1_6_040_STTN, { "STTN, Track Re-numbering Indication", "asterix.065_V1_6_040_STTN", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } }, { &hf_065_V1_6_050, { "050, Service Status Report", "asterix.065_V1_6_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_050_VALUE, { "Service Status Report", "asterix.065_V1_6_050_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_V1_6_050_VALUE), 0x00, NULL, HFILL } }, { &hf_065_V1_6_RE, { "RE, Reserved Expansion Field", "asterix.065_V1_6_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_V1_6_SP, { "SP, Special Purpose Field", "asterix.065_V1_6_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_000, { "000, Message Type", "asterix.065_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_000_VALUE, { "Message Type", "asterix.065_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_000_VALUE), 0x00, NULL, HFILL } }, { &hf_065_010, { "010, Data Source Identifier", "asterix.065_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_010_SAC, { "SAC, System Area Code", "asterix.065_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_010_SIC, { "SIC, System Identification Code", "asterix.065_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_015, { "015, Service Identification", "asterix.065_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_015_VALUE, { "Service Identification", "asterix.065_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_020, { "020, Batch Number", "asterix.065_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_020_VALUE, { "Batch Number", "asterix.065_020_VALUE", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_065_030, { "030, Time of Message", "asterix.065_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_030_VALUE, { "Time of Message, [s]", "asterix.065_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_040, { "040, SDPS Configuration and Status", "asterix.065_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_040_NOGO, { "NOGO", "asterix.065_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_065_040_NOGO), 0xc0, NULL, HFILL } }, { &hf_065_040_OVL, { "OVL", "asterix.065_040_OVL", FT_UINT8, BASE_DEC, VALS (valstr_065_040_OVL), 0x20, NULL, HFILL } }, { &hf_065_040_TSV, { "TSV", "asterix.065_040_TSV", FT_UINT8, BASE_DEC, VALS (valstr_065_040_TSV), 0x10, NULL, HFILL } }, { &hf_065_040_PSS, { "PSS, Processing System Status", "asterix.065_040_PSS", FT_UINT8, BASE_DEC, VALS (valstr_065_040_PSS), 0x0c, NULL, HFILL } }, { &hf_065_040_STTN, { "STTN, Track Re-numbering Indication", "asterix.065_040_STTN", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } }, { &hf_065_050, { "050, Service Status Report", "asterix.065_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_050_VALUE, { "Service Status Report", "asterix.065_050_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_065_050_VALUE), 0x00, NULL, HFILL } }, { &hf_065_RE, { "RE, Reserved Expansion Field", "asterix.065_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_065_SP, { "SP, Special Purpose Field", "asterix.065_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_000, { "000, Message Type", "asterix.205_V1_0_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_000_VALUE, { "Message Type", "asterix.205_V1_0_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_205_V1_0_000_VALUE), 0x00, NULL, HFILL } }, { &hf_205_V1_0_010, { "010, Data Source Identifier", "asterix.205_V1_0_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_010_SAC, { "SAC, System Area Code", "asterix.205_V1_0_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_010_SIC, { "SIC, System Identification Code", "asterix.205_V1_0_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_015, { "015, Service Identification", "asterix.205_V1_0_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_015_VALUE, { "Service Identification", "asterix.205_V1_0_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_030, { "030, Time of Day", "asterix.205_V1_0_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_030_VALUE, { "Time of Day, [s]", "asterix.205_V1_0_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_040, { "040, Report Number", "asterix.205_V1_0_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_040_VALUE, { "Report Number", "asterix.205_V1_0_040_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_050, { "050, Position in WGS-84 Coordinates", "asterix.205_V1_0_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_050_LAT, { "LAT, Latitude in WGS-84, [°]", "asterix.205_V1_0_050_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_050_LON, { "LON, Longitude in WGS-84, [°]", "asterix.205_V1_0_050_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_060, { "060, Position in Cartesian Coordinates", "asterix.205_V1_0_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_060_X, { "X, X-coordinate, [m]", "asterix.205_V1_0_060_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_060_Y, { "Y, Y-coordinate, [m]", "asterix.205_V1_0_060_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_070, { "070, Local Bearing", "asterix.205_V1_0_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_070_VALUE, { "Local Bearing, [°]", "asterix.205_V1_0_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_080, { "080, System Bearing", "asterix.205_V1_0_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_080_VALUE, { "System Bearing, [°]", "asterix.205_V1_0_080_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_090, { "090, Radio Channel Name", "asterix.205_V1_0_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_090_VALUE, { "Radio Channel Name", "asterix.205_V1_0_090_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_100, { "100, Quality of Measurement", "asterix.205_V1_0_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_100_VALUE, { "Quality of Measurement", "asterix.205_V1_0_100_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_110, { "110, Estimated Uncertainty", "asterix.205_V1_0_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_110_VALUE, { "Estimated Uncertainty, [m]", "asterix.205_V1_0_110_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_120, { "120, Contributing Sensors", "asterix.205_V1_0_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_120_VALUE, { "Contributing Sensors", "asterix.205_V1_0_120_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_130, { "130, Conflicting Transmitter Position in WGS-84 Coordinates", "asterix.205_V1_0_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_130_LAT, { "LAT, Latitude in WGS-84, [°]", "asterix.205_V1_0_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_130_LON, { "LON, Longitude in WGS-84, [°]", "asterix.205_V1_0_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_140, { "140, Conflicting Transmitter Position in Cartesian Coordinates", "asterix.205_V1_0_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_140_X, { "X, X-coordinate, [m]", "asterix.205_V1_0_140_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_140_Y, { "Y, Y-coordinate, [m]", "asterix.205_V1_0_140_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_150, { "150, Conflicting Transmitter Estimated Uncertainty", "asterix.205_V1_0_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_150_VALUE, { "Conflicting Transmitter Estimated Uncertainty, [m]", "asterix.205_V1_0_150_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_160, { "160, Track Number", "asterix.205_V1_0_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_160_VALUE, { "Track Number", "asterix.205_V1_0_160_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_170, { "170, Sensor Identification", "asterix.205_V1_0_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_170_VALUE, { "Sensor Identification", "asterix.205_V1_0_170_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_180, { "180, Signal Level", "asterix.205_V1_0_180", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_180_VALUE, { "Signal Level, [dBµV]", "asterix.205_V1_0_180_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_190, { "190, Signal Quality", "asterix.205_V1_0_190", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_190_VALUE, { "Signal Quality", "asterix.205_V1_0_190_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_200, { "200, Signal Elevation", "asterix.205_V1_0_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_200_VALUE, { "Signal Elevation, [°]", "asterix.205_V1_0_200_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_V1_0_SP, { "SP, Special Purpose Field", "asterix.205_V1_0_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_000, { "000, Message Type", "asterix.205_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_000_VALUE, { "Message Type", "asterix.205_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_205_000_VALUE), 0x00, NULL, HFILL } }, { &hf_205_010, { "010, Data Source Identifier", "asterix.205_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_010_SAC, { "SAC, System Area Code", "asterix.205_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_010_SIC, { "SIC, System Identification Code", "asterix.205_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_015, { "015, Service Identification", "asterix.205_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_015_VALUE, { "Service Identification", "asterix.205_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_030, { "030, Time of Day", "asterix.205_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_030_VALUE, { "Time of Day, [s]", "asterix.205_030_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_040, { "040, Report Number", "asterix.205_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_040_VALUE, { "Report Number", "asterix.205_040_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_050, { "050, Position in WGS-84 Coordinates", "asterix.205_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_050_LAT, { "LAT, Latitude in WGS-84, [°]", "asterix.205_050_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_050_LON, { "LON, Longitude in WGS-84, [°]", "asterix.205_050_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_060, { "060, Position in Cartesian Coordinates", "asterix.205_060", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_060_X, { "X, X-coordinate, [m]", "asterix.205_060_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_060_Y, { "Y, Y-coordinate, [m]", "asterix.205_060_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_070, { "070, Local Bearing", "asterix.205_070", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_070_VALUE, { "Local Bearing, [°]", "asterix.205_070_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_080, { "080, System Bearing", "asterix.205_080", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_080_VALUE, { "System Bearing, [°]", "asterix.205_080_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_090, { "090, Radio Channel Name", "asterix.205_090", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_090_VALUE, { "Radio Channel Name", "asterix.205_090_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_100, { "100, Quality of Measurement", "asterix.205_100", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_100_VALUE, { "Quality of Measurement", "asterix.205_100_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_110, { "110, Estimated Uncertainty", "asterix.205_110", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_110_VALUE, { "Estimated Uncertainty, [m]", "asterix.205_110_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_120, { "120, Contributing Sensors", "asterix.205_120", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_120_VALUE, { "Contributing Sensors", "asterix.205_120_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_130, { "130, Conflicting Transmitter Position in WGS-84 Coordinates", "asterix.205_130", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_130_LAT, { "LAT, Latitude in WGS-84, [°]", "asterix.205_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_130_LON, { "LON, Longitude in WGS-84, [°]", "asterix.205_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_140, { "140, Conflicting Transmitter Position in Cartesian Coordinates", "asterix.205_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_140_X, { "X, X-coordinate, [m]", "asterix.205_140_X", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_140_Y, { "Y, Y-coordinate, [m]", "asterix.205_140_Y", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_150, { "150, Conflicting Transmitter Estimated Uncertainty", "asterix.205_150", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_150_VALUE, { "Conflicting Transmitter Estimated Uncertainty, [m]", "asterix.205_150_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_160, { "160, Track Number", "asterix.205_160", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_160_VALUE, { "Track Number", "asterix.205_160_VALUE", FT_UINT16, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_170, { "170, Sensor Identification", "asterix.205_170", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_170_VALUE, { "Sensor Identification", "asterix.205_170_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_180, { "180, Signal Level", "asterix.205_180", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_180_VALUE, { "Signal Level, [dBµV]", "asterix.205_180_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_190, { "190, Signal Quality", "asterix.205_190", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_190_VALUE, { "Signal Quality", "asterix.205_190_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_205_200, { "200, Signal Elevation", "asterix.205_200", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_200_VALUE, { "Signal Elevation, [°]", "asterix.205_200_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_205_SP, { "SP, Special Purpose Field", "asterix.205_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_000, { "000, Message Type", "asterix.240_V1_3_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_000_VALUE, { "Message Type", "asterix.240_V1_3_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_240_V1_3_000_VALUE), 0x00, NULL, HFILL } }, { &hf_240_V1_3_010, { "010, Data Source Identifier", "asterix.240_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_010_SAC, { "SAC, System Area Code", "asterix.240_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.240_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_020, { "020, Video Record Header", "asterix.240_V1_3_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_020_VALUE, { "Video Record Header", "asterix.240_V1_3_020_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_030, { "030, Video Summary", "asterix.240_V1_3_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_030_VALUE, { "Video Summary", "asterix.240_V1_3_030_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_040, { "040, Video Header Nano", "asterix.240_V1_3_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_040_STARTAZ, { "STARTAZ, Start Azimuth of the Cells Group, [°]", "asterix.240_V1_3_040_STARTAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_040_ENDAZ, { "ENDAZ, End Azimuth of the Cells Group, [°]", "asterix.240_V1_3_040_ENDAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_040_STARTRG, { "STARTRG, Starting Range of the Cells Group, Expressed in Number of Cells", "asterix.240_V1_3_040_STARTRG", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_040_CELLDUR, { "CELLDUR, Video Cell Duration in Nano-seconds, [ns]", "asterix.240_V1_3_040_CELLDUR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_041, { "041, Video Header Femto", "asterix.240_V1_3_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_041_STARTAZ, { "STARTAZ, Start Azimuth of the Cells Group, [°]", "asterix.240_V1_3_041_STARTAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_041_ENDAZ, { "ENDAZ, End Azimuth of the Cells Group, [°]", "asterix.240_V1_3_041_ENDAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_041_STARTRG, { "STARTRG, Starting Range of the Cells Group, Expressed in Number of Cells", "asterix.240_V1_3_041_STARTRG", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_041_CELLDUR, { "CELLDUR, Video Cell Duration in Femto-seconds, [fs]", "asterix.240_V1_3_041_CELLDUR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_048, { "048, Video Cells Resolution & Data Compression Indicator", "asterix.240_V1_3_048", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_048_C, { "C, Data Compression Indicator", "asterix.240_V1_3_048_C", FT_UINT8, BASE_DEC, VALS (valstr_240_V1_3_048_C), 0x80, NULL, HFILL } }, { &hf_240_V1_3_048_RES, { "RES, Bit Resolution", "asterix.240_V1_3_048_RES", FT_UINT8, BASE_DEC, VALS (valstr_240_V1_3_048_RES), 0x00, NULL, HFILL } }, { &hf_240_V1_3_049, { "049, Video Octets & Video Cells Counters", "asterix.240_V1_3_049", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_049_NBVB, { "NBVB, Number of 'valid' Octets", "asterix.240_V1_3_049_NBVB", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_049_NBCELLS, { "NBCELLS, Number of 'valid' Cells", "asterix.240_V1_3_049_NBCELLS", FT_UINT24, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_050, { "050, Video Block Low Data Volume", "asterix.240_V1_3_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_050_VALUE, { "Video Block Low Data Volume", "asterix.240_V1_3_050_VALUE", FT_UINT32, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_051, { "051, Video Block Medium Data Volume", "asterix.240_V1_3_051", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_051_VALUE, { "Video Block Medium Data Volume", "asterix.240_V1_3_051_VALUE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_052, { "052, Video Block High Data Volume", "asterix.240_V1_3_052", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_052_VALUE, { "Video Block High Data Volume", "asterix.240_V1_3_052_VALUE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_140, { "140, Time of Day", "asterix.240_V1_3_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_140_VALUE, { "Time of Day, [s]", "asterix.240_V1_3_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_RE, { "RE, Reserved Expansion Field", "asterix.240_V1_3_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_V1_3_SP, { "SP, Special Purpose Field", "asterix.240_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_000, { "000, Message Type", "asterix.240_000", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_000_VALUE, { "Message Type", "asterix.240_000_VALUE", FT_UINT8, BASE_DEC, VALS (valstr_240_000_VALUE), 0x00, NULL, HFILL } }, { &hf_240_010, { "010, Data Source Identifier", "asterix.240_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_010_SAC, { "SAC, System Area Code", "asterix.240_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_010_SIC, { "SIC, System Identification Code", "asterix.240_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_020, { "020, Video Record Header", "asterix.240_020", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_020_VALUE, { "Video Record Header", "asterix.240_020_VALUE", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_030, { "030, Video Summary", "asterix.240_030", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_030_VALUE, { "Video Summary", "asterix.240_030_VALUE", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_040, { "040, Video Header Nano", "asterix.240_040", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_040_STARTAZ, { "STARTAZ, Start Azimuth of the Cells Group, [°]", "asterix.240_040_STARTAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_040_ENDAZ, { "ENDAZ, End Azimuth of the Cells Group, [°]", "asterix.240_040_ENDAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_040_STARTRG, { "STARTRG, Starting Range of the Cells Group, Expressed in Number of Cells", "asterix.240_040_STARTRG", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_040_CELLDUR, { "CELLDUR, Video Cell Duration in Nano-seconds, [ns]", "asterix.240_040_CELLDUR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_041, { "041, Video Header Femto", "asterix.240_041", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_041_STARTAZ, { "STARTAZ, Start Azimuth of the Cells Group, [°]", "asterix.240_041_STARTAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_041_ENDAZ, { "ENDAZ, End Azimuth of the Cells Group, [°]", "asterix.240_041_ENDAZ", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_041_STARTRG, { "STARTRG, Starting Range of the Cells Group, Expressed in Number of Cells", "asterix.240_041_STARTRG", FT_UINT32, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_041_CELLDUR, { "CELLDUR, Video Cell Duration in Femto-seconds, [fs]", "asterix.240_041_CELLDUR", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_048, { "048, Video Cells Resolution & Data Compression Indicator", "asterix.240_048", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_048_C, { "C, Data Compression Indicator", "asterix.240_048_C", FT_UINT8, BASE_DEC, VALS (valstr_240_048_C), 0x80, NULL, HFILL } }, { &hf_240_048_RES, { "RES, Bit Resolution", "asterix.240_048_RES", FT_UINT8, BASE_DEC, VALS (valstr_240_048_RES), 0x00, NULL, HFILL } }, { &hf_240_049, { "049, Video Octets & Video Cells Counters", "asterix.240_049", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_049_NBVB, { "NBVB, Number of 'valid' Octets", "asterix.240_049_NBVB", FT_UINT16, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_049_NBCELLS, { "NBCELLS, Number of 'valid' Cells", "asterix.240_049_NBCELLS", FT_UINT24, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_240_050, { "050, Video Block Low Data Volume", "asterix.240_050", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_050_VALUE, { "Video Block Low Data Volume", "asterix.240_050_VALUE", FT_UINT32, BASE_HEX, NULL, 0x00, NULL, HFILL } }, { &hf_240_051, { "051, Video Block Medium Data Volume", "asterix.240_051", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_051_VALUE, { "Video Block Medium Data Volume", "asterix.240_051_VALUE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_052, { "052, Video Block High Data Volume", "asterix.240_052", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_052_VALUE, { "Video Block High Data Volume", "asterix.240_052_VALUE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_140, { "140, Time of Day", "asterix.240_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_140_VALUE, { "Time of Day, [s]", "asterix.240_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_RE, { "RE, Reserved Expansion Field", "asterix.240_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_240_SP, { "SP, Special Purpose Field", "asterix.240_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_010, { "010, Data Source Identifier", "asterix.247_V1_2_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_010_SAC, { "SAC, System Area Code", "asterix.247_V1_2_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_010_SIC, { "SIC, System Identification Code", "asterix.247_V1_2_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_015, { "015, Service Identification", "asterix.247_V1_2_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_015_VALUE, { "Service Identification", "asterix.247_V1_2_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_140, { "140, Time of Day", "asterix.247_V1_2_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_140_VALUE, { "Time of Day, [s]", "asterix.247_V1_2_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_550, { "550, Category Version Number Report", "asterix.247_V1_2_550", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_550_CAT, { "CAT, Category", "asterix.247_V1_2_550_CAT", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_550_MAIN, { "MAIN, Main Version Number", "asterix.247_V1_2_550_MAIN", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_550_SUB, { "SUB, Sub Version Number", "asterix.247_V1_2_550_SUB", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_RE, { "RE, Reserved Expansion Field", "asterix.247_V1_2_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_2_SP, { "SP, Special Purpose Field", "asterix.247_V1_2_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_010, { "010, Data Source Identifier", "asterix.247_V1_3_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_010_SAC, { "SAC, System Area Code", "asterix.247_V1_3_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_010_SIC, { "SIC, System Identification Code", "asterix.247_V1_3_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_015, { "015, Service Identification", "asterix.247_V1_3_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_015_VALUE, { "Service Identification", "asterix.247_V1_3_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_140, { "140, Time of Day", "asterix.247_V1_3_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_140_VALUE, { "Time of Day, [s]", "asterix.247_V1_3_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_550, { "550, Category Version Number Report", "asterix.247_V1_3_550", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_550_CAT, { "CAT, Category", "asterix.247_V1_3_550_CAT", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_550_MAIN, { "MAIN, Main Version Number", "asterix.247_V1_3_550_MAIN", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_550_SUB, { "SUB, Sub Version Number", "asterix.247_V1_3_550_SUB", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_RE, { "RE, Reserved Expansion Field", "asterix.247_V1_3_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_V1_3_SP, { "SP, Special Purpose Field", "asterix.247_V1_3_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_010, { "010, Data Source Identifier", "asterix.247_010", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_010_SAC, { "SAC, System Area Code", "asterix.247_010_SAC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_010_SIC, { "SIC, System Identification Code", "asterix.247_010_SIC", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_015, { "015, Service Identification", "asterix.247_015", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_015_VALUE, { "Service Identification", "asterix.247_015_VALUE", FT_UINT8, BASE_HEX_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_140, { "140, Time of Day", "asterix.247_140", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_140_VALUE, { "Time of Day, [s]", "asterix.247_140_VALUE", FT_DOUBLE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_550, { "550, Category Version Number Report", "asterix.247_550", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_550_CAT, { "CAT, Category", "asterix.247_550_CAT", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_550_MAIN, { "MAIN, Main Version Number", "asterix.247_550_MAIN", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_550_SUB, { "SUB, Sub Version Number", "asterix.247_550_SUB", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, { &hf_247_RE, { "RE, Reserved Expansion Field", "asterix.247_RE", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, { &hf_247_SP, { "SP, Special Purpose Field", "asterix.247_SP", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } }, /* insert2 */ }; /* Setup protocol subtree array */ static int *ett[] = { &ett_asterix, &ett_asterix_category, &ett_asterix_length, &ett_asterix_message, &ett_asterix_subtree }; module_t *asterix_prefs_module; proto_asterix = proto_register_protocol ( "ASTERIX packet", /* name */ "ASTERIX", /* short name */ "asterix" /* abbrev */ ); proto_register_field_array (proto_asterix, hf, array_length (hf)); proto_register_subtree_array (ett, array_length (ett)); asterix_handle = register_dissector ("asterix", dissect_asterix, proto_asterix); asterix_prefs_module = prefs_register_protocol (proto_asterix, NULL); /* insert3 */ prefs_register_enum_preference (asterix_prefs_module, "i001_version", "I001 version", "Select the CAT001 version", &global_categories_version[1], I001_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i002_version", "I002 version", "Select the CAT002 version", &global_categories_version[2], I002_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i004_version", "I004 version", "Select the CAT004 version", &global_categories_version[4], I004_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i008_version", "I008 version", "Select the CAT008 version", &global_categories_version[8], I008_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i009_version", "I009 version", "Select the CAT009 version", &global_categories_version[9], I009_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i010_version", "I010 version", "Select the CAT010 version", &global_categories_version[10], I010_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i011_version", "I011 version", "Select the CAT011 version", &global_categories_version[11], I011_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i015_version", "I015 version", "Select the CAT015 version", &global_categories_version[15], I015_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i016_version", "I016 version", "Select the CAT016 version", &global_categories_version[16], I016_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i017_version", "I017 version", "Select the CAT017 version", &global_categories_version[17], I017_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i018_version", "I018 version", "Select the CAT018 version", &global_categories_version[18], I018_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i019_version", "I019 version", "Select the CAT019 version", &global_categories_version[19], I019_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i020_version", "I020 version", "Select the CAT020 version", &global_categories_version[20], I020_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i021_version", "I021 version", "Select the CAT021 version", &global_categories_version[21], I021_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i023_version", "I023 version", "Select the CAT023 version", &global_categories_version[23], I023_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i025_version", "I025 version", "Select the CAT025 version", &global_categories_version[25], I025_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i032_version", "I032 version", "Select the CAT032 version", &global_categories_version[32], I032_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i034_version", "I034 version", "Select the CAT034 version", &global_categories_version[34], I034_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i048_version", "I048 version", "Select the CAT048 version", &global_categories_version[48], I048_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i062_version", "I062 version", "Select the CAT062 version", &global_categories_version[62], I062_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i063_version", "I063 version", "Select the CAT063 version", &global_categories_version[63], I063_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i065_version", "I065 version", "Select the CAT065 version", &global_categories_version[65], I065_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i205_version", "I205 version", "Select the CAT205 version", &global_categories_version[205], I205_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i240_version", "I240 version", "Select the CAT240 version", &global_categories_version[240], I240_versions, false); prefs_register_enum_preference (asterix_prefs_module, "i247_version", "I247 version", "Select the CAT247 version", &global_categories_version[247], I247_versions, false); /* insert3 */ } void proto_reg_handoff_asterix (void) { dissector_add_uint_with_preference("udp.port", ASTERIX_PORT, asterix_handle); } /* * Editor modelines - https://www.wireshark.org/tools/modelines.html * * Local variables: * c-basic-offset: 4 * tab-width: 8 * indent-tabs-mode: nil * End: * * vi: set shiftwidth=4 tabstop=8 expandtab: * :indentSize=4:tabSize=8:noTabs=true: */