aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-asterix.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-asterix.c')
-rw-r--r--epan/dissectors/packet-asterix.c72109
1 files changed, 60858 insertions, 11251 deletions
diff --git a/epan/dissectors/packet-asterix.c b/epan/dissectors/packet-asterix.c
index a26cc523fb..b36810aa75 100644
--- a/epan/dissectors/packet-asterix.c
+++ b/epan/dissectors/packet-asterix.c
@@ -1,3 +1,19 @@
+/*
+
+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 <marko.hrastovec@sloveniacontrol.si>
@@ -34,2411 +50,35 @@ void proto_reg_handoff_asterix(void);
#define MAX_DISSECT_STR 1024
#define MAX_BUFFER 256
-static int proto_asterix = -1;
-
-static gint hf_asterix_category = -1;
-static gint hf_asterix_length = -1;
-static gint hf_asterix_message = -1;
-static gint hf_asterix_fspec = -1;
-static gint hf_re_field_len = -1;
-static gint hf_spare = -1;
-static gint hf_counter = -1;
-static gint hf_XXX_SAC = -1;
-static gint hf_XXX_SIC = -1;
-static gint hf_XXX_FX = -1;
-/*static gint hf_XXX_2FX = -1;*/
-static gint hf_XXX_3FX = -1;
-static gint hf_XXX_TOD = -1;
-static gint hf_XXX_AA = -1;
-static gint hf_XXX_AI = -1;
-static gint hf_XXX_MB_DATA = -1;
-static gint hf_XXX_BDS1 = -1;
-static gint hf_XXX_BDS2 = -1;
-static gint hf_XXX_TN_16 = -1;
-/* Category 001 */
-static gint hf_001_010 = -1;
-static gint hf_001_020 = -1;
-static gint hf_001_020_TYP = -1;
-static gint hf_001_020_SIM = -1;
-static gint hf_001_020_SSR_PSR = -1;
-static gint hf_001_020_ANT = -1;
-static gint hf_001_020_SPI = -1;
-static gint hf_001_020_RAB = -1;
-static gint hf_001_020_TST = -1;
-static gint hf_001_020_DS12 = -1;
-static gint hf_001_020_ME = -1;
-static gint hf_001_020_MI = -1;
-static gint hf_001_030 = -1;
-static gint hf_001_030_WE = -1;
-static gint hf_001_040 = -1;
-static gint hf_001_040_RHO = -1;
-static gint hf_001_040_THETA = -1;
-static gint hf_001_042 = -1;
-static gint hf_001_042_X = -1;
-static gint hf_001_042_Y = -1;
-static gint hf_001_050 = -1;
-static gint hf_001_050_V = -1;
-static gint hf_001_050_G = -1;
-static gint hf_001_050_L = -1;
-static gint hf_001_050_SQUAWK = -1;
-static gint hf_001_060 = -1;
-static gint hf_001_060_QA4 = -1;
-static gint hf_001_060_QA2 = -1;
-static gint hf_001_060_QA1 = -1;
-static gint hf_001_060_QB4 = -1;
-static gint hf_001_060_QB2 = -1;
-static gint hf_001_060_QB1 = -1;
-static gint hf_001_060_QC4 = -1;
-static gint hf_001_060_QC2 = -1;
-static gint hf_001_060_QC1 = -1;
-static gint hf_001_060_QD4 = -1;
-static gint hf_001_060_QD2 = -1;
-static gint hf_001_060_QD1 = -1;
-static gint hf_001_070 = -1;
-static gint hf_001_070_V = -1;
-static gint hf_001_070_G = -1;
-static gint hf_001_070_L = -1;
-static gint hf_001_070_SQUAWK = -1;
-static gint hf_001_080 = -1;
-static gint hf_001_080_QA4 = -1;
-static gint hf_001_080_QA2 = -1;
-static gint hf_001_080_QA1 = -1;
-static gint hf_001_080_QB4 = -1;
-static gint hf_001_080_QB2 = -1;
-static gint hf_001_080_QB1 = -1;
-static gint hf_001_080_QC4 = -1;
-static gint hf_001_080_QC2 = -1;
-static gint hf_001_080_QC1 = -1;
-static gint hf_001_080_QD4 = -1;
-static gint hf_001_080_QD2 = -1;
-static gint hf_001_080_QD1 = -1;
-static gint hf_001_090 = -1;
-static gint hf_001_090_V = -1;
-static gint hf_001_090_G = -1;
-static gint hf_001_090_FL = -1;
-static gint hf_001_100 = -1;
-static gint hf_001_100_V = -1;
-static gint hf_001_100_G = -1;
-static gint hf_001_100_C1 = -1;
-static gint hf_001_100_A1 = -1;
-static gint hf_001_100_C2 = -1;
-static gint hf_001_100_A2 = -1;
-static gint hf_001_100_C4 = -1;
-static gint hf_001_100_A4 = -1;
-static gint hf_001_100_B1 = -1;
-static gint hf_001_100_D1 = -1;
-static gint hf_001_100_B2 = -1;
-static gint hf_001_100_D2 = -1;
-static gint hf_001_100_B4 = -1;
-static gint hf_001_100_D4 = -1;
-static gint hf_001_100_QC1 = -1;
-static gint hf_001_100_QA1 = -1;
-static gint hf_001_100_QC2 = -1;
-static gint hf_001_100_QA2 = -1;
-static gint hf_001_100_QC4 = -1;
-static gint hf_001_100_QA4 = -1;
-static gint hf_001_100_QB1 = -1;
-static gint hf_001_100_QD1 = -1;
-static gint hf_001_100_QB2 = -1;
-static gint hf_001_100_QD2 = -1;
-static gint hf_001_100_QB4 = -1;
-static gint hf_001_100_QD4 = -1;
-static gint hf_001_120 = -1;
-static gint hf_001_120_MRDS = -1;
-static gint hf_001_130 = -1;
-static gint hf_001_130_RPC = -1;
-static gint hf_001_131 = -1;
-static gint hf_001_131_RP = -1;
-static gint hf_001_141 = -1;
-static gint hf_001_141_TTOD = -1;
-static gint hf_001_150 = -1;
-static gint hf_001_150_XA = -1;
-static gint hf_001_150_XC = -1;
-static gint hf_001_150_X2 = -1;
-static gint hf_001_161 = -1;
-static gint hf_001_161_TPN = -1;
-static gint hf_001_170 = -1;
-static gint hf_001_170_CON = -1;
-static gint hf_001_170_RAD = -1;
-static gint hf_001_170_MAN = -1;
-static gint hf_001_170_DOU = -1;
-static gint hf_001_170_RDPC = -1;
-static gint hf_001_170_GHO = -1;
-static gint hf_001_170_TRE = -1;
-static gint hf_001_200 = -1;
-static gint hf_001_200_CGS = -1;
-static gint hf_001_200_CH = -1;
-static gint hf_001_210 = -1;
-static gint hf_001_210_TQ = -1;
-static gint hf_001_RE = -1;
-static gint hf_001_SP = -1;
-/* Category 002 */
-static gint hf_002_000 = -1;
-static gint hf_002_000_MT = -1;
-static gint hf_002_010 = -1;
-static gint hf_002_020 = -1;
-static gint hf_002_020_SN = -1;
-static gint hf_002_030 = -1;
-static gint hf_002_041 = -1;
-static gint hf_002_041_ARS = -1;
-static gint hf_002_050 = -1;
-static gint hf_002_060 = -1;
-static gint hf_002_070 = -1;
-static gint hf_002_070_A = -1;
-static gint hf_002_070_IDENT = -1;
-static gint hf_002_070_COUNTER = -1;
-static gint hf_002_080 = -1;
-static gint hf_002_080_WE = -1;
-static gint hf_002_090 = -1;
-static gint hf_002_090_RE = -1;
-static gint hf_002_090_AE = -1;
-static gint hf_002_100 = -1;
-static gint hf_002_100_RHOS = -1;
-static gint hf_002_100_RHOE = -1;
-static gint hf_002_100_THETAS = -1;
-static gint hf_002_100_THETAE = -1;
-static gint hf_002_RE = -1;
-static gint hf_002_SP = -1;
-/* Category 004 */
-static gint hf_004_000 = -1;
-static gint hf_004_000_MT = -1;
-static gint hf_004_010 = -1;
-static gint hf_004_015 = -1;
-static gint hf_004_020 = -1;
-static gint hf_004_030 = -1;
-static gint hf_004_030_TN1 = -1;
-static gint hf_004_035 = -1;
-static gint hf_004_035_TN2 = -1;
-static gint hf_004_040 = -1;
-static gint hf_004_040_AI = -1;
-static gint hf_004_045 = -1;
-static gint hf_004_045_AS = -1;
-static gint hf_004_060 = -1;
-static gint hf_004_060_MRVA = -1;
-static gint hf_004_060_RAMLD = -1;
-static gint hf_004_060_RAMHD = -1;
-static gint hf_004_060_MSAW = -1;
-static gint hf_004_060_APW = -1;
-static gint hf_004_060_CLAM = -1;
-static gint hf_004_060_STCA = -1;
-static gint hf_004_060_AFDA = -1;
-static gint hf_004_060_RIMCA = -1;
-static gint hf_004_060_ACASRA = -1;
-static gint hf_004_060_NTCA = -1;
-static gint hf_004_060_DG = -1;
-static gint hf_004_060_OF = -1;
-static gint hf_004_060_OL = -1;
-static gint hf_004_060_AIW = -1;
-static gint hf_004_060_PAIW = -1;
-static gint hf_004_060_OCAT = -1;
-static gint hf_004_060_SAM = -1;
-static gint hf_004_060_VCD = -1;
-static gint hf_004_060_CHAM = -1;
-static gint hf_004_060_DSAM = -1;
-static gint hf_004_060_DBPSMARR = -1;
-static gint hf_004_060_DBPSMDEP = -1;
-static gint hf_004_060_DBPSMTL = -1;
-static gint hf_004_060_VRAMCRM = -1;
-static gint hf_004_060_VRAMVTM = -1;
-static gint hf_004_060_VRAMVRM = -1;
-static gint hf_004_060_HAMHD = -1;
-static gint hf_004_060_HAMRD = -1;
-static gint hf_004_060_HAMVD = -1;
-static gint hf_004_060_HVI = -1;
-static gint hf_004_060_LTW = -1;
-static gint hf_004_060_VPM = -1;
-static gint hf_004_060_TTA = -1;
-static gint hf_004_060_CRA = -1;
-static gint hf_004_060_ASM = -1;
-static gint hf_004_060_IAVM = -1;
-static gint hf_004_060_FTD = -1;
-static gint hf_004_060_ITD = -1;
-static gint hf_004_060_IIA = -1;
-static gint hf_004_060_SQW = -1;
-static gint hf_004_060_CUW = -1;
-static gint hf_004_070 = -1;
-static gint hf_004_070_01 = -1;
-static gint hf_004_070_01_TC = -1;
-static gint hf_004_070_02 = -1;
-static gint hf_004_070_02_TCA = -1;
-static gint hf_004_070_03 = -1;
-static gint hf_004_070_03_CHS = -1;
-static gint hf_004_070_04 = -1;
-static gint hf_004_070_04_MHS = -1;
-static gint hf_004_070_05 = -1;
-static gint hf_004_070_05_CVS = -1;
-static gint hf_004_070_06 = -1;
-static gint hf_004_070_06_MVS = -1;
-static gint hf_004_074 = -1;
-static gint hf_004_074_LD = -1;
-static gint hf_004_075 = -1;
-static gint hf_004_075_TDD = -1;
-static gint hf_004_076 = -1;
-static gint hf_004_076_VD = -1;
-static gint hf_004_100 = -1;
-static gint hf_004_100_01 = -1;
-static gint hf_004_100_01_AN = -1;
-static gint hf_004_100_02 = -1;
-static gint hf_004_100_02_CAN = -1;
-static gint hf_004_100_03 = -1;
-static gint hf_004_100_03_RT1 = -1;
-static gint hf_004_100_04 = -1;
-static gint hf_004_100_04_RT2 = -1;
-static gint hf_004_100_05 = -1;
-static gint hf_004_100_05_SB = -1;
-static gint hf_004_100_06 = -1;
-static gint hf_004_100_06_G = -1;
-static gint hf_004_110 = -1;
-static gint hf_004_110_Centre = -1;
-static gint hf_004_110_Position = -1;
-static gint hf_004_120 = -1;
-static gint hf_004_120_01 = -1;
-static gint hf_004_120_01_MAS = -1;
-static gint hf_004_120_01_CAS = -1;
-static gint hf_004_120_01_FLD = -1;
-static gint hf_004_120_01_FVD = -1;
-static gint hf_004_120_01_Type = -1;
-static gint hf_004_120_01_Cross = -1;
-static gint hf_004_120_01_Div = -1;
-static gint hf_004_120_01_RRC = -1;
-static gint hf_004_120_01_RTC = -1;
-static gint hf_004_120_01_MRVA = -1;
-static gint hf_004_120_01_VRAMCRM = -1;
-static gint hf_004_120_01_VRAMVRM = -1;
-static gint hf_004_120_01_VRAMVTM = -1;
-static gint hf_004_120_01_HAMHD = -1;
-static gint hf_004_120_01_HAMRD = -1;
-static gint hf_004_120_01_HAMVD = -1;
-static gint hf_004_120_01_DBPSMARR = -1;
-static gint hf_004_120_01_DBPSMDEP = -1;
-static gint hf_004_120_01_DBPSMTL = -1;
-static gint hf_004_120_01_AIW = -1;
-static gint hf_004_120_02 = -1;
-static gint hf_004_120_02_TID = -1;
-static gint hf_004_120_02_SC = -1;
-static gint hf_004_120_02_CS = -1;
-static gint hf_004_120_03 = -1;
-static gint hf_004_120_03_Probability = -1;
-static gint hf_004_120_04 = -1;
-static gint hf_004_120_04_Duration = -1;
-static gint hf_004_170 = -1;
-static gint hf_004_170_01 = -1;
-static gint hf_004_170_01_AI1 = -1;
-static gint hf_004_170_02 = -1;
-static gint hf_004_170_02_M31 = -1;
-static gint hf_004_170_03 = -1;
-static gint hf_004_170_03_LAT = -1;
-static gint hf_004_170_03_LON = -1;
-static gint hf_004_170_03_ALT = -1;
-static gint hf_004_170_04 = -1;
-static gint hf_004_170_04_X = -1;
-static gint hf_004_170_04_Y = -1;
-static gint hf_004_170_04_Z = -1;
-static gint hf_004_170_05 = -1;
-static gint hf_004_170_05_TT1 = -1;
-static gint hf_004_170_06 = -1;
-static gint hf_004_170_06_DT1 = -1;
-static gint hf_004_170_07 = -1;
-static gint hf_004_170_07_GATOAT = -1;
-static gint hf_004_170_07_FR1FR2 = -1;
-static gint hf_004_170_07_RVSM = -1;
-static gint hf_004_170_07_HPR = -1;
-static gint hf_004_170_07_CDM = -1;
-static gint hf_004_170_07_PRI = -1;
-static gint hf_004_170_07_GV = -1;
-static gint hf_004_170_08 = -1;
-static gint hf_004_170_08_MS1 = -1;
-static gint hf_004_170_09 = -1;
-static gint hf_004_170_09_FP1 = -1;
-static gint hf_004_170_10 = -1;
-static gint hf_004_170_10_CF1 = -1;
-static gint hf_004_171 = -1;
-static gint hf_004_171_01 = -1;
-static gint hf_004_171_01_AI2 = -1;
-static gint hf_004_171_02 = -1;
-static gint hf_004_171_02_M32 = -1;
-static gint hf_004_171_03 = -1;
-static gint hf_004_171_03_LAT = -1;
-static gint hf_004_171_03_LON = -1;
-static gint hf_004_171_03_ALT = -1;
-static gint hf_004_171_04 = -1;
-static gint hf_004_171_04_X = -1;
-static gint hf_004_171_04_Y = -1;
-static gint hf_004_171_04_Z = -1;
-static gint hf_004_171_05 = -1;
-static gint hf_004_171_05_TT2 = -1;
-static gint hf_004_171_06 = -1;
-static gint hf_004_171_06_DT2 = -1;
-static gint hf_004_171_07 = -1;
-static gint hf_004_171_07_GATOAT = -1;
-static gint hf_004_171_07_FR1FR2 = -1;
-static gint hf_004_171_07_RVSM = -1;
-static gint hf_004_171_07_HPR = -1;
-static gint hf_004_171_07_CDM = -1;
-static gint hf_004_171_07_PRI = -1;
-static gint hf_004_171_07_GV = -1;
-static gint hf_004_171_08 = -1;
-static gint hf_004_171_08_MS2 = -1;
-static gint hf_004_171_09 = -1;
-static gint hf_004_171_09_FP2 = -1;
-static gint hf_004_171_10 = -1;
-static gint hf_004_171_10_CF2 = -1;
-static gint hf_004_SP = -1;
-static gint hf_004_RE = -1;
-static gint hf_004_RE_TI1_PW1_LAT = -1;
-static gint hf_004_RE_TI1_PW1_LON = -1;
-static gint hf_004_RE_TI1_PC1_X = -1;
-static gint hf_004_RE_TI1_PC1_Y = -1;
-static gint hf_004_RE_TI1_MC1_VALID = -1;
-static gint hf_004_RE_TI1_MC1_GARBLED = -1;
-static gint hf_004_RE_TI1_MC1_CODE = -1;
-static gint hf_004_RE_TI1_V1_VX = -1;
-static gint hf_004_RE_TI1_V1_VY = -1;
-static gint hf_004_RE_TI2_PW2_LAT = -1;
-static gint hf_004_RE_TI2_PW2_LON = -1;
-static gint hf_004_RE_TI2_PC2_X = -1;
-static gint hf_004_RE_TI2_PC2_Y = -1;
-static gint hf_004_RE_TI2_MC2_VALID = -1;
-static gint hf_004_RE_TI2_MC2_GARBLED = -1;
-static gint hf_004_RE_TI2_MC2_CODE = -1;
-static gint hf_004_RE_TI2_V2_VX = -1;
-static gint hf_004_RE_TI2_V2_VY = -1;
-static gint hf_004_RE_EIT1_VR1_VR = -1;
-static gint hf_004_RE_EIT1_MS1_ADDR = -1;
-static gint hf_004_RE_EIT1_TR1_LAT = -1;
-static gint hf_004_RE_EIT1_TR1_LON = -1;
-static gint hf_004_RE_EIT1_TR1_ALT = -1;
-static gint hf_004_RE_EIT1_TR1_PC = -1;
-static gint hf_004_RE_EIT1_TR1_DEL = -1;
-static gint hf_004_RE_EIT1_PG1_PG = -1;
-static gint hf_004_RE_EIT1_AT1_STAT = -1;
-static gint hf_004_RE_EIT1_QN1_DEL = -1;
-static gint hf_004_RE_EIT1_VL1_VL = -1;
-static gint hf_004_RE_EIT2_VR2_VR = -1;
-static gint hf_004_RE_EIT2_MS2_ADDR = -1;
-static gint hf_004_RE_EIT2_TR2_LAT = -1;
-static gint hf_004_RE_EIT2_TR2_LON = -1;
-static gint hf_004_RE_EIT2_TR2_ALT = -1;
-static gint hf_004_RE_EIT2_TR2_PC = -1;
-static gint hf_004_RE_EIT2_TR2_DEL = -1;
-static gint hf_004_RE_EIT2_PG2_PG = -1;
-static gint hf_004_RE_EIT2_AT2_STAT = -1;
-static gint hf_004_RE_EIT2_QN2_DEL = -1;
-static gint hf_004_RE_EIT2_VL2_VL = -1;
-static gint hf_004_RE_CI_FHV_TIME = -1;
-static gint hf_004_RE_CI_LHV_TIME = -1;
-static gint hf_004_RE_CI_FVV_TIME = -1;
-static gint hf_004_RE_CI_LVV_TIME = -1;
-static gint hf_004_RE_CI_DET_CNT = -1;
-static gint hf_004_RE_CI_MIS_CNT = -1;
-static gint hf_004_RE_CI_CSA_CUR = -1;
-static gint hf_004_RE_CI_CSA_START = -1;
-static gint hf_004_RE_CI_PGC_ID = -1;
-static gint hf_004_RE_CI_HYP_ID = -1;
-static gint hf_004_RE_TTG_TIME = -1;
-static gint hf_004_RE_FBD_SD_DEV = -1;
-static gint hf_004_RE_FBD_VRD_DEV = -1;
-static gint hf_004_RE_FBD_PD_DEV = -1;
-static gint hf_004_RE_FBD_HD_DEV = -1;
-static gint hf_004_RE_FBD_SLD_DEV = -1;
-static gint hf_004_RE_TI1_PW1 = -1;
-static gint hf_004_RE_TI1_PC1 = -1;
-static gint hf_004_RE_TI1_MC1 = -1;
-static gint hf_004_RE_TI1_V1 = -1;
-static gint hf_004_RE_TI1 = -1;
-static gint hf_004_RE_TI2_PW2 = -1;
-static gint hf_004_RE_TI2_PC2 = -1;
-static gint hf_004_RE_TI2_MC2 = -1;
-static gint hf_004_RE_TI2_V2 = -1;
-static gint hf_004_RE_TI2 = -1;
-static gint hf_004_RE_EIT1_VR1 = -1;
-static gint hf_004_RE_EIT1_MS1 = -1;
-static gint hf_004_RE_EIT1_TR1 = -1;
-static gint hf_004_RE_EIT1_PG1 = -1;
-static gint hf_004_RE_EIT1_AT1 = -1;
-static gint hf_004_RE_EIT1_QN1 = -1;
-static gint hf_004_RE_EIT1_VL1 = -1;
-static gint hf_004_RE_EIT1 = -1;
-static gint hf_004_RE_EIT2_VR2 = -1;
-static gint hf_004_RE_EIT2_MS2 = -1;
-static gint hf_004_RE_EIT2_TR2 = -1;
-static gint hf_004_RE_EIT2_PG2 = -1;
-static gint hf_004_RE_EIT2_AT2 = -1;
-static gint hf_004_RE_EIT2_QN2 = -1;
-static gint hf_004_RE_EIT2_VL2 = -1;
-static gint hf_004_RE_EIT2 = -1;
-static gint hf_004_RE_CI_FHV = -1;
-static gint hf_004_RE_CI_LHV = -1;
-static gint hf_004_RE_CI_FVV = -1;
-static gint hf_004_RE_CI_LVV = -1;
-static gint hf_004_RE_CI_DET = -1;
-static gint hf_004_RE_CI_MIS = -1;
-static gint hf_004_RE_CI_CSA = -1;
-static gint hf_004_RE_CI_PGC = -1;
-static gint hf_004_RE_CI_HYP = -1;
-static gint hf_004_RE_CI = -1;
-static gint hf_004_RE_TTG = -1;
-static gint hf_004_RE_FBD_SD = -1;
-static gint hf_004_RE_FBD_VRD = -1;
-static gint hf_004_RE_FBD_PD = -1;
-static gint hf_004_RE_FBD_HD = -1;
-static gint hf_004_RE_FBD_SLD = -1;
-static gint hf_004_RE_FBD = -1;
-static gint hf_004_RE_AFI = -1;
-static gint hf_004_RE_AFI_AFI = -1;
-static gint hf_004_RE_AFT = -1;
-static gint hf_004_RE_AFT_AFT = -1;
-static gint hf_004_RE_FASI = -1;
-static gint hf_004_RE_FASI_SO = -1;
-static gint hf_004_RE_FASI_SO_SIO = -1;
-static gint hf_004_RE_FASI_MSH = -1;
-static gint hf_004_RE_FASI_MSH_HSM = -1;
-static gint hf_004_RE_FASI_MSV = -1;
-static gint hf_004_RE_FASI_MSV_VSM = -1;
-static gint hf_004_RE_FASI_MST = -1;
-static gint hf_004_RE_FASI_MST_TBSM = -1;
-static gint hf_004_RE_FASI_WT1 = -1;
-static gint hf_004_RE_FASI_WT1_WTC = -1;
-static gint hf_004_RE_FASI_WT2 = -1;
-static gint hf_004_RE_FASI_WT2_WTC = -1;
-static gint hf_004_RE_FASI_TA1 = -1;
-static gint hf_004_RE_FASI_TA1_TYP = -1;
-static gint hf_004_RE_FASI_TA2 = -1;
-static gint hf_004_RE_FASI_TA2_TYP = -1;
-static gint hf_004_RE_FASI_ASI = -1;
-static gint hf_004_RE_FASI_ASI_APP = -1;
-/* Category 008 */
-static gint hf_008_000 = -1;
-static gint hf_008_000_MT = -1;
-static gint hf_008_010 = -1;
-static gint hf_008_020 = -1;
-static gint hf_008_020_ORG = -1;
-static gint hf_008_020_INT = -1;
-static gint hf_008_020_DIR = -1;
-static gint hf_008_020_TST = -1;
-static gint hf_008_020_ER = -1;
-static gint hf_008_034 = -1;
-static gint hf_008_034_START_RANGE = -1;
-static gint hf_008_034_END_RANGE = -1;
-static gint hf_008_034_AZIMUTH = -1;
-static gint hf_008_036 = -1;
-static gint hf_008_036_X = -1;
-static gint hf_008_036_Y = -1;
-static gint hf_008_036_VL = -1;
-static gint hf_008_038 = -1;
-static gint hf_008_038_X1 = -1;
-static gint hf_008_038_Y1 = -1;
-static gint hf_008_038_X2 = -1;
-static gint hf_008_038_Y2 = -1;
-static gint hf_008_040 = -1;
-static gint hf_008_040_ORG = -1;
-static gint hf_008_040_INT = -1;
-static gint hf_008_040_FST_LST = -1;
-static gint hf_008_040_CSN = -1;
-static gint hf_008_050 = -1;
-static gint hf_008_050_X1 = -1;
-static gint hf_008_050_Y1 = -1;
-static gint hf_008_090 = -1;
-static gint hf_008_100 = -1;
-static gint hf_008_100_f = -1;
-static gint hf_008_100_R = -1;
-static gint hf_008_100_Q = -1;
-static gint hf_008_110 = -1;
-static gint hf_008_110_HW = -1;
-static gint hf_008_120 = -1;
-static gint hf_008_120_COUNT = -1;
-static gint hf_008_SP = -1;
-static gint hf_008_RFS = -1;
-/* Category 009 */
-static gint hf_009_000 = -1;
-static gint hf_009_000_MT = -1;
-static gint hf_009_010 = -1;
-static gint hf_009_020 = -1;
-static gint hf_009_020_ORG = -1;
-static gint hf_009_020_INT = -1;
-static gint hf_009_020_DIR = -1;
-static gint hf_009_030 = -1;
-static gint hf_009_030_X = -1;
-static gint hf_009_030_Y = -1;
-static gint hf_009_030_VL = -1;
-static gint hf_009_060 = -1;
-static gint hf_009_060_STEP = -1;
-static gint hf_009_070 = -1;
-static gint hf_009_080 = -1;
-static gint hf_009_080_SCALE = -1;
-static gint hf_009_080_R = -1;
-static gint hf_009_080_Q = -1;
-static gint hf_009_090 = -1;
-static gint hf_009_090_CP = -1;
-static gint hf_009_090_WO = -1;
-static gint hf_009_090_RS = -1;
-static gint hf_009_100 = -1;
-static gint hf_009_100_VC = -1;
-/* Category 010 */
-static gint hf_010_000 = -1;
-static gint hf_010_000_MT = -1;
-static gint hf_010_010 = -1;
-static gint hf_010_020 = -1;
-static gint hf_010_020_TYP = -1;
-static gint hf_010_020_DCR = -1;
-static gint hf_010_020_CHN = -1;
-static gint hf_010_020_GBS = -1;
-static gint hf_010_020_CRT = -1;
-static gint hf_010_020_SIM = -1;
-static gint hf_010_020_TST = -1;
-static gint hf_010_020_RAB = -1;
-static gint hf_010_020_LOP = -1;
-static gint hf_010_020_TOT = -1;
-static gint hf_010_020_SPI = -1;
-static gint hf_010_040 = -1;
-static gint hf_010_040_RHO = -1;
-static gint hf_010_040_THETA = -1;
-static gint hf_010_041 = -1;
-static gint hf_010_041_LAT = -1;
-static gint hf_010_041_LON = -1;
-static gint hf_010_042 = -1;
-static gint hf_010_042_X = -1;
-static gint hf_010_042_Y = -1;
-static gint hf_010_060 = -1;
-static gint hf_010_060_V = -1;
-static gint hf_010_060_G = -1;
-static gint hf_010_060_L = -1;
-static gint hf_010_060_SQUAWK = -1;
-static gint hf_010_090 = -1;
-static gint hf_010_090_V = -1;
-static gint hf_010_090_G = -1;
-static gint hf_010_090_FL = -1;
-static gint hf_010_091 = -1;
-static gint hf_010_091_MH = -1;
-static gint hf_010_131 = -1;
-static gint hf_010_131_PAM = -1;
-static gint hf_010_140 = -1;
-static gint hf_010_161 = -1;
-static gint hf_010_161_TN = -1;
-static gint hf_010_170 = -1;
-static gint hf_010_170_CNF = -1;
-static gint hf_010_170_TRE = -1;
-static gint hf_010_170_CST = -1;
-static gint hf_010_170_MAH = -1;
-static gint hf_010_170_TCC = -1;
-static gint hf_010_170_STH = -1;
-static gint hf_010_170_TOM = -1;
-static gint hf_010_170_DOU = -1;
-static gint hf_010_170_MRS = -1;
-static gint hf_010_170_GHO = -1;
-static gint hf_010_200 = -1;
-static gint hf_010_200_GS = -1;
-static gint hf_010_200_TA = -1;
-static gint hf_010_202 = -1;
-static gint hf_010_202_VX = -1;
-static gint hf_010_202_VY = -1;
-static gint hf_010_210 = -1;
-static gint hf_010_210_AX = -1;
-static gint hf_010_210_AY = -1;
-static gint hf_010_220 = -1;
-static gint hf_010_245 = -1;
-static gint hf_010_245_STI = -1;
-static gint hf_010_250 = -1;
-static gint hf_010_270 = -1;
-static gint hf_010_270_LENGTH = -1;
-static gint hf_010_270_ORIENTATION = -1;
-static gint hf_010_270_WIDTH = -1;
-static gint hf_010_280 = -1;
-static gint hf_010_280_DRHO = -1;
-static gint hf_010_280_DTHETA = -1;
-static gint hf_010_300 = -1;
-static gint hf_010_300_VFI = -1;
-static gint hf_010_310 = -1;
-static gint hf_010_310_TRB = -1;
-static gint hf_010_310_MSG = -1;
-static gint hf_010_500 = -1;
-static gint hf_010_500_SDPx = -1;
-static gint hf_010_500_SDPy = -1;
-static gint hf_010_500_SDPxy = -1;
-static gint hf_010_550 = -1;
-static gint hf_010_550_NOGO = -1;
-static gint hf_010_550_OVL = -1;
-static gint hf_010_550_TSV = -1;
-static gint hf_010_550_DIV = -1;
-static gint hf_010_550_TTF = -1;
-static gint hf_010_SP = -1;
-static gint hf_010_RE = -1;
-/* Category 011 */
-static gint hf_011_000 = -1;
-static gint hf_011_000_MT = -1;
-static gint hf_011_010 = -1;
-static gint hf_011_015 = -1;
-static gint hf_011_015_SI = -1;
-static gint hf_011_041 = -1;
-static gint hf_011_041_LAT = -1;
-static gint hf_011_041_LON = -1;
-static gint hf_011_042 = -1;
-static gint hf_011_042_X = -1;
-static gint hf_011_042_Y = -1;
-static gint hf_011_060 = -1;
-static gint hf_011_060_SQUAWK = -1;
-static gint hf_011_090 = -1;
-static gint hf_011_090_MFL = -1;
-static gint hf_011_092 = -1;
-static gint hf_011_092_ALT = -1;
-static gint hf_011_093 = -1;
-static gint hf_011_093_QNH = -1;
-static gint hf_011_093_ALT = -1;
-static gint hf_011_140 = -1;
-static gint hf_011_161 = -1;
-static gint hf_011_161_TN = -1;
-static gint hf_011_170 = -1;
-static gint hf_011_170_MON = -1;
-static gint hf_011_170_GBS = -1;
-static gint hf_011_170_MRH = -1;
-static gint hf_011_170_SRC = -1;
-static gint hf_011_170_CNF = -1;
-static gint hf_011_170_SIM = -1;
-static gint hf_011_170_TSE = -1;
-static gint hf_011_170_TSB = -1;
-static gint hf_011_170_FRIFOE = -1;
-static gint hf_011_170_ME = -1;
-static gint hf_011_170_MI = -1;
-static gint hf_011_170_AMA = -1;
-static gint hf_011_170_SPI = -1;
-static gint hf_011_170_CST = -1;
-static gint hf_011_170_FPC = -1;
-static gint hf_011_170_AFF = -1;
-static gint hf_011_170_PSR = -1;
-static gint hf_011_170_SSR = -1;
-static gint hf_011_170_MDS = -1;
-static gint hf_011_170_ADS = -1;
-static gint hf_011_170_SUC = -1;
-static gint hf_011_170_AAC = -1;
-static gint hf_011_202 = -1;
-static gint hf_011_202_VX = -1;
-static gint hf_011_202_VY = -1;
-static gint hf_011_210 = -1;
-static gint hf_011_210_AX = -1;
-static gint hf_011_210_AY = -1;
-static gint hf_011_215 = -1;
-static gint hf_011_215_ROCD = -1;
-static gint hf_011_245 = -1;
-static gint hf_011_245_STI = -1;
-static gint hf_011_270 = -1;
-static gint hf_011_270_LENGTH = -1;
-static gint hf_011_270_ORIENTATION = -1;
-static gint hf_011_270_WIDTH = -1;
-static gint hf_011_290 = -1;
-static gint hf_011_290_01 = -1;
-static gint hf_011_290_01_PSR = -1;
-static gint hf_011_290_02 = -1;
-static gint hf_011_290_02_SSR = -1;
-static gint hf_011_290_03 = -1;
-static gint hf_011_290_03_MDA = -1;
-static gint hf_011_290_04 = -1;
-static gint hf_011_290_04_MFL = -1;
-static gint hf_011_290_05 = -1;
-static gint hf_011_290_05_MDS = -1;
-static gint hf_011_290_06 = -1;
-static gint hf_011_290_06_ADS = -1;
-static gint hf_011_290_07 = -1;
-static gint hf_011_290_07_ADB = -1;
-static gint hf_011_290_08 = -1;
-static gint hf_011_290_08_MD1 = -1;
-static gint hf_011_290_09 = -1;
-static gint hf_011_290_09_MD2 = -1;
-static gint hf_011_290_10 = -1;
-static gint hf_011_290_10_LOP = -1;
-static gint hf_011_290_11 = -1;
-static gint hf_011_290_11_TRK = -1;
-static gint hf_011_290_12 = -1;
-static gint hf_011_290_12_MUL = -1;
-static gint hf_011_300 = -1;
-static gint hf_011_300_VFI = -1;
-static gint hf_011_310 = -1;
-static gint hf_011_310_TRB = -1;
-static gint hf_011_310_MSG = -1;
-static gint hf_011_380 = -1;
-static gint hf_011_380_01 = -1;
-static gint hf_011_380_02 = -1;
-/* #3 Never Sent */
-static gint hf_011_380_04 = -1;
-static gint hf_011_380_04_COM = -1;
-static gint hf_011_380_04_STAT = -1;
-static gint hf_011_380_04_SSC = -1;
-static gint hf_011_380_04_ARC = -1;
-static gint hf_011_380_04_AIC = -1;
-static gint hf_011_380_04_B1A = -1;
-static gint hf_011_380_04_B1B = -1;
-static gint hf_011_380_04_AC = -1;
-static gint hf_011_380_04_MN = -1;
-static gint hf_011_380_04_DC = -1;
-/* #5 to #7 Never Sent */
-static gint hf_011_380_08 = -1;
-static gint hf_011_380_08_ADAT = -1;
-static gint hf_011_380_09 = -1;
-static gint hf_011_380_09_ECAT = -1;
-/* #10 Never Sent */
-static gint hf_011_380_11 = -1;
-static gint hf_011_380_11_VDL = -1;
-static gint hf_011_380_11_MDS = -1;
-static gint hf_011_380_11_UAT = -1;
-static gint hf_011_390 = -1;
-static gint hf_011_390_01 = -1;
-static gint hf_011_390_02 = -1;
-static gint hf_011_390_02_CSN = -1;
-static gint hf_011_390_03 = -1;
-static gint hf_011_390_03_TYP = -1;
-static gint hf_011_390_03_NBR = -1;
-static gint hf_011_390_04 = -1;
-static gint hf_011_390_04_GAT_OAT = -1;
-static gint hf_011_390_04_FR12 = -1;
-static gint hf_011_390_04_RVSM = -1;
-static gint hf_011_390_04_HPR = -1;
-static gint hf_011_390_05 = -1;
-static gint hf_011_390_05_ACTYP = -1;
-static gint hf_011_390_06 = -1;
-static gint hf_011_390_06_WTC = -1;
-static gint hf_011_390_07 = -1;
-static gint hf_011_390_07_ADEP = -1;
-static gint hf_011_390_08 = -1;
-static gint hf_011_390_08_ADES = -1;
-static gint hf_011_390_09 = -1;
-static gint hf_011_390_09_RWY = -1;
-static gint hf_011_390_10 = -1;
-static gint hf_011_390_10_CFL = -1;
-static gint hf_011_390_11 = -1;
-static gint hf_011_390_11_CNTR = -1;
-static gint hf_011_390_11_POS = -1;
-static gint hf_011_390_12 = -1;
-static gint hf_011_390_12_TYP = -1;
-static gint hf_011_390_12_DAY = -1;
-static gint hf_011_390_12_HOR = -1;
-static gint hf_011_390_12_MIN = -1;
-static gint hf_011_390_12_AVS = -1;
-static gint hf_011_390_12_SEC = -1;
-static gint hf_011_390_13 = -1;
-static gint hf_011_390_13_STAND = -1;
-static gint hf_011_390_14 = -1;
-static gint hf_011_390_14_EMP = -1;
-static gint hf_011_390_14_AVL = -1;
-static gint hf_011_430 = -1;
-static gint hf_011_430_FLS = -1;
-static gint hf_011_500 = -1;
-static gint hf_011_500_01 = -1;
-static gint hf_011_500_01_APCX = -1;
-static gint hf_011_500_01_APCY = -1;
-static gint hf_011_500_02 = -1;
-static gint hf_011_500_02_APWLAT = -1;
-static gint hf_011_500_02_APWLON = -1;
-static gint hf_011_500_03 = -1;
-static gint hf_011_500_03_ATA = -1;
-static gint hf_011_500_04 = -1;
-static gint hf_011_500_04_AVCX = -1;
-static gint hf_011_500_04_AVCY = -1;
-static gint hf_011_500_05 = -1;
-static gint hf_011_500_05_ARC = -1;
-static gint hf_011_500_06 = -1;
-static gint hf_011_500_06_AACX = -1;
-static gint hf_011_500_06_AACY = -1;
-static gint hf_011_600 = -1;
-static gint hf_011_600_ACK = -1;
-static gint hf_011_600_SVR = -1;
-static gint hf_011_600_ALT = -1;
-static gint hf_011_600_ALN = -1;
-static gint hf_011_605 = -1;
-static gint hf_011_605_FTN = -1;
-static gint hf_011_610 = -1;
-static gint hf_011_610_BKN = -1;
-static gint hf_011_610_I01 = -1;
-static gint hf_011_610_I02 = -1;
-static gint hf_011_610_I03 = -1;
-static gint hf_011_610_I04 = -1;
-static gint hf_011_610_I05 = -1;
-static gint hf_011_610_I06 = -1;
-static gint hf_011_610_I07 = -1;
-static gint hf_011_610_I08 = -1;
-static gint hf_011_610_I09 = -1;
-static gint hf_011_610_I10 = -1;
-static gint hf_011_610_I11 = -1;
-static gint hf_011_610_I12 = -1;
-static gint hf_011_SP = -1;
-static gint hf_011_RE = -1;
-/* Category 019 */
-static gint hf_019_000 = -1;
-static gint hf_019_000_MT = -1;
-static gint hf_019_010 = -1;
-static gint hf_019_140 = -1;
-static gint hf_019_550 = -1;
-static gint hf_019_550_NOGO = -1;
-static gint hf_019_550_OVL = -1;
-static gint hf_019_550_TSV = -1;
-static gint hf_019_550_TTF = -1;
-static gint hf_019_551 = -1;
-static gint hf_019_551_TP1_EXEC = -1;
-static gint hf_019_551_TP1_GOOD = -1;
-static gint hf_019_551_TP2_EXEC = -1;
-static gint hf_019_551_TP2_GOOD = -1;
-static gint hf_019_551_TP3_EXEC = -1;
-static gint hf_019_551_TP3_GOOD = -1;
-static gint hf_019_551_TP4_EXEC = -1;
-static gint hf_019_551_TP4_GOOD = -1;
-static gint hf_019_552 = -1;
-static gint hf_019_552_RS_Identification = -1;
-static gint hf_019_552_Receiver_1090_MHz = -1;
-static gint hf_019_552_Transmitter_1030_MHz = -1;
-static gint hf_019_552_Transmitter_1090_MHz = -1;
-static gint hf_019_552_RS_Status = -1;
-static gint hf_019_552_RS_Operational = -1;
-static gint hf_019_553 = -1;
-static gint hf_019_553_Ref_Trans_1_Status = -1;
-static gint hf_019_553_Ref_Trans_2_Status = -1;
-static gint hf_019_553_Ref_Trans_3_Status = -1;
-static gint hf_019_553_Ref_Trans_4_Status = -1;
-static gint hf_019_553_Ref_Trans_5_Status = -1;
-static gint hf_019_553_Ref_Trans_6_Status = -1;
-static gint hf_019_553_Ref_Trans_7_Status = -1;
-static gint hf_019_553_Ref_Trans_8_Status = -1;
-static gint hf_019_553_Ref_Trans_9_Status = -1;
-static gint hf_019_553_Ref_Trans_10_Status = -1;
-static gint hf_019_553_Ref_Trans_11_Status = -1;
-static gint hf_019_553_Ref_Trans_12_Status = -1;
-static gint hf_019_553_Ref_Trans_13_Status = -1;
-static gint hf_019_553_Ref_Trans_14_Status = -1;
-static gint hf_019_553_Ref_Trans_15_Status = -1;
-static gint hf_019_553_Ref_Trans_16_Status = -1;
-static gint hf_019_553_Ref_Trans_17_Status = -1;
-static gint hf_019_553_Ref_Trans_18_Status = -1;
-static gint hf_019_553_Ref_Trans_19_Status = -1;
-static gint hf_019_553_Ref_Trans_20_Status = -1;
-static gint hf_019_600 = -1;
-static gint hf_019_600_Latitude = -1;
-static gint hf_019_600_Longitude = -1;
-static gint hf_019_610 = -1;
-static gint hf_019_610_Height = -1;
-static gint hf_019_620 = -1;
-static gint hf_019_620_Undulation = -1;
-static gint hf_019_RE = -1;
-static gint hf_019_SP = -1;
-/* Category 020 */
-static gint hf_020_010 = -1;
-static gint hf_020_020 = -1;
-static gint hf_020_020_SSR = -1;
-static gint hf_020_020_MS = -1;
-static gint hf_020_020_HF = -1;
-static gint hf_020_020_VDL4 = -1;
-static gint hf_020_020_UAT = -1;
-static gint hf_020_020_DME = -1;
-static gint hf_020_020_OT = -1;
-static gint hf_020_020_RAB = -1;
-static gint hf_020_020_SPI = -1;
-static gint hf_020_020_CHN = -1;
-static gint hf_020_020_GBS = -1;
-static gint hf_020_020_CRT = -1;
-static gint hf_020_020_SIM = -1;
-static gint hf_020_020_TST = -1;
-static gint hf_020_030 = -1;
-static gint hf_020_030_WE = -1;
-static gint hf_020_041 = -1;
-static gint hf_020_041_LAT = -1;
-static gint hf_020_041_LON = -1;
-static gint hf_020_042 = -1;
-static gint hf_020_042_X = -1;
-static gint hf_020_042_Y = -1;
-static gint hf_020_050 = -1;
-static gint hf_020_050_V = -1;
-static gint hf_020_050_G = -1;
-static gint hf_020_050_L = -1;
-static gint hf_020_050_SQUAWK = -1;
-static gint hf_020_055 = -1;
-static gint hf_020_055_V = -1;
-static gint hf_020_055_G = -1;
-static gint hf_020_055_L = -1;
-static gint hf_020_055_A = -1;
-static gint hf_020_055_B = -1;
-static gint hf_020_070 = -1;
-static gint hf_020_070_V = -1;
-static gint hf_020_070_G = -1;
-static gint hf_020_070_L = -1;
-static gint hf_020_070_SQUAWK = -1;
-static gint hf_020_090 = -1;
-static gint hf_020_090_V = -1;
-static gint hf_020_090_G = -1;
-static gint hf_020_090_FL = -1;
-static gint hf_020_100 = -1;
-static gint hf_020_100_V = -1;
-static gint hf_020_100_G = -1;
-static gint hf_020_100_C1 = -1;
-static gint hf_020_100_A1 = -1;
-static gint hf_020_100_C2 = -1;
-static gint hf_020_100_A2 = -1;
-static gint hf_020_100_C4 = -1;
-static gint hf_020_100_A4 = -1;
-static gint hf_020_100_B1 = -1;
-static gint hf_020_100_D1 = -1;
-static gint hf_020_100_B2 = -1;
-static gint hf_020_100_D2 = -1;
-static gint hf_020_100_B4 = -1;
-static gint hf_020_100_D4 = -1;
-static gint hf_020_100_QC1 = -1;
-static gint hf_020_100_QA1 = -1;
-static gint hf_020_100_QC2 = -1;
-static gint hf_020_100_QA2 = -1;
-static gint hf_020_100_QC4 = -1;
-static gint hf_020_100_QA4 = -1;
-static gint hf_020_100_QB1 = -1;
-static gint hf_020_100_QD1 = -1;
-static gint hf_020_100_QB2 = -1;
-static gint hf_020_100_QD2 = -1;
-static gint hf_020_100_QB4 = -1;
-static gint hf_020_100_QD4 = -1;
-static gint hf_020_105 = -1;
-static gint hf_020_105_GH = -1;
-static gint hf_020_110 = -1;
-static gint hf_020_110_MH = -1;
-static gint hf_020_140 = -1;
-static gint hf_020_161 = -1;
-static gint hf_020_161_TN = -1;
-static gint hf_020_170 = -1;
-static gint hf_020_170_CNF = -1;
-static gint hf_020_170_TRE = -1;
-static gint hf_020_170_CST = -1;
-static gint hf_020_170_CDM = -1;
-static gint hf_020_170_MAH = -1;
-static gint hf_020_170_STH = -1;
-static gint hf_020_170_GHO = -1;
-static gint hf_020_202 = -1;
-static gint hf_020_202_VX = -1;
-static gint hf_020_202_VY = -1;
-static gint hf_020_210 = -1;
-static gint hf_020_210_AX = -1;
-static gint hf_020_210_AY = -1;
-static gint hf_020_220 = -1;
-static gint hf_020_230 = -1;
-static gint hf_020_230_COM = -1;
-static gint hf_020_230_STAT = -1;
-static gint hf_020_230_MSSC = -1;
-static gint hf_020_230_ARC = -1;
-static gint hf_020_230_AIC = -1;
-static gint hf_020_230_B1A = -1;
-static gint hf_020_230_B1B = -1;
-static gint hf_020_245 = -1;
-static gint hf_020_245_STI = -1;
-static gint hf_020_250 = -1;
-static gint hf_020_260 = -1;
-static gint hf_020_300 = -1;
-static gint hf_020_300_VFI = -1;
-static gint hf_020_310 = -1;
-static gint hf_020_310_TRB = -1;
-static gint hf_020_310_MSG = -1;
-static gint hf_020_400 = -1;
-static gint hf_020_400_TU8RU8 = -1;
-static gint hf_020_400_TU7RU7 = -1;
-static gint hf_020_400_TU6RU6 = -1;
-static gint hf_020_400_TU5RU5 = -1;
-static gint hf_020_400_TU4RU4 = -1;
-static gint hf_020_400_TU3RU3 = -1;
-static gint hf_020_400_TU2RU2 = -1;
-static gint hf_020_400_TU1RU1 = -1;
-static gint hf_020_500 = -1;
-static gint hf_020_500_01 = -1;
-static gint hf_020_500_01_DOPx = -1;
-static gint hf_020_500_01_DOPy = -1;
-static gint hf_020_500_01_DOPxy = -1;
-static gint hf_020_500_02 = -1;
-static gint hf_020_500_02_SDPx = -1;
-static gint hf_020_500_02_SDPy = -1;
-static gint hf_020_500_02_SDPxy = -1;
-static gint hf_020_500_03 = -1;
-static gint hf_020_500_03_SDH = -1;
-static gint hf_020_RE = -1;
-static gint hf_020_RE_PA = -1;
-static gint hf_020_RE_PA_01 = -1;
-static gint hf_020_RE_PA_01_DOPx = -1;
-static gint hf_020_RE_PA_01_DOPy = -1;
-static gint hf_020_RE_PA_01_DOPxy = -1;
-static gint hf_020_RE_PA_02 = -1;
-static gint hf_020_RE_PA_02_SDCx = -1;
-static gint hf_020_RE_PA_02_SDCy = -1;
-static gint hf_020_RE_PA_02_SDCxy = -1;
-static gint hf_020_RE_PA_03 = -1;
-static gint hf_020_RE_PA_03_SDH = -1;
-static gint hf_020_RE_PA_04 = -1;
-static gint hf_020_RE_PA_04_LAT = -1;
-static gint hf_020_RE_PA_04_LON = -1;
-static gint hf_020_RE_PA_04_COV = -1;
-static gint hf_020_RE_GVV = -1;
-static gint hf_020_RE_GVV_RE = -1;
-static gint hf_020_RE_GVV_GS = -1;
-static gint hf_020_RE_GVV_TA = -1;
-static gint hf_020_RE_GVA = -1;
-static gint hf_020_RE_GVA_GSSD = -1;
-static gint hf_020_RE_GVA_TASD = -1;
-static gint hf_020_RE_TRT = -1;
-static gint hf_020_RE_DA = -1;
-static gint hf_020_RE_DA_01 = -1;
-static gint hf_020_RE_DA_01_SPI = -1;
-static gint hf_020_RE_DA_02 = -1;
-static gint hf_020_RE_DA_02_TI = -1;
-static gint hf_020_RE_DA_03 = -1;
-static gint hf_020_RE_DA_03_BDS1 = -1;
-static gint hf_020_RE_DA_03_BDS2 = -1;
-static gint hf_020_RE_DA_03_MBA = -1;
-static gint hf_020_RE_DA_04 = -1;
-static gint hf_020_RE_DA_04_M3A = -1;
-static gint hf_020_RE_DA_05 = -1;
-static gint hf_020_RE_DA_05_FL = -1;
-static gint hf_020_RE_DA_06 = -1;
-static gint hf_020_RE_DA_06_STAT = -1;
-static gint hf_020_RE_DA_07 = -1;
-static gint hf_020_RE_DA_07_GH = -1;
-static gint hf_020_RE_DA_08 = -1;
-static gint hf_020_RE_DA_08_TA = -1;
-static gint hf_020_RE_DA_09 = -1;
-static gint hf_020_RE_DA_09_MC = -1;
-static gint hf_020_RE_DA_10 = -1;
-static gint hf_020_RE_DA_10_MSSC = -1;
-static gint hf_020_RE_DA_11 = -1;
-static gint hf_020_RE_DA_11_ARC = -1;
-static gint hf_020_RE_DA_12 = -1;
-static gint hf_020_RE_DA_12_AIC = -1;
-static gint hf_020_RE_DA_13 = -1;
-static gint hf_020_RE_DA_13_M2 = -1;
-static gint hf_020_RE_DA_14 = -1;
-static gint hf_020_RE_DA_14_M1 = -1;
-static gint hf_020_RE_DA_15 = -1;
-static gint hf_020_RE_DA_15_ARA = -1;
-static gint hf_020_RE_DA_16 = -1;
-static gint hf_020_RE_DA_16_VI = -1;
-static gint hf_020_RE_DA_17 = -1;
-static gint hf_020_RE_DA_17_MSG = -1;
-static gint hf_020_SP = -1;
-/* Category 021 */
-static gint hf_021_008 = -1;
-static gint hf_021_008_RA = -1;
-static gint hf_021_008_TC = -1;
-static gint hf_021_008_TS = -1;
-static gint hf_021_008_ARV = -1;
-static gint hf_021_008_CDTIA = -1;
-static gint hf_021_008_not_TCAS = -1;
-static gint hf_021_008_SA = -1;
-static gint hf_021_010 = -1;
-static gint hf_021_015 = -1;
-static gint hf_021_015_SI = -1;
-static gint hf_021_016 = -1;
-static gint hf_021_016_RP = -1;
-static gint hf_021_020 = -1;
-static gint hf_021_020_ECAT = -1;
-static gint hf_021_020_v0_2_ECAT = -1;
-static gint hf_021_030 = -1;
-static gint hf_021_032 = -1;
-static gint hf_021_032_TODA = -1;
-static gint hf_021_040 = -1;
-static gint hf_021_040_ATP = -1;
-static gint hf_021_040_v0_2_ATP = -1;
-static gint hf_021_040_ARC = -1;
-static gint hf_021_040_v0_2_ARC = -1;
-static gint hf_021_040_RC = -1;
-static gint hf_021_040_RAB = -1;
-static gint hf_021_040_v0_2_RAB = -1;
-static gint hf_021_040_DCR = -1;
-static gint hf_021_040_GBS = -1;
-static gint hf_021_040_SIM = -1;
-static gint hf_021_040_TST = -1;
-static gint hf_021_040_SAA = -1;
-static gint hf_021_040_v0_2_SAA = -1;
-static gint hf_021_040_SPI = -1;
-static gint hf_021_040_CL = -1;
-static gint hf_021_040_LLC = -1;
-static gint hf_021_040_IPC = -1;
-static gint hf_021_040_NOGO = -1;
-static gint hf_021_040_CPR = -1;
-static gint hf_021_040_LDPJ = -1;
-static gint hf_021_040_RCF = -1;
-static gint hf_021_070 = -1;
-static gint hf_021_070_SQUAWK = -1;
-static gint hf_021_070_V = -1;
-static gint hf_021_070_G = -1;
-static gint hf_021_070_L = -1;
-static gint hf_021_071 = -1;
-static gint hf_021_072 = -1;
-static gint hf_021_073 = -1;
-static gint hf_021_074 = -1;
-static gint hf_021_074_FSI = -1;
-static gint hf_021_074_TOMRP = -1;
-static gint hf_021_075 = -1;
-static gint hf_021_076 = -1;
-static gint hf_021_077 = -1;
-static gint hf_021_076_FSI = -1;
-static gint hf_021_076_TOMRV = -1;
-static gint hf_021_080 = -1;
-static gint hf_021_090 = -1;
-static gint hf_021_090_v0_2 = -1;
-static gint hf_021_090_NUCR_NACV = -1;
-static gint hf_021_090_NUCP_NIC = -1;
-static gint hf_021_090_NIC_BARO = -1;
-static gint hf_021_090_SIL = -1;
-static gint hf_021_090_NACP = -1;
-static gint hf_021_090_SILS = -1;
-static gint hf_021_090_SDA = -1;
-static gint hf_021_090_GVA = -1;
-static gint hf_021_090_PIC = -1;
-static gint hf_021_090_AC = -1;
-static gint hf_021_090_MN = -1;
-static gint hf_021_090_DC = -1;
-static gint hf_021_090_PA = -1;
-static gint hf_021_095 = -1;
-static gint hf_021_095_VUC = -1;
-static gint hf_021_110 = -1;
-static gint hf_021_110_01 = -1;
-static gint hf_021_110_01_NAV = -1;
-static gint hf_021_110_01_NVB = -1;
-static gint hf_021_110_02 = -1;
-static gint hf_021_110_02_TCA = -1;
-static gint hf_021_110_02_NC = -1;
-static gint hf_021_110_02_TCPNo = -1;
-static gint hf_021_110_02_ALT = -1;
-static gint hf_021_110_02_LAT = -1;
-static gint hf_021_110_02_LON = -1;
-static gint hf_021_110_02_PT = -1;
-static gint hf_021_110_02_TD = -1;
-static gint hf_021_110_02_TRA = -1;
-static gint hf_021_110_02_TOA = -1;
-static gint hf_021_110_02_TOV = -1;
-static gint hf_021_110_02_TTR = -1;
-static gint hf_021_130 = -1;
-static gint hf_021_130_LAT = -1;
-static gint hf_021_130_LON = -1;
-static gint hf_021_131 = -1;
-static gint hf_021_131_v0_2 = -1;
-static gint hf_021_131_LAT = -1;
-static gint hf_021_131_LON = -1;
-static gint hf_021_131_SAM = -1;
-static gint hf_021_132 = -1;
-static gint hf_021_132_MAM = -1;
-static gint hf_021_140 = -1;
-static gint hf_021_140_v0_2 = -1;
-static gint hf_021_140_GH = -1;
-static gint hf_021_140_ALT = -1;
-static gint hf_021_145 = -1;
-static gint hf_021_145_FL = -1;
-static gint hf_021_146 = -1;
-static gint hf_021_146_v0_2 = -1;
-static gint hf_021_146_SAS = -1;
-static gint hf_021_146_Source = -1;
-static gint hf_021_146_v0_2_Source = -1;
-static gint hf_021_146_ALT = -1;
-static gint hf_021_148 = -1;
-static gint hf_021_148_MV = -1;
-static gint hf_021_148_v0_2_MV = -1;
-static gint hf_021_148_AH = -1;
-static gint hf_021_148_v0_2_AH = -1;
-static gint hf_021_148_AM = -1;
-static gint hf_021_148_v0_2_AM = -1;
-static gint hf_021_148_ALT = -1;
-static gint hf_021_150 = -1;
-static gint hf_021_150_IM = -1;
-static gint hf_021_150_ASPD = -1;
-static gint hf_021_151 = -1;
-static gint hf_021_151_RE = -1;
-static gint hf_021_151_TASPD = -1;
-static gint hf_021_152 = -1;
-static gint hf_021_152_MHDG = -1;
-static gint hf_021_155 = -1;
-static gint hf_021_155_RE = -1;
-static gint hf_021_155_BVR = -1;
-static gint hf_021_157 = -1;
-static gint hf_021_157_RE = -1;
-static gint hf_021_157_GVR = -1;
-static gint hf_021_160 = -1;
-static gint hf_021_160_v0_2 = -1;
-static gint hf_021_160_RE = -1;
-static gint hf_021_160_GSPD = -1;
-static gint hf_021_160_TA = -1;
-static gint hf_021_161 = -1;
-static gint hf_021_161_TN = -1;
-static gint hf_021_165 = -1;
-static gint hf_021_165_v0_2 = -1;
-static gint hf_021_165_TAR = -1;
-static gint hf_021_165_TI = -1;
-static gint hf_021_165_ROT = -1;
-static gint hf_021_170 = -1;
-static gint hf_021_200 = -1;
-static gint hf_021_200_ICF = -1;
-static gint hf_021_200_LNAV = -1;
-static gint hf_021_200_ME = -1;
-static gint hf_021_200_PS = -1;
-static gint hf_021_200_SS = -1;
-static gint hf_021_200_TS = -1;
-static gint hf_021_210 = -1;
-static gint hf_021_210_v0_2 = -1;
-static gint hf_021_210_VNS = -1;
-static gint hf_021_210_VN = -1;
-static gint hf_021_210_LTT = -1;
-static gint hf_021_210_DTI = -1;
-static gint hf_021_210_MDS = -1;
-static gint hf_021_210_UAT = -1;
-static gint hf_021_210_VDL = -1;
-static gint hf_021_210_OTR = -1;
-static gint hf_021_220 = -1;
-static gint hf_021_220_01 = -1;
-static gint hf_021_220_01_WSPD = -1;
-static gint hf_021_220_02 = -1;
-static gint hf_021_220_02_WDIR = -1;
-static gint hf_021_220_03 = -1;
-static gint hf_021_220_03_TEMP = -1;
-static gint hf_021_220_04 = -1;
-static gint hf_021_220_04_TURB = -1;
-static gint hf_021_230 = -1;
-static gint hf_021_230_RA = -1;
-static gint hf_021_250 = -1;
-static gint hf_021_260 = -1;
-static gint hf_021_260_TYP = -1;
-static gint hf_021_260_STYP = -1;
-static gint hf_021_260_ARA = -1;
-static gint hf_021_260_RAC = -1;
-static gint hf_021_260_RAT = -1;
-static gint hf_021_260_MTE = -1;
-static gint hf_021_260_TTI = -1;
-static gint hf_021_260_TID = -1;
-static gint hf_021_271 = -1;
-static gint hf_021_271_POA = -1;
-static gint hf_021_271_CDTIS = -1;
-static gint hf_021_271_B2low = -1;
-static gint hf_021_271_RAS = -1;
-static gint hf_021_271_IDENT = -1;
-static gint hf_021_271_LW = -1;
-static gint hf_021_271_LW_v2_1 = -1;
-static gint hf_021_295 = -1;
-static gint hf_021_295_01 = -1;
-static gint hf_021_295_01_AOS = -1;
-static gint hf_021_295_02 = -1;
-static gint hf_021_295_02_TRD = -1;
-static gint hf_021_295_03 = -1;
-static gint hf_021_295_03_M3A = -1;
-static gint hf_021_295_04 = -1;
-static gint hf_021_295_04_QI = -1;
-static gint hf_021_295_05 = -1;
-static gint hf_021_295_05_TI = -1;
-static gint hf_021_295_06 = -1;
-static gint hf_021_295_06_MAM = -1;
-static gint hf_021_295_07 = -1;
-static gint hf_021_295_07_GH = -1;
-static gint hf_021_295_08 = -1;
-static gint hf_021_295_08_FL = -1;
-static gint hf_021_295_09 = -1;
-static gint hf_021_295_09_ISA = -1;
-static gint hf_021_295_10 = -1;
-static gint hf_021_295_10_FSA = -1;
-static gint hf_021_295_11 = -1;
-static gint hf_021_295_11_AS = -1;
-static gint hf_021_295_12 = -1;
-static gint hf_021_295_12_TAS = -1;
-static gint hf_021_295_13 = -1;
-static gint hf_021_295_13_MH = -1;
-static gint hf_021_295_14 = -1;
-static gint hf_021_295_14_BVR = -1;
-static gint hf_021_295_15 = -1;
-static gint hf_021_295_15_GVR = -1;
-static gint hf_021_295_16 = -1;
-static gint hf_021_295_16_GV = -1;
-static gint hf_021_295_17 = -1;
-static gint hf_021_295_17_TAR = -1;
-static gint hf_021_295_18 = -1;
-static gint hf_021_295_18_TI = -1;
-static gint hf_021_295_19 = -1;
-static gint hf_021_295_19_TS = -1;
-static gint hf_021_295_20 = -1;
-static gint hf_021_295_20_MET = -1;
-static gint hf_021_295_21 = -1;
-static gint hf_021_295_21_ROA = -1;
-static gint hf_021_295_22 = -1;
-static gint hf_021_295_22_ARA = -1;
-static gint hf_021_295_23 = -1;
-static gint hf_021_295_23_SCC = -1;
-static gint hf_021_400 = -1;
-static gint hf_021_400_RID = -1;
-static gint hf_021_RE = -1;
-static gint hf_021_RE_BPS = -1;
-static gint hf_021_RE_BPS_BPS = -1;
-static gint hf_021_RE_SelH = -1;
-static gint hf_021_RE_SelH_HRD = -1;
-static gint hf_021_RE_SelH_Stat = -1;
-static gint hf_021_RE_SelH_SelH = -1;
-static gint hf_021_RE_NAV = -1;
-static gint hf_021_RE_NAV_AP = -1;
-static gint hf_021_RE_NAV_VN = -1;
-static gint hf_021_RE_NAV_AH = -1;
-static gint hf_021_RE_NAV_AM = -1;
-static gint hf_021_RE_GAO = -1;
-static gint hf_021_RE_GAO_GAO = -1;
-static gint hf_021_RE_SGV = -1;
-static gint hf_021_RE_SGV_STP = -1;
-static gint hf_021_RE_SGV_HTS = -1;
-static gint hf_021_RE_SGV_HTT = -1;
-static gint hf_021_RE_SGV_HRD = -1;
-static gint hf_021_RE_SGV_GSS = -1;
-static gint hf_021_RE_SGV_HGT = -1;
-static gint hf_021_RE_STA = -1;
-static gint hf_021_RE_STA_ES = -1;
-static gint hf_021_RE_STA_UAT = -1;
-static gint hf_021_RE_TNH = -1;
-static gint hf_021_RE_TNH_TNH = -1;
-static gint hf_021_RE_MES = -1;
-static gint hf_021_RE_MES_01 = -1;
-static gint hf_021_RE_MES_01_M5 = -1;
-static gint hf_021_RE_MES_01_ID = -1;
-static gint hf_021_RE_MES_01_DA = -1;
-static gint hf_021_RE_MES_01_M1 = -1;
-static gint hf_021_RE_MES_01_M2 = -1;
-static gint hf_021_RE_MES_01_M3 = -1;
-static gint hf_021_RE_MES_01_MC = -1;
-static gint hf_021_RE_MES_01_PO = -1;
-static gint hf_021_RE_MES_02 = -1;
-static gint hf_021_RE_MES_02_PIN = -1;
-static gint hf_021_RE_MES_02_NO = -1;
-static gint hf_021_RE_MES_03 = -1;
-static gint hf_021_RE_MES_03_V = -1;
-static gint hf_021_RE_MES_03_L = -1;
-static gint hf_021_RE_MES_03_SQUAWK = -1;
-static gint hf_021_RE_MES_04 = -1;
-static gint hf_021_RE_MES_04_XP = -1;
-static gint hf_021_RE_MES_04_X5 = -1;
-static gint hf_021_RE_MES_04_XC = -1;
-static gint hf_021_RE_MES_04_X3 = -1;
-static gint hf_021_RE_MES_04_X2 = -1;
-static gint hf_021_RE_MES_04_X1 = -1;
-static gint hf_021_RE_MES_05 = -1;
-static gint hf_021_RE_MES_05_FOM = -1;
-static gint hf_021_RE_MES_06 = -1;
-static gint hf_021_RE_MES_06_V = -1;
-static gint hf_021_RE_MES_06_L = -1;
-static gint hf_021_RE_MES_06_SQUAWK = -1;
-static gint hf_021_SP = -1;
-/* Category 023 */
-static gint hf_023_000 = -1;
-static gint hf_023_000_RT = -1;
-static gint hf_023_010 = -1;
-static gint hf_023_015 = -1;
-static gint hf_023_015_SID = -1;
-static gint hf_023_015_STYPE = -1;
-static gint hf_023_070 = -1;
-static gint hf_023_100 = -1;
-static gint hf_023_100_NOGO = -1;
-static gint hf_023_100_ODP = -1;
-static gint hf_023_100_OXT = -1;
-static gint hf_023_100_MSC = -1;
-static gint hf_023_100_TSV = -1;
-static gint hf_023_100_SPO = -1;
-static gint hf_023_100_RN = -1;
-static gint hf_023_100_GSSP = -1;
-static gint hf_023_101 = -1;
-static gint hf_023_101_RP = -1;
-static gint hf_023_101_SC = -1;
-static gint hf_023_101_SSRP = -1;
-static gint hf_023_110 = -1;
-static gint hf_023_110_STAT = -1;
-static gint hf_023_120 = -1;
-static gint hf_023_120_TYPE = -1;
-static gint hf_023_120_REF = -1;
-static gint hf_023_120_COUNTER = -1;
-static gint hf_023_200 = -1;
-static gint hf_023_200_RANGE = -1;
-static gint hf_023_RE = -1;
-static gint hf_023_SP = -1;
-/* Category 025 */
-static gint hf_025_000 = -1;
-static gint hf_025_000_RT = -1;
-static gint hf_025_000_RG = -1;
-static gint hf_025_010 = -1;
-static gint hf_025_015 = -1;
-static gint hf_025_015_SID = -1;
-static gint hf_025_020 = -1;
-static gint hf_025_020_SD = -1;
-static gint hf_025_070 = -1;
-static gint hf_025_100 = -1;
-static gint hf_025_100_NOGO = -1;
-static gint hf_025_100_OPS = -1;
-static gint hf_025_100_SSTAT = -1;
-static gint hf_025_105 = -1;
-static gint hf_025_105_ERR = -1;
-static gint hf_025_120 = -1;
-static gint hf_025_120_CID = -1;
-static gint hf_025_120_EC = -1;
-static gint hf_025_120_CS = -1;
-static gint hf_025_140 = -1;
-static gint hf_025_140_TYPE = -1;
-static gint hf_025_140_REF = -1;
-static gint hf_025_140_COUNTER = -1;
-static gint hf_025_200 = -1;
-static gint hf_025_200_MID = -1;
-static gint hf_025_SP = -1;
-/* Category 032 */
-static gint hf_032_010 = -1;
-static gint hf_032_015 = -1;
-static gint hf_032_015_UN = -1;
-static gint hf_032_018 = -1;
-static gint hf_032_020 = -1;
-static gint hf_032_035 = -1;
-static gint hf_032_035_FAM = -1;
-static gint hf_032_035_NAT = -1;
-static gint hf_032_040 = -1;
-static gint hf_032_040_TRK = -1;
-static gint hf_032_050 = -1;
-static gint hf_032_050_SUI = -1;
-static gint hf_032_050_STN = -1;
-static gint hf_032_060 = -1;
-static gint hf_032_060_M3 = -1;
-static gint hf_032_400 = -1;
-static gint hf_032_400_CALL = -1;
-static gint hf_032_410 = -1;
-static gint hf_032_410_PLN = -1;
-static gint hf_032_420 = -1;
-static gint hf_032_420_GAT = -1;
-static gint hf_032_420_FR = -1;
-static gint hf_032_420_SP = -1;
-static gint hf_032_430 = -1;
-static gint hf_032_430_TYP = -1;
-static gint hf_032_435 = -1;
-static gint hf_032_435_TUR = -1;
-static gint hf_032_440 = -1;
-static gint hf_032_440_DEP = -1;
-static gint hf_032_450 = -1;
-static gint hf_032_450_DEST = -1;
-static gint hf_032_460 = -1;
-static gint hf_032_460_SSR = -1;
-static gint hf_032_480 = -1;
-static gint hf_032_480_CFL = -1;
-static gint hf_032_490 = -1;
-static gint hf_032_490_CEN = -1;
-static gint hf_032_490_POS = -1;
-static gint hf_032_500 = -1;
-static gint hf_032_500_01 = -1;
-static gint hf_032_500_IFI_TYP = -1;
-static gint hf_032_500_IFI_NBR = -1;
-static gint hf_032_500_02 = -1;
-static gint hf_032_500_RVSM_RVSM = -1;
-static gint hf_032_500_RVSM_HPR = -1;
-static gint hf_032_500_03 = -1;
-static gint hf_032_500_RUNWAY_NU1 = -1;
-static gint hf_032_500_RUNWAY_NU2 = -1;
-static gint hf_032_500_RUNWAY_LTR = -1;
-static gint hf_032_500_04 = -1;
-static gint hf_032_500_TIME_TYP = -1;
-static gint hf_032_500_TIME_DAY = -1;
-static gint hf_032_500_TIME_HOR = -1;
-static gint hf_032_500_TIME_MIN = -1;
-static gint hf_032_500_TIME_AVS = -1;
-static gint hf_032_500_TIME_SEC = -1;
-static gint hf_032_500_05 = -1;
-static gint hf_032_500_AIR_STD = -1;
-static gint hf_032_500_06 = -1;
-static gint hf_032_500_STS_EMP = -1;
-static gint hf_032_500_STS_AVL = -1;
-static gint hf_032_500_07 = -1;
-static gint hf_032_500_SID = -1;
-static gint hf_032_500_08 = -1;
-static gint hf_032_500_SIA = -1;
-static gint hf_032_RE = -1;
-/* Category 034 */
-static gint hf_034_000 = -1;
-static gint hf_034_000_MT = -1;
-static gint hf_034_010 = -1;
-static gint hf_034_020 = -1;
-static gint hf_034_020_SN = -1;
-static gint hf_034_030 = -1;
-static gint hf_034_041 = -1;
-static gint hf_034_041_ARS = -1;
-static gint hf_034_050 = -1;
-static gint hf_034_050_01 = -1;
-static gint hf_034_050_01_NOGO = -1;
-static gint hf_034_050_01_RDPC = -1;
-static gint hf_034_050_01_RDPR = -1;
-static gint hf_034_050_01_OVL_RDP = -1;
-static gint hf_034_050_01_OVL_XMT = -1;
-static gint hf_034_050_01_MSC = -1;
-static gint hf_034_050_01_TSV = -1;
-static gint hf_034_050_02 = -1;
-static gint hf_034_050_02_ANT = -1;
-static gint hf_034_050_02_CHAB = -1;
-static gint hf_034_050_02_OVL = -1;
-static gint hf_034_050_02_MSC = -1;
-static gint hf_034_050_03 = -1;
-static gint hf_034_050_03_ANT = -1;
-static gint hf_034_050_03_CHAB = -1;
-static gint hf_034_050_03_OVL = -1;
-static gint hf_034_050_03_MSC = -1;
-static gint hf_034_050_04 = -1;
-static gint hf_034_050_04_ANT = -1;
-static gint hf_034_050_04_CHAB = -1;
-static gint hf_034_050_04_OVL_SUR = -1;
-static gint hf_034_050_04_MSC = -1;
-static gint hf_034_050_04_SCF = -1;
-static gint hf_034_050_04_DLF = -1;
-static gint hf_034_050_04_OVL_SCF = -1;
-static gint hf_034_050_04_OVL_DLF = -1;
-static gint hf_034_060 = -1;
-static gint hf_034_060_01 = -1;
-static gint hf_034_060_01_RED_RDP = -1;
-static gint hf_034_060_01_RED_XMT = -1;
-static gint hf_034_060_02 = -1;
-static gint hf_034_060_02_POL = -1;
-static gint hf_034_060_02_RED_RAD = -1;
-static gint hf_034_060_02_STC = -1;
-static gint hf_034_060_03 = -1;
-static gint hf_034_060_03_RED_RAD = -1;
-static gint hf_034_060_04 = -1;
-static gint hf_034_060_04_RED_RAD = -1;
-static gint hf_034_060_04_CLU = -1;
-static gint hf_034_070 = -1;
-static gint hf_034_070_TYP = -1;
-static gint hf_034_070_COUNTER = -1;
-static gint hf_034_090 = -1;
-static gint hf_034_090_RE = -1;
-static gint hf_034_090_AE = -1;
-static gint hf_034_100 = -1;
-static gint hf_034_100_RHOS = -1;
-static gint hf_034_100_RHOE = -1;
-static gint hf_034_100_THETAS = -1;
-static gint hf_034_100_THETAE = -1;
-static gint hf_034_110 = -1;
-static gint hf_034_110_TYP = -1;
-static gint hf_034_120 = -1;
-static gint hf_034_120_H = -1;
-static gint hf_034_120_LAT = -1;
-static gint hf_034_120_LON = -1;
-static gint hf_034_RE = -1;
-static gint hf_034_SP = -1;
-/* Category 048 */
-static gint hf_048_010 = -1;
-static gint hf_048_020 = -1;
-static gint hf_048_020_TYP = -1;
-static gint hf_048_020_SIM = -1;
-static gint hf_048_020_RDP = -1;
-static gint hf_048_020_SPI = -1;
-static gint hf_048_020_RAB = -1;
-static gint hf_048_020_TST = -1;
-static gint hf_048_020_ERR = -1;
-static gint hf_048_020_XPP = -1;
-static gint hf_048_020_ME = -1;
-static gint hf_048_020_MI = -1;
-static gint hf_048_020_FOE = -1;
-static gint hf_048_030 = -1;
-static gint hf_048_030_WE = -1;
-static gint hf_048_030_1_WE = -1;
-static gint hf_048_030_2_WE = -1;
-static gint hf_048_030_3_WE = -1;
-static gint hf_048_030_4_WE = -1;
-static gint hf_048_030_5_WE = -1;
-static gint hf_048_030_6_WE = -1;
-static gint hf_048_030_7_WE = -1;
-static gint hf_048_030_8_WE = -1;
-static gint hf_048_030_9_WE = -1;
-static gint hf_048_040 = -1;
-static gint hf_048_040_RHO = -1;
-static gint hf_048_040_THETA = -1;
-static gint hf_048_042 = -1;
-static gint hf_048_042_X = -1;
-static gint hf_048_042_Y = -1;
-static gint hf_048_050 = -1;
-static gint hf_048_050_V = -1;
-static gint hf_048_050_G = -1;
-static gint hf_048_050_L = -1;
-static gint hf_048_050_SQUAWK = -1;
-static gint hf_048_055 = -1;
-static gint hf_048_055_V = -1;
-static gint hf_048_055_G = -1;
-static gint hf_048_055_L = -1;
-static gint hf_048_055_CODE = -1;
-static gint hf_048_060 = -1;
-static gint hf_048_060_QA4 = -1;
-static gint hf_048_060_QA2 = -1;
-static gint hf_048_060_QA1 = -1;
-static gint hf_048_060_QB4 = -1;
-static gint hf_048_060_QB2 = -1;
-static gint hf_048_060_QB1 = -1;
-static gint hf_048_060_QC4 = -1;
-static gint hf_048_060_QC2 = -1;
-static gint hf_048_060_QC1 = -1;
-static gint hf_048_060_QD4 = -1;
-static gint hf_048_060_QD2 = -1;
-static gint hf_048_060_QD1 = -1;
-static gint hf_048_065 = -1;
-static gint hf_048_065_QA4 = -1;
-static gint hf_048_065_QA2 = -1;
-static gint hf_048_065_QA1 = -1;
-static gint hf_048_065_QB2 = -1;
-static gint hf_048_065_QB1 = -1;
-static gint hf_048_070 = -1;
-static gint hf_048_070_V = -1;
-static gint hf_048_070_G = -1;
-static gint hf_048_070_L = -1;
-static gint hf_048_070_SQUAWK = -1;
-static gint hf_048_080 = -1;
-static gint hf_048_080_QA4 = -1;
-static gint hf_048_080_QA2 = -1;
-static gint hf_048_080_QA1 = -1;
-static gint hf_048_080_QB4 = -1;
-static gint hf_048_080_QB2 = -1;
-static gint hf_048_080_QB1 = -1;
-static gint hf_048_080_QC4 = -1;
-static gint hf_048_080_QC2 = -1;
-static gint hf_048_080_QC1 = -1;
-static gint hf_048_080_QD4 = -1;
-static gint hf_048_080_QD2 = -1;
-static gint hf_048_080_QD1 = -1;
-static gint hf_048_090 = -1;
-static gint hf_048_090_V = -1;
-static gint hf_048_090_G = -1;
-static gint hf_048_090_FL = -1;
-static gint hf_048_100 = -1;
-static gint hf_048_100_V = -1;
-static gint hf_048_100_G = -1;
-static gint hf_048_100_A4 = -1;
-static gint hf_048_100_A2 = -1;
-static gint hf_048_100_A1 = -1;
-static gint hf_048_100_B4 = -1;
-static gint hf_048_100_B2 = -1;
-static gint hf_048_100_B1 = -1;
-static gint hf_048_100_C4 = -1;
-static gint hf_048_100_C2 = -1;
-static gint hf_048_100_C1 = -1;
-static gint hf_048_100_D4 = -1;
-static gint hf_048_100_D2 = -1;
-static gint hf_048_100_D1 = -1;
-static gint hf_048_100_QA4 = -1;
-static gint hf_048_100_QA2 = -1;
-static gint hf_048_100_QA1 = -1;
-static gint hf_048_100_QB4 = -1;
-static gint hf_048_100_QB2 = -1;
-static gint hf_048_100_QB1 = -1;
-static gint hf_048_100_QC4 = -1;
-static gint hf_048_100_QC2 = -1;
-static gint hf_048_100_QC1 = -1;
-static gint hf_048_100_QD4 = -1;
-static gint hf_048_100_QD2 = -1;
-static gint hf_048_100_QD1 = -1;
-static gint hf_048_110 = -1;
-static gint hf_048_110_3DHEIGHT = -1;
-static gint hf_048_120 = -1;
-static gint hf_048_120_01 = -1;
-static gint hf_048_120_01_D = -1;
-static gint hf_048_120_01_CAL = -1;
-static gint hf_048_120_02 = -1;
-static gint hf_048_120_02_DOP = -1;
-static gint hf_048_120_02_AMB = -1;
-static gint hf_048_120_02_FRQ = -1;
-static gint hf_048_130 = -1;
-static gint hf_048_130_01 = -1;
-static gint hf_048_130_01_SRL = -1;
-static gint hf_048_130_02 = -1;
-static gint hf_048_130_02_SRR = -1;
-static gint hf_048_130_03 = -1;
-static gint hf_048_130_03_SAM = -1;
-static gint hf_048_130_04 = -1;
-static gint hf_048_130_04_PRL = -1;
-static gint hf_048_130_05 = -1;
-static gint hf_048_130_05_PAM = -1;
-static gint hf_048_130_06 = -1;
-static gint hf_048_130_06_RPD = -1;
-static gint hf_048_130_07 = -1;
-static gint hf_048_130_07_APD = -1;
-static gint hf_048_140 = -1;
-static gint hf_048_161 = -1;
-static gint hf_048_161_TN = -1;
-static gint hf_048_170 = -1;
-static gint hf_048_170_CNF = -1;
-static gint hf_048_170_RAD = -1;
-static gint hf_048_170_DOU = -1;
-static gint hf_048_170_MAH = -1;
-static gint hf_048_170_CDM = -1;
-static gint hf_048_170_CDM_v1_21 = -1;
-static gint hf_048_170_TRE = -1;
-static gint hf_048_170_GHO = -1;
-static gint hf_048_170_SUP = -1;
-static gint hf_048_170_TCC = -1;
-static gint hf_048_200 = -1;
-static gint hf_048_200_GS = -1;
-static gint hf_048_200_HDG = -1;
-static gint hf_048_210 = -1;
-static gint hf_048_210_X = -1;
-static gint hf_048_210_Y = -1;
-static gint hf_048_210_V = -1;
-static gint hf_048_210_H = -1;
-static gint hf_048_220 = -1;
-static gint hf_048_230 = -1;
-static gint hf_048_230_COM = -1;
-static gint hf_048_230_STAT = -1;
-static gint hf_048_230_SI = -1;
-static gint hf_048_230_MSSC = -1;
-static gint hf_048_230_ARC = -1;
-static gint hf_048_230_AIC = -1;
-static gint hf_048_230_B1A = -1;
-static gint hf_048_230_B1B = -1;
-static gint hf_048_240 = -1;
-static gint hf_048_250 = -1;
-static gint hf_048_260 = -1;
-static gint hf_048_260_ACAS = -1;
-static gint hf_048_RE = -1;
-static gint hf_048_RE_MD5 = -1;
-static gint hf_048_RE_MD5_01 = -1;
-static gint hf_048_RE_MD5_01_M5 = -1;
-static gint hf_048_RE_MD5_01_ID = -1;
-static gint hf_048_RE_MD5_01_DA = -1;
-static gint hf_048_RE_MD5_01_M1 = -1;
-static gint hf_048_RE_MD5_01_M2 = -1;
-static gint hf_048_RE_MD5_01_M3 = -1;
-static gint hf_048_RE_MD5_01_MC = -1;
-static gint hf_048_RE_MD5_02 = -1;
-static gint hf_048_RE_MD5_02_PIN = -1;
-static gint hf_048_RE_MD5_02_NAV = -1;
-static gint hf_048_RE_MD5_02_NAT = -1;
-static gint hf_048_RE_MD5_02_MIS = -1;
-static gint hf_048_RE_MD5_03 = -1;
-static gint hf_048_RE_MD5_03_LAT = -1;
-static gint hf_048_RE_MD5_03_LON = -1;
-static gint hf_048_RE_MD5_04 = -1;
-static gint hf_048_RE_MD5_04_RES = -1;
-static gint hf_048_RE_MD5_04_GA = -1;
-static gint hf_048_RE_MD5_05 = -1;
-static gint hf_048_RE_MD5_05_V = -1;
-static gint hf_048_RE_MD5_05_G = -1;
-static gint hf_048_RE_MD5_05_L = -1;
-static gint hf_048_RE_MD5_05_SQUAWK = -1;
-static gint hf_048_RE_MD5_06 = -1;
-static gint hf_048_RE_MD5_06_TOS = -1;
-static gint hf_048_RE_MD5_07 = -1;
-static gint hf_048_RE_MD5_07_XP = -1;
-static gint hf_048_RE_MD5_07_X5 = -1;
-static gint hf_048_RE_MD5_07_XC = -1;
-static gint hf_048_RE_MD5_07_X3 = -1;
-static gint hf_048_RE_MD5_07_X2 = -1;
-static gint hf_048_RE_MD5_07_X1 = -1;
-static gint hf_048_RE_M5N = -1;
-static gint hf_048_RE_M5N_01 = -1;
-static gint hf_048_RE_M5N_01_M5 = -1;
-static gint hf_048_RE_M5N_01_ID = -1;
-static gint hf_048_RE_M5N_01_DA = -1;
-static gint hf_048_RE_M5N_01_M1 = -1;
-static gint hf_048_RE_M5N_01_M2 = -1;
-static gint hf_048_RE_M5N_01_M3 = -1;
-static gint hf_048_RE_M5N_01_MC = -1;
-static gint hf_048_RE_M5N_02 = -1;
-static gint hf_048_RE_M5N_02_PIN = -1;
-static gint hf_048_RE_M5N_02_NOV = -1;
-static gint hf_048_RE_M5N_02_NO = -1;
-static gint hf_048_RE_M5N_03 = -1;
-static gint hf_048_RE_M5N_03_LAT = -1;
-static gint hf_048_RE_M5N_03_LON = -1;
-static gint hf_048_RE_M5N_04 = -1;
-static gint hf_048_RE_M5N_04_RES = -1;
-static gint hf_048_RE_M5N_04_GA = -1;
-static gint hf_048_RE_M5N_05 = -1;
-static gint hf_048_RE_M5N_05_V = -1;
-static gint hf_048_RE_M5N_05_G = -1;
-static gint hf_048_RE_M5N_05_L = -1;
-static gint hf_048_RE_M5N_05_SQUAWK = -1;
-static gint hf_048_RE_M5N_06 = -1;
-static gint hf_048_RE_M5N_06_TOS = -1;
-static gint hf_048_RE_M5N_07 = -1;
-static gint hf_048_RE_M5N_07_XP = -1;
-static gint hf_048_RE_M5N_07_X5 = -1;
-static gint hf_048_RE_M5N_07_XC = -1;
-static gint hf_048_RE_M5N_07_X3 = -1;
-static gint hf_048_RE_M5N_07_X2 = -1;
-static gint hf_048_RE_M5N_07_X1 = -1;
-static gint hf_048_RE_M5N_08 = -1;
-static gint hf_048_RE_M5N_08_FOM = -1;
-static gint hf_048_RE_M4E = -1;
-static gint hf_048_RE_M4E_FOE_FRI = -1;
-static gint hf_048_RE_RPC = -1;
-static gint hf_048_RE_RPC_01 = -1;
-static gint hf_048_RE_RPC_01_SCO = -1;
-static gint hf_048_RE_RPC_02 = -1;
-static gint hf_048_RE_RPC_02_SCR = -1;
-static gint hf_048_RE_RPC_03 = -1;
-static gint hf_048_RE_RPC_03_RW = -1;
-static gint hf_048_RE_RPC_04 = -1;
-static gint hf_048_RE_RPC_04_AR = -1;
-static gint hf_048_RE_ERR = -1;
-static gint hf_048_RE_ERR_RHO = -1;
-static gint hf_048_SP = -1;
-/* Category 062*/
-static gint hf_062_010 = -1;
-static gint hf_062_015 = -1;
-static gint hf_062_015_SI = -1;
-static gint hf_062_040 = -1;
-static gint hf_062_060 = -1;
-static gint hf_062_060_V = -1;
-static gint hf_062_060_G = -1;
-static gint hf_062_060_CH = -1;
-static gint hf_062_060_SQUAWK = -1;
-static gint hf_062_070 = -1;
-static gint hf_062_080 = -1;
-static gint hf_062_080_MON = -1;
-static gint hf_062_080_SPI = -1;
-static gint hf_062_080_MRH = -1;
-static gint hf_062_080_SRC = -1;
-static gint hf_062_080_CNF = -1;
-static gint hf_062_080_SIM = -1;
-static gint hf_062_080_TSE = -1;
-static gint hf_062_080_TSB = -1;
-static gint hf_062_080_FPC = -1;
-static gint hf_062_080_AFF = -1;
-static gint hf_062_080_STP = -1;
-static gint hf_062_080_KOS = -1;
-static gint hf_062_080_AMA = -1;
-static gint hf_062_080_MD4 = -1;
-static gint hf_062_080_ME = -1;
-static gint hf_062_080_MI = -1;
-static gint hf_062_080_MD5 = -1;
-static gint hf_062_080_CST = -1;
-static gint hf_062_080_PSR = -1;
-static gint hf_062_080_SSR = -1;
-static gint hf_062_080_MDS = -1;
-static gint hf_062_080_ADS = -1;
-static gint hf_062_080_SUC = -1;
-static gint hf_062_080_AAC = -1;
-static gint hf_062_080_SDS = -1;
-static gint hf_062_080_EMS = -1;
-static gint hf_062_080_PFT = -1;
-static gint hf_062_080_FPLT = -1;
-static gint hf_062_080_DUPT = -1;
-static gint hf_062_080_DUPF = -1;
-static gint hf_062_080_DUPM = -1;
-static gint hf_062_080_SFC = -1;
-static gint hf_062_080_IDD = -1;
-static gint hf_062_080_IEC = -1;
-static gint hf_062_080_FRIFOE = -1;
-static gint hf_062_080_COA = -1;
-static gint hf_062_100 = -1;
-static gint hf_062_100_X = -1;
-static gint hf_062_100_Y = -1;
-static gint hf_062_100_X_v0_17 = -1;
-static gint hf_062_100_Y_v0_17 = -1;
-static gint hf_062_105 = -1;
-static gint hf_062_105_LAT = -1;
-static gint hf_062_105_LON = -1;
-static gint hf_062_110 = -1;
-static gint hf_062_110_01 = -1;
-static gint hf_062_110_01_M5 = -1;
-static gint hf_062_110_01_ID = -1;
-static gint hf_062_110_01_DA = -1;
-static gint hf_062_110_01_M1 = -1;
-static gint hf_062_110_01_M2 = -1;
-static gint hf_062_110_01_M3 = -1;
-static gint hf_062_110_01_MC = -1;
-static gint hf_062_110_01_X = -1;
-static gint hf_062_110_02 = -1;
-static gint hf_062_110_02_PIN = -1;
-static gint hf_062_110_02_NAT = -1;
-static gint hf_062_110_02_MIS = -1;
-static gint hf_062_110_03 = -1;
-static gint hf_062_110_03_LAT = -1;
-static gint hf_062_110_03_LON = -1;
-static gint hf_062_110_04 = -1;
-static gint hf_062_110_04_RES = -1;
-static gint hf_062_110_04_GA = -1;
-static gint hf_062_110_05 = -1;
-static gint hf_062_110_05_SQUAWK = -1;
-static gint hf_062_110_06 = -1;
-static gint hf_062_110_06_TOS = -1;
-static gint hf_062_110_07 = -1;
-static gint hf_062_110_07_X5 = -1;
-static gint hf_062_110_07_XC = -1;
-static gint hf_062_110_07_X3 = -1;
-static gint hf_062_110_07_X2 = -1;
-static gint hf_062_110_07_X1 = -1;
-/* v.0.17 */
-static gint hf_062_110_v0_17 = -1;
-static gint hf_062_110_A4 = -1;
-static gint hf_062_110_A2 = -1;
-static gint hf_062_110_A1 = -1;
-static gint hf_062_110_B2 = -1;
-static gint hf_062_110_B1 = -1;
-static gint hf_062_120 = -1;
-static gint hf_062_120_SQUAWK = -1;
-static gint hf_062_130 = -1;
-static gint hf_062_130_ALT = -1;
-static gint hf_062_135 = -1;
-static gint hf_062_135_QNH = -1;
-static gint hf_062_135_ALT = -1;
-static gint hf_062_136 = -1;
-static gint hf_062_136_MFL = -1;
-static gint hf_062_180 = -1;
-static gint hf_062_180_SPEED = -1;
-static gint hf_062_180_HEADING = -1;
-static gint hf_062_185 = -1;
-static gint hf_062_185_VX = -1;
-static gint hf_062_185_VY = -1;
-static gint hf_062_200 = -1;
-static gint hf_062_200_TRANS = -1;
-static gint hf_062_200_LONG = -1;
-static gint hf_062_200_VERT = -1;
-static gint hf_062_200_ADF = -1;
-static gint hf_062_210 = -1;
-static gint hf_062_210_AX = -1;
-static gint hf_062_210_AY = -1;
-static gint hf_062_210_v0_17 = -1;
-static gint hf_062_210_CLA = -1;
-static gint hf_062_220 = -1;
-static gint hf_062_220_ROCD = -1;
-static gint hf_062_240 = -1;
-static gint hf_062_240_ROT = -1;
-static gint hf_062_245 = -1;
-static gint hf_062_245_STI = -1;
-static gint hf_062_270 = -1;
-static gint hf_062_270_LENGTH = -1;
-static gint hf_062_270_ORIENTATION = -1;
-static gint hf_062_270_WIDTH = -1;
-static gint hf_062_290 = -1;
-static gint hf_062_290_01 = -1;
-static gint hf_062_290_01_TRK = -1;
-static gint hf_062_290_02 = -1;
-static gint hf_062_290_02_PSR = -1;
-static gint hf_062_290_03 = -1;
-static gint hf_062_290_03_SSR = -1;
-static gint hf_062_290_04 = -1;
-static gint hf_062_290_04_MDS = -1;
-static gint hf_062_290_05 = -1;
-static gint hf_062_290_05_ADS = -1;
-static gint hf_062_290_06 = -1;
-static gint hf_062_290_06_ES = -1;
-static gint hf_062_290_07 = -1;
-static gint hf_062_290_07_VDL = -1;
-static gint hf_062_290_08 = -1;
-static gint hf_062_290_08_UAT = -1;
-static gint hf_062_290_09 = -1;
-static gint hf_062_290_09_LOP = -1;
-static gint hf_062_290_10 = -1;
-static gint hf_062_290_10_MLT = -1;
-/* v.0.17 */
-static gint hf_062_290_01_v0_17 = -1;
-static gint hf_062_290_01_PSR = -1;
-static gint hf_062_290_02_v0_17 = -1;
-static gint hf_062_290_02_SSR = -1;
-static gint hf_062_290_03_v0_17 = -1;
-static gint hf_062_290_03_MDA = -1;
-static gint hf_062_290_04_v0_17 = -1;
-static gint hf_062_290_04_MFL = -1;
-static gint hf_062_290_05_v0_17 = -1;
-static gint hf_062_290_05_MDS = -1;
-static gint hf_062_290_06_v0_17 = -1;
-static gint hf_062_290_06_ADS = -1;
-static gint hf_062_290_07_v0_17 = -1;
-static gint hf_062_290_07_ADB = -1;
-static gint hf_062_290_08_v0_17 = -1;
-static gint hf_062_290_08_MD1 = -1;
-static gint hf_062_290_09_v0_17 = -1;
-static gint hf_062_290_09_MD2 = -1;
-static gint hf_062_295 = -1;
-static gint hf_062_295_01 = -1;
-static gint hf_062_295_01_MFL = -1;
-static gint hf_062_295_02 = -1;
-static gint hf_062_295_02_MD1 = -1;
-static gint hf_062_295_03 = -1;
-static gint hf_062_295_03_MD2 = -1;
-static gint hf_062_295_04 = -1;
-static gint hf_062_295_04_MDA = -1;
-static gint hf_062_295_05 = -1;
-static gint hf_062_295_05_MD4 = -1;
-static gint hf_062_295_06 = -1;
-static gint hf_062_295_06_MD5 = -1;
-static gint hf_062_295_07 = -1;
-static gint hf_062_295_07_MHG = -1;
-static gint hf_062_295_08 = -1;
-static gint hf_062_295_08_IAS = -1;
-static gint hf_062_295_09 = -1;
-static gint hf_062_295_09_TAS = -1;
-static gint hf_062_295_10 = -1;
-static gint hf_062_295_10_SAL = -1;
-static gint hf_062_295_11 = -1;
-static gint hf_062_295_11_FSS = -1;
-static gint hf_062_295_12 = -1;
-static gint hf_062_295_12_TID = -1;
-static gint hf_062_295_13 = -1;
-static gint hf_062_295_13_COM = -1;
-static gint hf_062_295_14 = -1;
-static gint hf_062_295_14_SAB = -1;
-static gint hf_062_295_15 = -1;
-static gint hf_062_295_15_ACS = -1;
-static gint hf_062_295_16 = -1;
-static gint hf_062_295_16_BVR = -1;
-static gint hf_062_295_17 = -1;
-static gint hf_062_295_17_GVR = -1;
-static gint hf_062_295_18 = -1;
-static gint hf_062_295_18_RAN = -1;
-static gint hf_062_295_19 = -1;
-static gint hf_062_295_19_TAR = -1;
-static gint hf_062_295_20 = -1;
-static gint hf_062_295_20_TAN = -1;
-static gint hf_062_295_21 = -1;
-static gint hf_062_295_21_GSP = -1;
-static gint hf_062_295_22 = -1;
-static gint hf_062_295_22_VUN = -1;
-static gint hf_062_295_23 = -1;
-static gint hf_062_295_23_MET = -1;
-static gint hf_062_295_24 = -1;
-static gint hf_062_295_24_EMC = -1;
-static gint hf_062_295_25 = -1;
-static gint hf_062_295_25_POS = -1;
-static gint hf_062_295_26 = -1;
-static gint hf_062_295_26_GAL = -1;
-static gint hf_062_295_27 = -1;
-static gint hf_062_295_27_PUN = -1;
-static gint hf_062_295_28 = -1;
-static gint hf_062_295_28_MB = -1;
-static gint hf_062_295_29 = -1;
-static gint hf_062_295_29_IAR = -1;
-static gint hf_062_295_30 = -1;
-static gint hf_062_295_30_MAC = -1;
-static gint hf_062_295_31 = -1;
-static gint hf_062_295_31_BPS = -1;
-static gint hf_062_300 = -1;
-static gint hf_062_300_VFI = -1;
-static gint hf_062_340 = -1;
-static gint hf_062_340_01 = -1;
-static gint hf_062_340_02 = -1;
-static gint hf_062_340_02_RHO = -1;
-static gint hf_062_340_02_THETA = -1;
-static gint hf_062_340_03 = -1;
-static gint hf_062_340_03_H = -1;
-static gint hf_062_340_04 = -1;
-static gint hf_062_340_04_V = -1;
-static gint hf_062_340_04_G = -1;
-static gint hf_062_340_04_FL = -1;
-static gint hf_062_340_05 = -1;
-static gint hf_062_340_05_V = -1;
-static gint hf_062_340_05_G = -1;
-static gint hf_062_340_05_L = -1;
-static gint hf_062_340_05_SQUAWK = -1;
-static gint hf_062_340_06 = -1;
-static gint hf_062_340_06_TYP = -1;
-static gint hf_062_340_06_SIM = -1;
-static gint hf_062_340_06_RAB = -1;
-static gint hf_062_340_06_TST = -1;
-static gint hf_062_380 = -1;
-static gint hf_062_380_01 = -1;
-static gint hf_062_380_02 = -1;
-static gint hf_062_380_03 = -1;
-static gint hf_062_380_03_MH = -1;
-static gint hf_062_380_04 = -1;
-static gint hf_062_380_04_IM = -1;
-static gint hf_062_380_04_IAS = -1;
-static gint hf_062_380_05 = -1;
-static gint hf_062_380_05_TAS = -1;
-static gint hf_062_380_06 = -1;
-static gint hf_062_380_06_SAS = -1;
-static gint hf_062_380_06_SOURCE = -1;
-static gint hf_062_380_06_ALT = -1;
-static gint hf_062_380_07 = -1;
-static gint hf_062_380_07_MV = -1;
-static gint hf_062_380_07_AH = -1;
-static gint hf_062_380_07_AM = -1;
-static gint hf_062_380_07_ALT = -1;
-static gint hf_062_380_08 = -1;
-static gint hf_062_380_08_NAV = -1;
-static gint hf_062_380_08_NVB = -1;
-static gint hf_062_380_09 = -1;
-static gint hf_062_380_09_TCA = -1;
-static gint hf_062_380_09_NC = -1;
-static gint hf_062_380_09_TCP = -1;
-static gint hf_062_380_09_ALT = -1;
-static gint hf_062_380_09_LAT = -1;
-static gint hf_062_380_09_LON = -1;
-static gint hf_062_380_09_PTYP = -1;
-static gint hf_062_380_09_TD = -1;
-static gint hf_062_380_09_TRA = -1;
-static gint hf_062_380_09_TOA = -1;
-static gint hf_062_380_09_TOV = -1;
-static gint hf_062_380_09_TTR = -1;
-static gint hf_062_380_10 = -1;
-static gint hf_062_380_10_COM = -1;
-static gint hf_062_380_10_STAT = -1;
-static gint hf_062_380_10_SSC = -1;
-static gint hf_062_380_10_ARC = -1;
-static gint hf_062_380_10_AIC = -1;
-static gint hf_062_380_10_B1A = -1;
-static gint hf_062_380_10_B1B = -1;
-static gint hf_062_380_11 = -1;
-static gint hf_062_380_11_AC = -1;
-static gint hf_062_380_11_MN = -1;
-static gint hf_062_380_11_DC = -1;
-static gint hf_062_380_11_GBS = -1;
-static gint hf_062_380_11_STAT = -1;
-static gint hf_062_380_12 = -1;
-static gint hf_062_380_12_MB = -1;
-static gint hf_062_380_13 = -1;
-static gint hf_062_380_13_BVR = -1;
-static gint hf_062_380_14 = -1;
-static gint hf_062_380_14_GVR = -1;
-static gint hf_062_380_15 = -1;
-static gint hf_062_380_15_ROLL = -1;
-static gint hf_062_380_16 = -1;
-static gint hf_062_380_16_TI = -1;
-static gint hf_062_380_16_RATE = -1;
-static gint hf_062_380_17 = -1;
-static gint hf_062_380_17_TA = -1;
-static gint hf_062_380_18 = -1;
-static gint hf_062_380_18_GS = -1;
-static gint hf_062_380_19 = -1;
-static gint hf_062_380_19_VUC = -1;
-static gint hf_062_380_20 = -1;
-static gint hf_062_380_20_WS = -1;
-static gint hf_062_380_20_WD = -1;
-static gint hf_062_380_20_TMP = -1;
-static gint hf_062_380_20_TRB = -1;
-static gint hf_062_380_20_WS_VAL = -1;
-static gint hf_062_380_20_WD_VAL = -1;
-static gint hf_062_380_20_TMP_VAL = -1;
-static gint hf_062_380_20_TRB_VAL = -1;
-static gint hf_062_380_21 = -1;
-static gint hf_062_380_21_ECAT = -1;
-static gint hf_062_380_22 = -1;
-static gint hf_062_380_22_LAT = -1;
-static gint hf_062_380_22_LON = -1;
-static gint hf_062_380_23 = -1;
-static gint hf_062_380_23_ALT = -1;
-static gint hf_062_380_24 = -1;
-static gint hf_062_380_24_PUN = -1;
-static gint hf_062_380_25 = -1;
-static gint hf_062_380_26 = -1;
-static gint hf_062_380_26_IAS = -1;
-static gint hf_062_380_27 = -1;
-static gint hf_062_380_27_MACH = -1;
-static gint hf_062_380_28 = -1;
-static gint hf_062_380_28_BPS = -1;
-/* v.0.17 */
-static gint hf_062_380_v0_17 = -1;
-static gint hf_062_380_01_v0_17 = -1;
-static gint hf_062_380_02_v0_17 = -1;
-static gint hf_062_380_03_v0_17 = -1;
-static gint hf_062_380_04_v0_17 = -1;
-static gint hf_062_380_04_COM = -1;
-static gint hf_062_380_04_STAT = -1;
-static gint hf_062_380_04_SSC = -1;
-static gint hf_062_380_04_ARC = -1;
-static gint hf_062_380_04_AIC = -1;
-static gint hf_062_380_04_B1A = -1;
-static gint hf_062_380_04_B1B = -1;
-static gint hf_062_380_05_v0_17 = -1;
-static gint hf_062_380_05_MB = -1;
-static gint hf_062_390 = -1;
-static gint hf_062_390_01 = -1;
-static gint hf_062_390_02 = -1;
-static gint hf_062_390_02_CS = -1;
-static gint hf_062_390_03 = -1;
-static gint hf_062_390_03_TYP = -1;
-static gint hf_062_390_03_NBR = -1;
-static gint hf_062_390_04 = -1;
-static gint hf_062_390_04_GAT_OAT = -1;
-static gint hf_062_390_04_FR12 = -1;
-static gint hf_062_390_04_RVSM = -1;
-static gint hf_062_390_04_HPR = -1;
-static gint hf_062_390_05 = -1;
-static gint hf_062_390_05_ACTYP = -1;
-static gint hf_062_390_06 = -1;
-static gint hf_062_390_06_WTC = -1;
-static gint hf_062_390_07 = -1;
-static gint hf_062_390_07_ADEP = -1;
-static gint hf_062_390_08 = -1;
-static gint hf_062_390_08_ADES = -1;
-static gint hf_062_390_09 = -1;
-static gint hf_062_390_09_RWY = -1;
-static gint hf_062_390_10 = -1;
-static gint hf_062_390_10_CFL = -1;
-static gint hf_062_390_11 = -1;
-static gint hf_062_390_11_CNTR = -1;
-static gint hf_062_390_11_POS = -1;
-static gint hf_062_390_12 = -1;
-static gint hf_062_390_12_TYP = -1;
-static gint hf_062_390_12_DAY = -1;
-static gint hf_062_390_12_HOR = -1;
-static gint hf_062_390_12_MIN = -1;
-static gint hf_062_390_12_AVS = -1;
-static gint hf_062_390_12_SEC = -1;
-static gint hf_062_390_13 = -1;
-static gint hf_062_390_13_STAND = -1;
-static gint hf_062_390_14 = -1;
-static gint hf_062_390_14_EMP = -1;
-static gint hf_062_390_14_AVL = -1;
-static gint hf_062_390_15 = -1;
-static gint hf_062_390_15_SID = -1;
-static gint hf_062_390_16 = -1;
-static gint hf_062_390_16_STAR = -1;
-static gint hf_062_390_17 = -1;
-static gint hf_062_390_17_VA = -1;
-static gint hf_062_390_17_SQUAWK = -1;
-static gint hf_062_390_18 = -1;
-static gint hf_062_390_18_CS = -1;
-static gint hf_062_500 = -1;
-static gint hf_062_500_01 = -1;
-static gint hf_062_500_01_APCX = -1;
-static gint hf_062_500_01_APCY = -1;
-static gint hf_062_500_02 = -1;
-static gint hf_062_500_02_COV = -1;
-static gint hf_062_500_03 = -1;
-static gint hf_062_500_03_APWLAT = -1;
-static gint hf_062_500_03_APWLON = -1;
-static gint hf_062_500_04 = -1;
-static gint hf_062_500_04_AGA = -1;
-static gint hf_062_500_05 = -1;
-static gint hf_062_500_05_ABA = -1;
-static gint hf_062_500_06 = -1;
-static gint hf_062_500_06_ATVX = -1;
-static gint hf_062_500_06_ATVY = -1;
-static gint hf_062_500_07 = -1;
-static gint hf_062_500_07_AAX = -1;
-static gint hf_062_500_07_AAY = -1;
-static gint hf_062_500_08 = -1;
-static gint hf_062_500_08_ARC = -1;
-/* v.0.17 */
-static gint hf_062_500_01_APCX_8bit = -1;
-static gint hf_062_500_01_APCY_8bit = -1;
-static gint hf_062_500_02_v0_17 = -1;
-static gint hf_062_500_02_APWLAT = -1;
-static gint hf_062_500_02_APWLON = -1;
-static gint hf_062_500_03_v0_17 = -1;
-static gint hf_062_500_03_ATA = -1;
-static gint hf_062_500_04_v0_17 = -1;
-static gint hf_062_500_04_ATF = -1;
-static gint hf_062_500_05_v0_17 = -1;
-static gint hf_062_500_05_ATVS = -1;
-static gint hf_062_500_05_ATVH = -1;
-static gint hf_062_500_06_v0_17 = -1;
-static gint hf_062_500_06_ART = -1;
-static gint hf_062_500_07_v0_17 = -1;
-static gint hf_062_500_07_ALA = -1;
-static gint hf_062_510 = -1;
-static gint hf_062_510_SUD = -1;
-static gint hf_062_510_STN = -1;
-static gint hf_062_510_SLV_01_SUD = -1;
-static gint hf_062_510_SLV_01_STN = -1;
-static gint hf_062_510_SLV_02_SUD = -1;
-static gint hf_062_510_SLV_02_STN = -1;
-static gint hf_062_510_SLV_03_SUD = -1;
-static gint hf_062_510_SLV_03_STN = -1;
-static gint hf_062_510_SLV_04_SUD = -1;
-static gint hf_062_510_SLV_04_STN = -1;
-static gint hf_062_RE = -1;
-static gint hf_062_RE_CST = -1;
-static gint hf_062_RE_CST_TYP = -1;
-static gint hf_062_RE_CST_TRK_NUM = -1;
-static gint hf_062_RE_CSNT = -1;
-static gint hf_062_RE_CSNT_TYP = -1;
-static gint hf_062_RE_TVS = -1;
-static gint hf_062_RE_TVS_VX = -1;
-static gint hf_062_RE_TVS_VY = -1;
-static gint hf_062_RE_STS = -1;
-static gint hf_062_RE_STS_FDR = -1;
-static gint hf_062_SP = -1;
-/* Category 063 */
-static gint hf_063_010 = -1;
-static gint hf_063_015 = -1;
-static gint hf_063_015_SI = -1;
-static gint hf_063_030 = -1;
-static gint hf_063_050 = -1;
-static gint hf_063_060 = -1;
-static gint hf_063_060_CON = -1;
-static gint hf_063_060_PSR = -1;
-static gint hf_063_060_SSR = -1;
-static gint hf_063_060_MDS = -1;
-static gint hf_063_060_ADS = -1;
-static gint hf_063_060_MLT = -1;
-static gint hf_063_060_OPS = -1;
-static gint hf_063_060_ODP = -1;
-static gint hf_063_060_OXT = -1;
-static gint hf_063_060_MSC = -1;
-static gint hf_063_060_TSV = -1;
-static gint hf_063_060_NPW = -1;
-static gint hf_063_070 = -1;
-static gint hf_063_070_TSB = -1;
-static gint hf_063_080 = -1;
-static gint hf_063_080_SRG = -1;
-static gint hf_063_080_SRB = -1;
-static gint hf_063_081 = -1;
-static gint hf_063_081_SAB = -1;
-static gint hf_063_090 = -1;
-static gint hf_063_090_PRG = -1;
-static gint hf_063_090_PRB = -1;
-static gint hf_063_091 = -1;
-static gint hf_063_091_PAB = -1;
-static gint hf_063_092 = -1;
-static gint hf_063_092_PEB = -1;
-static gint hf_063_RE = -1;
-static gint hf_063_SP = -1;
-/* Category 065 */
-static gint hf_065_000 = -1;
-static gint hf_065_000_MT = -1;
-static gint hf_065_010 = -1;
-static gint hf_065_015 = -1;
-static gint hf_065_015_SI = -1;
-static gint hf_065_020 = -1;
-static gint hf_065_020_BTN = -1;
-static gint hf_065_030 = -1;
-static gint hf_065_040 = -1;
-static gint hf_065_040_NOGO = -1;
-static gint hf_065_040_OVL = -1;
-static gint hf_065_040_TSV = -1;
-static gint hf_065_040_PSS = -1;
-static gint hf_065_040_STTN = -1;
-static gint hf_065_050 = -1;
-static gint hf_065_050_REP = -1;
-static gint hf_065_RE = -1;
-static gint hf_065_RE_SRP = -1;
-static gint hf_065_RE_SRP_Latitude = -1;
-static gint hf_065_RE_SRP_Longitude = -1;
-static gint hf_065_RE_ARL = -1;
-static gint hf_065_RE_ARL_ARL = -1;
-static gint hf_065_SP = -1;
-/* Category 240 */
-static gint hf_240_000 = -1;
-static gint hf_240_000_MT = -1;
-static gint hf_240_010 = -1;
-static gint hf_240_020_VRH = -1;
-static gint hf_240_020 = -1;
-static gint hf_240_030 = -1;
-static gint hf_240_030_CHAR = -1;
-static gint hf_240_040 = -1;
-static gint hf_240_040_START_AZ = -1;
-static gint hf_240_040_END_AZ = -1;
-static gint hf_240_040_START_RG = -1;
-static gint hf_240_040_CELL_DUR = -1;
-static gint hf_240_041 = -1;
-static gint hf_240_041_START_AZ = -1;
-static gint hf_240_041_END_AZ = -1;
-static gint hf_240_041_START_RG = -1;
-static gint hf_240_041_CELL_DUR = -1;
-static gint hf_240_048 = -1;
-static gint hf_240_048_C = -1;
-static gint hf_240_048_RES = -1;
-static gint hf_240_049 = -1;
-static gint hf_240_049_NB_VB = -1;
-static gint hf_240_049_NB_CELLS = -1;
-static gint hf_240_050 = -1;
-static gint hf_240_051 = -1;
-static gint hf_240_052 = -1;
-static gint hf_240_140 = -1;
-static gint hf_240_RE = -1;
-static gint hf_240_SP = -1;
-
-static gint ett_asterix = -1;
-static gint ett_asterix_category = -1;
-static gint ett_asterix_length = -1;
-static gint ett_asterix_message = -1;
-static gint ett_asterix_subtree = -1;
+static int proto_asterix;
-static dissector_handle_t asterix_handle;
+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 FX_1 4*/
+/*#define RE 5*/
#define COMPOUND 6
-#define SP 7
-#define FX_UAP 8 /* The FX_UAP field type is a hack. Currently it *
- * is only used in: *
- * - I001_020 *
- * - asterix_get_active_uap() */
+/*#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. */
@@ -2456,39 +96,39 @@ static dissector_handle_t asterix_handle;
typedef struct FieldPart_s FieldPart;
struct FieldPart_s {
- guint8 bit_length; /* length of field in bits */
+ uint16_t bit_length; /* length of field in bits */
double scaling_factor; /* scaling factor of the field (for instance: 1/128) */
- guint8 type; /* Pre-defined type for proper presentation */
- gint *hf; /* Pointer to hf representing this kind of data */
+ 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 {
- guint8 type; /* type of field */
- guint length; /* fixed length */
- guint repetition_counter_size; /* size of repetition counter, length of one item is in length */
- guint header_length; /* the size is in first header_length bytes of the field */
- gint *hf; /* pointer to Wireshark hf_register_info */
+ 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, guint, proto_tree *, guint8, gint);
-static gint dissect_asterix_fields (tvbuff_t *, packet_info *pinfo, guint, proto_tree *, guint8, const AsterixField *[]);
-
-static void asterix_build_subtree (tvbuff_t *, packet_info *pinfo, guint, proto_tree *, const AsterixField *);
-static void twos_complement (gint64 *, guint8);
-static guint8 asterix_bit (guint8, guint8);
-static guint asterix_fspec_len (tvbuff_t *, guint);
-static guint8 asterix_field_exists (tvbuff_t *, guint, int);
-static guint8 asterix_get_active_uap (tvbuff_t *, guint, guint8);
-static int asterix_field_length (tvbuff_t *, guint, const AsterixField *);
-static int asterix_field_offset (tvbuff_t *, guint, const AsterixField *[], int);
-static int asterix_message_length (tvbuff_t *, guint, guint8, guint8);
+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', ' ', ' ', ' ', ' ', ' ',
@@ -2501,8 +141,6 @@ static const value_string valstr_XXX_FX[] = {
{ 0, NULL }
};
static const FieldPart IXXX_FX = { 1, 1.0, FIELD_PART_FX, &hf_XXX_FX, NULL };
-/*static const FieldPart IXXX_2FX = { 1, 1.0, FIELD_PART_FX, &hf_XXX_2FX, NULL };*/
-static const FieldPart IXXX_3FX = { 1, 1.0, FIELD_PART_FX, &hf_XXX_3FX, 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 };
@@ -2511,530 +149,3629 @@ 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 };
-/* SAC SIC */
-static const FieldPart IXXX_SAC = { 8, 1.0, FIELD_PART_UINT, &hf_XXX_SAC, NULL };
-static const FieldPart IXXX_SIC = { 8, 1.0, FIELD_PART_UINT, &hf_XXX_SIC, NULL };
-static const FieldPart *IXXX_SAC_SIC[] = { &IXXX_SAC, &IXXX_SIC, NULL };
-
-/* Time of day */
-static const FieldPart IXXX_TOD_VAL = { 24, 1.0/128.0, FIELD_PART_UFLOAT, &hf_XXX_TOD, "%.3f" };
-static const FieldPart *IXXX_TOD[] = { &IXXX_TOD_VAL, NULL };
-
-/* Track number */
-static const FieldPart IXXX_TN_16 = { 16, 1.0, FIELD_PART_UINT, &hf_XXX_TN_16, NULL };
-static const FieldPart *IXXX_TN_16_PARTS[] = { &IXXX_TN_16, NULL };
+/* Spare Item */
+DIAG_OFF_PEDANTIC
+static const AsterixField IX_SPARE = { FIXED, 0, 0, 0, &hf_spare, NULL, { NULL } };
-/* Aircraft Address */
-static const FieldPart IXXX_AA = { 24, 1.0, FIELD_PART_HEX, &hf_XXX_AA, NULL };
-static const FieldPart *IXXX_AA_PARTS[] = { &IXXX_AA, 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 } };
-/* Aircraft Identification */
-static const FieldPart IXXX_AI = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_XXX_AI, NULL };
-static const FieldPart *IXXX_AI_PARTS[] = { &IXXX_AI, 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
-/* Mode S MB Data */
-static const FieldPart IXXX_MB_DATA = { 56, 1.0, FIELD_PART_HEX, &hf_XXX_MB_DATA, NULL };
-static const FieldPart IXXX_BDS1 = { 4, 1.0, FIELD_PART_UINT, &hf_XXX_BDS1, NULL };
-static const FieldPart IXXX_BDS2 = { 4, 1.0, FIELD_PART_UINT, &hf_XXX_BDS2, NULL };
-static const FieldPart *IXXX_MB[] = { &IXXX_MB_DATA, &IXXX_BDS1, &IXXX_BDS2, NULL };
+/* 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 } };
-/* Spare Item */
DIAG_OFF_PEDANTIC
-static const AsterixField IX_SPARE = { FIXED, 0, 0, 0, &hf_spare, NULL, { NULL } };
+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 */
-/* *********************** */
-/* Fields */
-
-/* I001/020, Target Report Descriptor */
+/* 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 value_string valstr_001_020_SSR_PSR[] = {
+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 value_string valstr_001_020_DS12[] = {
+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_TYP = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_TYP, NULL };
-static const FieldPart I001_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_SIM, NULL };
-static const FieldPart I001_020_SSR_PSR = { 2, 1.0, FIELD_PART_UINT, &hf_001_020_SSR_PSR, NULL };
-static const FieldPart I001_020_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_ANT, NULL };
-static const FieldPart I001_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_SPI, NULL };
-static const FieldPart I001_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_RAB, NULL };
-static const FieldPart I001_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_TST, NULL };
-static const FieldPart I001_020_DS12 = { 2, 1.0, FIELD_PART_UINT, &hf_001_020_DS12, NULL };
-static const FieldPart I001_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_001_020_ME, 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_SSR_PSR, &I001_020_ANT, &I001_020_SPI, &I001_020_RAB, &IXXX_FX,
- &I001_020_TST, &I001_020_DS12, &I001_020_ME, &I001_020_MI, &IXXX_2bit_spare, &IXXX_FX, NULL };
-
-/* I001/030, Warning/Error Conditions */
-static const value_string valstr_001_030_WE[] = {
- { 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_WE = { 7, 1.0, FIELD_PART_UINT, &hf_001_030_WE, NULL };
-static const FieldPart *I001_030_PARTS[] = { &I001_030_WE, &IXXX_FX, NULL };
-
-/* I001/040, Measured Position in Polar Coordinates */
-static const FieldPart I001_040_RHO = { 16, 1.0/128.0, FIELD_PART_UFLOAT, &hf_001_040_RHO, NULL };
-static const FieldPart I001_040_THETA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_001_040_THETA, NULL };
-static const FieldPart *I001_040_PARTS[] = { &I001_040_RHO, &I001_040_THETA, NULL };
-
-/* I001/042, Calculated Position in Cartesian Coordinates */
-static const FieldPart I001_042_X = { 16, 1.0/64.0, FIELD_PART_FLOAT, &hf_001_042_X, NULL };
-static const FieldPart I001_042_Y = { 16, 1.0/64.0, FIELD_PART_FLOAT, &hf_001_042_Y, NULL };
-static const FieldPart *I001_042_PARTS[] = { &I001_042_X, &I001_042_Y, NULL };
-
-/* I001/050, Mode-2 Code in Octal Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_050_V, NULL };
-static const FieldPart I001_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_050_G, NULL };
static const FieldPart I001_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_050_L, NULL };
-static const FieldPart I001_050_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_050_SQUAWK, NULL };
-static const FieldPart *I001_050_PARTS[] = { &I001_050_V, &I001_050_G, &I001_050_L, &IXXX_1bit_spare, &I001_050_SQUAWK, NULL };
-
-/* I001/060, Mode-2 Code Confidence Indicator */
-static const value_string valstr_001_060_Q[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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 };
-
-/* I001/070, Mode-3/A Code in Octal Representation */
+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 as derived from the reply of the transponder" },
+ { 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_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_070_V, NULL };
-static const FieldPart I001_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_070_G, NULL };
static const FieldPart I001_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_001_070_L, NULL };
-static const FieldPart I001_070_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_001_070_SQUAWK, NULL };
-static const FieldPart *I001_070_PARTS[] = { &I001_070_V, &I001_070_G, &I001_070_L, &IXXX_1bit_spare, &I001_070_SQUAWK, NULL };
-
-/* I001/080, Mode-3/A Code Confidence Indicator */
-static const value_string valstr_001_080_Q[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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 };
-
-/* I001/090, Mode-C Code in Binary Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_090_V, NULL };
static const FieldPart I001_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_090_G, NULL };
-static const FieldPart I001_090_FL = { 14, 1.0/4.0, FIELD_PART_FLOAT, &hf_001_090_FL, NULL };
-static const FieldPart *I001_090_PARTS[] = { &I001_090_V, &I001_090_G, &I001_090_FL, NULL };
-
-/* I001/100, Mode-C Code and Code Confidence Indicator */
+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 value_string valstr_001_100_Q[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_V, NULL };
-static const FieldPart I001_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_G, NULL };
-static const FieldPart I001_100_C1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_C1, NULL };
-static const FieldPart I001_100_A1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_A1, NULL };
-static const FieldPart I001_100_C2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_C2, NULL };
-static const FieldPart I001_100_A2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_A2, NULL };
-static const FieldPart I001_100_C4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_C4, NULL };
-static const FieldPart I001_100_A4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_A4, NULL };
-static const FieldPart I001_100_B1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_B1, NULL };
-static const FieldPart I001_100_D1 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_D1, NULL };
-static const FieldPart I001_100_B2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_B2, NULL };
-static const FieldPart I001_100_D2 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_D2, NULL };
-static const FieldPart I001_100_B4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_B4, NULL };
-static const FieldPart I001_100_D4 = { 1, 1.0, FIELD_PART_UINT, &hf_001_100_D4, 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_C1, &I001_100_A1, &I001_100_C2, &I001_100_A2, &I001_100_C4, &I001_100_A4,
- &I001_100_B1, &I001_100_D1, &I001_100_B2, &I001_100_D2, &I001_100_B4, &I001_100_D4,
- &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 };
-
-/* I001/120, Measured Radial Doppler Speed */
-static const FieldPart I001_120_MRDS = { 8, 1.0/256.0, FIELD_PART_FLOAT, &hf_001_120_MRDS, NULL };
-static const FieldPart *I001_120_PARTS[] = { &I001_120_MRDS, NULL };
-
-/* I001/130, Radar Plot Characteristics */
-static const FieldPart I001_130_RPC = { 7, 1.0, FIELD_PART_HEX, &hf_001_130_RPC, NULL };
-static const FieldPart *I001_130_PARTS[] = { &I001_130_RPC, &IXXX_FX, NULL };
-
-/* I001/131, Received Power */
-static const FieldPart I001_131_RP = { 8, 1.0, FIELD_PART_INT, &hf_001_131_RP, NULL };
-static const FieldPart *I001_131_PARTS[] = { &I001_131_RP, NULL };
-
-/* I001/141, Truncated Time of Day */
-static const FieldPart I001_141_TTOD = { 16, 1.0/128.0, FIELD_PART_UFLOAT, &hf_001_141_TTOD, NULL };
-static const FieldPart *I001_141_PARTS[] = { &I001_141_TTOD, NULL };
-
-/* I001/150, Presence of X-Pulse */
+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_XA = { 1, 1.0, FIELD_PART_UINT, &hf_001_150_XA, NULL };
-static const FieldPart I001_150_XC = { 1, 1.0, FIELD_PART_UINT, &hf_001_150_XC, 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 };
-
-/* I001/161, Track Plot Number */
-static const FieldPart I001_161_TPN = { 16, 1.0, FIELD_PART_UINT, &hf_001_161_TPN, NULL };
-static const FieldPart *I001_161_PARTS[] = { &I001_161_TPN, NULL };
-
-/*I001/170, Track Status */
+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" },
+ { 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_CON = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_CON, NULL };
-static const FieldPart I001_170_RAD = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_RAD, NULL };
-static const FieldPart I001_170_MAN = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_MAN, NULL };
-static const FieldPart I001_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_DOU, NULL };
-static const FieldPart I001_170_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_RDPC, NULL };
-static const FieldPart I001_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_001_170_GHO, 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 };
-
-/* I001/200, Calculated Track Velocity in Polar Coordinates */
-static const FieldPart I001_200_CGS = { 16, 1.0/16384.0, FIELD_PART_FLOAT, &hf_001_200_CGS, NULL };
-static const FieldPart I001_200_CH = { 16, 360.0/65536.0, FIELD_PART_FLOAT, &hf_001_200_CH, NULL };
-static const FieldPart *I001_200_PARTS[] = { &I001_200_CGS, &I001_200_CH, NULL };
-
-/* I001/210, Track Quality */
-static const FieldPart I001_210_TQ = { 7, 1.0, FIELD_PART_HEX, &hf_001_210_TQ, NULL };
-static const FieldPart *I001_210_PARTS[] = { &I001_210_TQ, &IXXX_FX, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I001_010 = { FIXED, 2, 0, 0, &hf_001_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I001_020 = { FX_UAP, 1, 0, 0, &hf_001_020, I001_020_PARTS, { NULL } };
-static const AsterixField I001_030 = { FX, 1, 0, 0, &hf_001_030, I001_030_PARTS, { NULL } };
-static const AsterixField I001_040 = { FIXED, 4, 0, 0, &hf_001_040, I001_040_PARTS, { NULL } };
-static const AsterixField I001_042 = { FIXED, 4, 0, 0, &hf_001_042, I001_042_PARTS, { NULL } };
-static const AsterixField I001_050 = { FIXED, 2, 0, 0, &hf_001_050, I001_050_PARTS, { NULL } };
-static const AsterixField I001_060 = { FIXED, 2, 0, 0, &hf_001_060, I001_060_PARTS, { NULL } };
-static const AsterixField I001_070 = { FIXED, 2, 0, 0, &hf_001_070, I001_070_PARTS, { NULL } };
-static const AsterixField I001_080 = { FIXED, 2, 0, 0, &hf_001_080, I001_080_PARTS, { NULL } };
-static const AsterixField I001_090 = { FIXED, 2, 0, 0, &hf_001_090, I001_090_PARTS, { NULL } };
-static const AsterixField I001_100 = { FIXED, 4, 0, 0, &hf_001_100, I001_100_PARTS, { NULL } };
-static const AsterixField I001_120 = { FIXED, 1, 0, 0, &hf_001_120, I001_120_PARTS, { NULL } };
-static const AsterixField I001_130 = { FX, 1, 0, 0, &hf_001_130, I001_130_PARTS, { NULL } };
-static const AsterixField I001_131 = { FIXED, 1, 0, 0, &hf_001_131, I001_131_PARTS, { NULL } };
-static const AsterixField I001_141 = { FIXED, 2, 0, 0, &hf_001_141, I001_141_PARTS, { NULL } };
-static const AsterixField I001_150 = { FIXED, 1, 0, 0, &hf_001_150, I001_150_PARTS, { NULL } };
-static const AsterixField I001_161 = { FIXED, 2, 0, 0, &hf_001_161, I001_161_PARTS, { 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 const AsterixField I001_RE = { RE, 0, 0, 1, &hf_001_RE, NULL, { NULL } };
-static const AsterixField I001_SP = { SP, 0, 0, 1, &hf_001_SP, NULL, { NULL } };
-
-static const AsterixField *I001_PLOT_v1_2_uap[] = { &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, &I001_RE, NULL };
-
-static const AsterixField *I001_TRACK_v1_2_uap[] = { &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, &I001_RE,
- &I001_150, NULL };
-/* array of two (PLOT, TRACK) is for two different user application profiles (UAPs) */
-static const AsterixField **I001_v1_2[] = { I001_PLOT_v1_2_uap, I001_TRACK_v1_2_uap, NULL };
-static const AsterixField ***I001[] = { I001_v1_2 };
-DIAG_ON_PEDANTIC
+static int hf_001_SP;
+static const AsterixField I001_SP = { EXP, 0, 0, 1, &hf_001_SP, NULL, { NULL } };
-static const enum_val_t I001_versions[] = {
- { "I001_v1_2", "Version 1.2", 0 },
- { NULL, NULL, 0 }
+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
-/* *********************** */
-/* Category 002 */
-/* *********************** */
-/* Fields */
+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
-/* Message Type */
-static const value_string valstr_002_000_MT[] = {
- { 1, "North Marker message" },
+/* 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_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_002_000_MT, NULL };
-static const FieldPart *I002_000_PARTS[] = { &I002_000_MT, NULL };
-
-/* Sector Number */
-static const FieldPart I002_020_SN = { 8, 360.0/256.0, FIELD_PART_UFLOAT, &hf_002_020_SN, NULL };
-static const FieldPart *I002_020_PARTS[] = { &I002_020_SN, 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 } };
-/* Antenna Rotation Speed */
-static const FieldPart I002_041_ARS = { 16, 1.0/128.0, FIELD_PART_UFLOAT, &hf_002_041_ARS, NULL };
-static const FieldPart *I002_041_PARTS[] = { &I002_041_ARS, 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
-/* Plot Count Values */
+/* 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_A = { 1, 1.0, FIELD_PART_UINT, &hf_002_070_A, 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 };
-
-/* Warning/Error Conditions */
-static const FieldPart I002_080_WE = { 7, 1.0, FIELD_PART_UINT, &hf_002_080_WE, NULL };
-static const FieldPart *I002_080_PARTS[] = { &I002_080_WE, &IXXX_FX, NULL };
-
-/* Collimation Error */
-static const FieldPart I002_090_RE = { 8, 1.0/128.0, FIELD_PART_FLOAT, &hf_002_090_RE, NULL };
-static const FieldPart I002_090_AE = { 8, 360.0/16384.0, FIELD_PART_FLOAT, &hf_002_090_AE, NULL };
-static const FieldPart *I002_090_PARTS[] = { &I002_090_RE, &I002_090_AE, NULL };
-
-/* Dynamic Window - Type 1 */
-static const FieldPart I002_100_RHOS = { 16, 1.0/128.0, FIELD_PART_UFLOAT, &hf_002_100_RHOS, NULL };
-static const FieldPart I002_100_RHOE = { 16, 1.0/128.0, FIELD_PART_UFLOAT, &hf_002_100_RHOE, NULL };
-static const FieldPart I002_100_THETAS = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_002_100_THETAS, NULL };
-static const FieldPart I002_100_THETAE = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_002_100_THETAE, NULL };
-static const FieldPart *I002_100_PARTS[] = { &I002_100_RHOS, &I002_100_RHOE, &I002_100_THETAS, &I002_100_THETAE, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I002_000 = { FIXED, 1, 0, 0, &hf_002_000, I002_000_PARTS, { NULL } };
-static const AsterixField I002_010 = { FIXED, 2, 0, 0, &hf_002_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I002_020 = { FIXED, 1, 0, 0, &hf_002_020, I002_020_PARTS, { NULL } };
-static const AsterixField I002_030 = { FIXED, 3, 0, 0, &hf_002_030, IXXX_TOD, { NULL } };
-static const AsterixField I002_041 = { FIXED, 2, 0, 0, &hf_002_041, I002_041_PARTS, { NULL } };
-static const AsterixField I002_050 = { FX, 1, 0, 0, &hf_002_050, NULL, { NULL } };
-static const AsterixField I002_060 = { FX, 1, 0, 0, &hf_002_060, NULL, { 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 const AsterixField I002_080 = { FIXED, 2, 0, 0, &hf_002_080, I002_080_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 const AsterixField I002_RE = { RE, 0, 0, 1, &hf_002_RE, NULL, { NULL } };
-static const AsterixField I002_SP = { SP, 0, 0, 1, &hf_002_SP, NULL, { NULL } };
+static int hf_002_SP;
+static const AsterixField I002_SP = { EXP, 0, 0, 1, &hf_002_SP, NULL, { NULL } };
-static const AsterixField *I002_v1_0_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, &I002_RE, NULL };
-static const AsterixField **I002_v1_0[] = { I002_v1_0_uap, NULL };
-static const AsterixField ***I002[] = { I002_v1_0 };
+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
-static const enum_val_t I002_versions[] = {
- { "I002_v1_0", "Version 1.0", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/* Fields */
-
-/* Message Type */
-static const value_string valstr_004_000_MT[] = {
+/* 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)" },
@@ -3042,7 +3779,7 @@ static const value_string valstr_004_000_MT[] = {
{ 5, "Area Proximity Warning (APW)" },
{ 6, "Clearance Level Adherence Monitor (CLAM)" },
{ 7, "Short Term Conflict Alert (STCA)" },
- { 8, "Approach Funnel Deviation Alert (APM)" },
+ { 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)" },
@@ -3072,1559 +3809,4018 @@ static const value_string valstr_004_000_MT[] = {
{ 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_MT = { 8, 1.0, FIELD_PART_UINT, &hf_004_000_MT, NULL };
-static const FieldPart *I004_000_PARTS[] = { &I004_000_MT, NULL };
-
-/* Track number 1 */
-static const FieldPart I004_030_TN1 = { 16, 1.0, FIELD_PART_UINT, &hf_004_030_TN1, NULL };
-static const FieldPart *I004_030_PARTS[] = { &I004_030_TN1, NULL };
-
-/* Track number 2 */
-static const FieldPart I004_035_TN2 = { 16, 1.0, FIELD_PART_UINT, &hf_004_035_TN2, NULL };
-static const FieldPart *I004_035_PARTS[] = { &I004_035_TN2, NULL };
-
-/* Alert Identifier */
-static const FieldPart I004_040_AI = { 16, 1.0, FIELD_PART_UINT, &hf_004_040_AI, NULL };
-static const FieldPart *I004_040_PARTS[] = { &I004_040_AI, NULL };
-
-/* Alert Status */
-static const FieldPart I004_045_AS = { 3, 1.0, FIELD_PART_UINT, &hf_004_045_AS, NULL };
-static const FieldPart *I004_045_PARTS[] = { &IXXX_4bit_spare, &I004_045_AS, &IXXX_1bit_spare, NULL };
-
-/* Safety Net Function & System Status */
-/* MRVA */
+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 }
};
-
-/* RAMLD */
+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 }
};
-
-/* RAMHD */
+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 }
};
-
-/* MSAW */
+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 }
};
-
-/* APW */
+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 }
};
-
-/* CLAM */
+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 }
};
-
-/* STCA */
+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 }
};
-
-/* AFDA */
-static const value_string valstr_004_060_AFDA[] = {
+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, "AFDA function" },
+ { 1, "APM function" },
{ 0, NULL }
};
-
-/* RIMCA */
+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 }
};
-
-/* ACASRA */
+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 }
};
-
-/* NTCA */
+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 }
};
-
-/* DG */
+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 }
};
-
-/* OF */
+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 }
};
-
-/* OL */
+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 }
};
-
-/* AIW */
+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 }
};
-
-/* pAIW */
+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" },
+ { 1, "PAIW function" },
{ 0, NULL }
};
-
-/* OCAT */
+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 }
};
-
-/* SAM */
+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 }
};
-
-/* VCD */
+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 }
};
-
-/* CHAM */
+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 }
};
-
-/* DSAM */
+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 }
};
-
-/* DBPSM ARR */
+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 }
};
-
-/* DBPSM DEP */
+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 }
};
-
-/* DBPSM TL */
+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 }
};
-
-/* VRAM CRM */
+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 }
};
-
-/* VRAM VTM */
+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 }
};
-
-/* VRAM VRM */
+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 }
};
-
-/* HAM HD */
+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 }
};
-
-/* HAM RD */
+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 }
};
-
-/* HAM VD */
+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 }
};
-
-/* HVI */
+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 }
};
-
-/* LTW */
+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 }
};
-
-/* VPM */
+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 }
};
-
-/* TTA */
+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 }
};
-
-/* CRA */
+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 }
};
-
-/* ASM */
+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 }
};
-
-/* IAVM */
+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 }
};
-
-/* FTD */
+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" },
+ { 1, "FTD Function" },
{ 0, NULL }
};
-
-/* ITD */
+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 }
};
-
-/* IIA */
+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 }
};
-
-/* SQW */
+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, "SW function" },
+ { 1, "SQW function" },
{ 0, NULL }
};
-
-/* CUW */
+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_MRVA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_MRVA, NULL };
-static const FieldPart I004_060_RAMLD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_RAMLD, NULL };
-static const FieldPart I004_060_RAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_RAMHD, NULL };
-static const FieldPart I004_060_MSAW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_MSAW, NULL };
-static const FieldPart I004_060_APW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_APW, NULL };
-static const FieldPart I004_060_CLAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CLAM, NULL };
-static const FieldPart I004_060_STCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_STCA, NULL };
-static const FieldPart I004_060_AFDA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_AFDA, NULL };
-static const FieldPart I004_060_RIMCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_RIMCA, NULL };
-static const FieldPart I004_060_ACASRA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_ACASRA, NULL };
-static const FieldPart I004_060_NTCA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_NTCA, NULL };
-static const FieldPart I004_060_DG = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DG, NULL };
-static const FieldPart I004_060_OF = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_OF, NULL };
-static const FieldPart I004_060_OL = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_OL, NULL };
-static const FieldPart I004_060_AIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_AIW, NULL };
-static const FieldPart I004_060_PAIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_PAIW, NULL };
-static const FieldPart I004_060_OCAT = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_OCAT, NULL };
-static const FieldPart I004_060_SAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_SAM, NULL };
-static const FieldPart I004_060_VCD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VCD, NULL };
-static const FieldPart I004_060_CHAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CHAM, NULL };
-static const FieldPart I004_060_DSAM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DSAM, NULL };
-static const FieldPart I004_060_DBPSMARR = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DBPSMARR, NULL };
-static const FieldPart I004_060_DBPSMDEP = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DBPSMDEP, NULL };
-static const FieldPart I004_060_DBPSMTL = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_DBPSMTL, NULL };
-static const FieldPart I004_060_VRAMCRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VRAMCRM, NULL };
-static const FieldPart I004_060_VRAMVTM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VRAMVTM, NULL };
-static const FieldPart I004_060_VRAMVRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VRAMVRM, NULL };
-static const FieldPart I004_060_HAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HAMHD, NULL };
-static const FieldPart I004_060_HAMRD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HAMRD, NULL };
-static const FieldPart I004_060_HAMVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HAMVD, NULL };
-static const FieldPart I004_060_HVI = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_HVI, NULL };
-static const FieldPart I004_060_LTW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_LTW, NULL };
-static const FieldPart I004_060_VPM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_VPM, NULL };
-static const FieldPart I004_060_TTA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_TTA, NULL };
-static const FieldPart I004_060_CRA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CRA, NULL };
-static const FieldPart I004_060_ASM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_ASM, NULL };
-static const FieldPart I004_060_IAVM = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_IAVM, NULL };
-static const FieldPart I004_060_FTD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_FTD, NULL };
-static const FieldPart I004_060_ITD = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_ITD, NULL };
-static const FieldPart I004_060_IIA = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_IIA, NULL };
-static const FieldPart I004_060_SQW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_SQW, NULL };
static const FieldPart I004_060_CUW = { 1, 1.0, FIELD_PART_UINT, &hf_004_060_CUW, 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_AFDA, &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, NULL };
-
-/* Conflict Timing and Separation */
-/* Time to Conflict */
-static const FieldPart I004_070_01_TC = { 24, 1.0/128.0, FIELD_PART_UFLOAT, &hf_004_070_01_TC, "%.3f" };
-static const FieldPart *I004_070_01_PARTS[] = { &I004_070_01_TC, NULL };
-
-/* Time to Closest Approach */
-static const FieldPart I004_070_02_TCA = { 24, 1.0/128.0, FIELD_PART_UFLOAT, &hf_004_070_02_TCA, "%.3f" };
-static const FieldPart *I004_070_02_PARTS[] = { &I004_070_02_TCA, NULL };
-
-/* Current Horizontal Separation */
-static const FieldPart I004_070_03_CHS = { 24, 0.5, FIELD_PART_UFLOAT, &hf_004_070_03_CHS, NULL };
-static const FieldPart *I004_070_03_PARTS[] = { &I004_070_03_CHS, NULL };
-
-/* Estimated Minimum Horizontal Separation */
-static const FieldPart I004_070_04_MHS = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_070_04_MHS, NULL };
-static const FieldPart *I004_070_04_PARTS[] = { &I004_070_04_MHS, NULL };
-
-/* Current Vertical Separation */
-static const FieldPart I004_070_05_CVS = { 16, 25.0, FIELD_PART_UFLOAT, &hf_004_070_05_CVS, NULL };
-static const FieldPart *I004_070_05_PARTS[] = { &I004_070_05_CVS, NULL };
-
-/* Estimated Minimum Vertical Separation */
-static const FieldPart I004_070_06_MVS = { 16, 25.0, FIELD_PART_UFLOAT, &hf_004_070_06_MVS, NULL };
-static const FieldPart *I004_070_06_PARTS[] = { &I004_070_06_MVS, NULL };
-
-/* Longitudinal Deviation */
-static const FieldPart I004_074_LD = { 16, 32.0, FIELD_PART_FLOAT, &hf_004_074_LD, NULL };
-static const FieldPart *I004_074_PARTS[] = { &I004_074_LD, NULL };
-
-/* Transversal Distance Deviation */
-static const FieldPart I004_075_TDD = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_075_TDD, NULL };
-static const FieldPart *I004_075_PARTS[] = { &I004_075_TDD, NULL };
-
-/* Vertical Deviation */
-static const FieldPart I004_076_VD = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_076_VD, NULL };
-static const FieldPart *I004_076_PARTS[] = { &I004_076_VD, NULL };
-
-/* Area Definition*/
-/* Area Name */
-static const FieldPart I004_100_01_AN = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_004_100_01_AN, NULL };
-static const FieldPart *I004_100_01_PARTS[] = { &I004_100_01_AN, NULL };
-
-/* Crossing Area Name */
-static const FieldPart I004_100_02_CAN = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_02_CAN, NULL };
-static const FieldPart *I004_100_02_PARTS[] = { &I004_100_02_CAN, NULL };
-
-/* Runway/Taxiway Designator 1 */
-static const FieldPart I004_100_03_RT1 = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_03_RT1, NULL };
-static const FieldPart *I004_100_03_PARTS[] = { &I004_100_03_RT1, NULL };
-
-/* Runway/Taxiway Designator 2 */
-static const FieldPart I004_100_04_RT2 = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_04_RT2, NULL };
-static const FieldPart *I004_100_04_PARTS[] = { &I004_100_04_RT2, NULL };
-
-/* Stop Bar Designator */
-static const FieldPart I004_100_05_SB = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_05_SB, NULL };
-static const FieldPart *I004_100_05_PARTS[] = { &I004_100_05_SB, NULL };
-
-/* Gate Designator */
-static const FieldPart I004_100_06_G = { 56, 1.0, FIELD_PART_ASCII, &hf_004_100_06_G, NULL };
-static const FieldPart *I004_100_06_PARTS[] = { &I004_100_06_G, NULL };
-
-/* FDPS Sector Control Identification */
-static const FieldPart I004_110_Centre = { 8, 1.0, FIELD_PART_UINT, &hf_004_110_Centre, NULL };
-static const FieldPart I004_110_Position = { 8, 1.0, FIELD_PART_UINT, &hf_004_110_Position, NULL };
-static const FieldPart *I004_110_PARTS[] = { &I004_110_Centre, &I004_110_Position, NULL };
-
-/* Conflict Characteristics */
-/* Conflict Nature */
-static const value_string valstr_004_120_01_MAS[] = {
- { 0, "conflict not predicted to occur in military airspace" },
- { 1, "conflict predicted to occur in military airspace" },
+static int hf_004_060_CATC;
+static const value_string valstr_004_060_CATC[] = {
+ { 0, "Default" },
+ { 1, "CATC function" },
{ 0, NULL }
};
-
-static const value_string valstr_004_120_01_CAS[] = {
- { 0, "conflict not predicted to occur in civil airspace" },
- { 1, "conflict predicted to occur in civil airspace" },
+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 value_string valstr_004_120_01_FLD[] = {
+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 value_string valstr_004_120_01_FVD[] = {
+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 value_string valstr_004_120_01_Type[] = {
+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 value_string valstr_004_120_01_Cross[] = {
+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 value_string valstr_004_120_01_Div[] = {
+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 value_string valstr_004_120_01_RRC[] = {
+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 value_string valstr_004_120_01_RTC[] = {
+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 value_string valstr_004_120_01_MRVA[] = {
+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 value_string valstr_004_120_01_VRAMCRM[] = {
+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 value_string valstr_004_120_01_VRAMVRM[] = {
+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 value_string valstr_004_120_01_VRAMVTM[] = {
+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 value_string valstr_004_120_01_HAMHD[] = {
+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 value_string valstr_004_120_01_HAMRD[] = {
+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 value_string valstr_004_120_01_HAMVD[] = {
+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 value_string valstr_004_120_01_DBPSMARR[] = {
+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 value_string valstr_004_120_01_DBPSMDEP[] = {
+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 value_string valstr_004_120_01_DBPSMTL[] = {
+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 value_string valstr_004_120_01_AIW[] = {
+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_01_MAS = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_MAS, NULL };
-static const FieldPart I004_120_01_CAS = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_CAS, NULL };
-static const FieldPart I004_120_01_FLD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_FLD, NULL };
-static const FieldPart I004_120_01_FVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_FVD, NULL };
-static const FieldPart I004_120_01_Type = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_Type, NULL };
-static const FieldPart I004_120_01_Cross = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_Cross, NULL };
-static const FieldPart I004_120_01_Div = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_Div, NULL };
-static const FieldPart I004_120_01_RRC = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_RRC, NULL };
-static const FieldPart I004_120_01_RTC = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_RTC, NULL };
-static const FieldPart I004_120_01_MRVA = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_MRVA, NULL };
-static const FieldPart I004_120_01_VRAMCRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_VRAMCRM, NULL };
-static const FieldPart I004_120_01_VRAMVRM = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_VRAMVRM, NULL };
-static const FieldPart I004_120_01_VRAMVTM = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_VRAMVTM, NULL };
-static const FieldPart I004_120_01_HAMHD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_HAMHD, NULL };
-static const FieldPart I004_120_01_HAMRD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_HAMRD, NULL };
-static const FieldPart I004_120_01_HAMVD = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_HAMVD, NULL };
-static const FieldPart I004_120_01_DBPSMARR = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_DBPSMARR, NULL };
-static const FieldPart I004_120_01_DBPSMDEP = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_DBPSMDEP, NULL };
-static const FieldPart I004_120_01_DBPSMTL = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_DBPSMTL, NULL };
-static const FieldPart I004_120_01_AIW = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_01_AIW, NULL };
-
-static const FieldPart *I004_120_01_PARTS[] = { &I004_120_01_MAS, &I004_120_01_CAS, &I004_120_01_FLD, &I004_120_01_FVD, &I004_120_01_Type, &I004_120_01_Cross, &I004_120_01_Div, &IXXX_FX,
- &I004_120_01_RRC, &I004_120_01_RTC, &I004_120_01_MRVA, &I004_120_01_VRAMCRM, &I004_120_01_VRAMVRM, &I004_120_01_VRAMVTM, &I004_120_01_HAMHD, &IXXX_FX,
- &I004_120_01_HAMRD, &I004_120_01_HAMVD, &I004_120_01_DBPSMARR, &I004_120_01_DBPSMDEP, &I004_120_01_DBPSMTL, &I004_120_01_AIW, &IXXX_1bit_spare, &IXXX_FX, NULL };
-
-/* Conflict Classification */
-static const value_string valstr_004_120_02_CS[] = {
+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_02_TID = { 4, 1.0, FIELD_PART_UINT, &hf_004_120_02_TID, NULL };
-static const FieldPart I004_120_02_SC = { 3, 1.0, FIELD_PART_UINT, &hf_004_120_02_SC, NULL };
-static const FieldPart I004_120_02_CS = { 1, 1.0, FIELD_PART_UINT, &hf_004_120_02_CS, NULL };
-static const FieldPart *I004_120_02_PARTS[] = { &I004_120_02_TID, &I004_120_02_SC, &I004_120_02_CS, NULL };
-
-/* Conflict Probabilty */
-static const FieldPart I004_120_03_Probability = { 8, 0.5, FIELD_PART_UFLOAT, &hf_004_120_03_Probability, NULL };
-static const FieldPart *I004_120_03_PARTS[] = { &I004_120_03_Probability, NULL };
-
-/* Conflict Duration */
-static const FieldPart I004_120_04_Duration = { 24, 1.0/128.0, FIELD_PART_UFLOAT, &hf_004_120_04_Duration, "%.3f" };
-static const FieldPart *I004_120_04_PARTS[] = { &I004_120_04_Duration, NULL };
-
-/* Aircraft Identification & Characteristics 1 */
-/* Aircraft Identifier 1 */
-static const FieldPart I004_170_01_AI1 = { 56, 1.0, FIELD_PART_ASCII, &hf_004_170_01_AI1, NULL };
-static const FieldPart *I004_170_01_PARTS[] = { &I004_170_01_AI1, NULL };
-
-/* Mode 3/A Code Aircraft 1 */
-static const FieldPart I004_170_02_M31 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_004_170_02_M31, NULL };
-static const FieldPart *I004_170_02_PARTS[] = { &IXXX_4bit_spare, &I004_170_02_M31, NULL };
-
-/* Predicted Conflict Position Aircraft 1 (WGS-84) */
-static const FieldPart I004_170_03_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_170_03_LAT, NULL };
-static const FieldPart I004_170_03_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_170_03_LON, NULL };
-static const FieldPart I004_170_03_ALT = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_170_03_ALT, NULL };
-static const FieldPart *I004_170_03_PARTS[] = { &I004_170_03_LAT, &I004_170_03_LON, &I004_170_03_ALT, NULL };
-
-/* Predicted Conflict Position Aircraft 1 in Cartesian Coordinates */
-static const FieldPart I004_170_04_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_170_04_X, NULL };
-static const FieldPart I004_170_04_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_170_04_Y, NULL };
-static const FieldPart I004_170_04_Z = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_170_04_Z, NULL };
-static const FieldPart *I004_170_04_PARTS[] = { &I004_170_04_X, &I004_170_04_Y, &I004_170_04_Z, NULL };
-
-/* Time to Threshold Aircraft 1 */
-static const FieldPart I004_170_05_TT1 = { 24, 1.0/128.0, FIELD_PART_UFLOAT, &hf_004_170_05_TT1, "%.3f" };
-static const FieldPart *I004_170_05_PARTS[] = { &I004_170_05_TT1, NULL };
-
-/* Distance to Threshold Aircraft 1 */
-static const FieldPart I004_170_06_DT1 = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_170_06_DT1, NULL };
-static const FieldPart *I004_170_06_PARTS[] = { &I004_170_06_DT1, NULL };
-
-/* Aircraft Characteristics Aircraft 1 */
-static const value_string valstr_004_170_07_GATOAT[] = {
+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 value_string valstr_004_170_07_FR1FR2[] = {
+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 value_string valstr_004_170_07_RVSM[] = {
+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 value_string valstr_004_170_07_HPR[] = {
+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 value_string valstr_004_170_07_CDM[] = {
+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 value_string valstr_004_170_07_PRI[] = {
+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 value_string valstr_004_170_07_GV[] = {
+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_07_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_07_GATOAT, NULL };
-static const FieldPart I004_170_07_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_07_FR1FR2, NULL };
-static const FieldPart I004_170_07_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_07_RVSM, NULL };
-static const FieldPart I004_170_07_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_004_170_07_HPR, NULL };
-static const FieldPart I004_170_07_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_004_170_07_CDM, NULL };
-static const FieldPart I004_170_07_PRI = { 1, 1.0, FIELD_PART_UINT, &hf_004_170_07_PRI, NULL };
-static const FieldPart I004_170_07_GV = { 1, 1.0, FIELD_PART_UINT, &hf_004_170_07_GV, NULL };
-static const FieldPart *I004_170_07_PARTS[] = { &I004_170_07_GATOAT, &I004_170_07_FR1FR2, &I004_170_07_RVSM, &I004_170_07_HPR, &IXXX_FX,
- &I004_170_07_CDM, &I004_170_07_PRI, &I004_170_07_GV, &IXXX_3bit_spare, &IXXX_FX, NULL };
-
-/* Mode-S Identifier Aircraft 1 */
-static const FieldPart I004_170_08_MS1 = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_004_170_08_MS1, NULL };
-static const FieldPart *I004_170_08_PARTS[] = { &I004_170_08_MS1, NULL };
-
-/* Flight Plan Number Aircraft 1 */
-static const FieldPart I004_170_09_FP1 = { 27, 1.0, FIELD_PART_UINT, &hf_004_170_09_FP1, NULL };
-static const FieldPart *I004_170_09_PARTS[] = { &IXXX_5bit_spare, &I004_170_09_FP1, NULL };
-
-/* Cleared Flight Level Aircraft 1 */
-static const FieldPart I004_170_10_CF1 = { 16, 0.25, FIELD_PART_FLOAT, &hf_004_170_10_CF1, NULL };
-static const FieldPart *I004_170_10_PARTS[] = { &I004_170_10_CF1, NULL };
-
-/* Aircraft Identification & Characteristics 2 */
-/* Aircraft Identifier 2 */
-static const FieldPart I004_171_01_AI2 = { 56, 1.0, FIELD_PART_ASCII, &hf_004_171_01_AI2, NULL };
-static const FieldPart *I004_171_01_PARTS[] = { &I004_171_01_AI2, NULL };
-
-/* Mode 3/A Code Aircraft 2 */
-static const FieldPart I004_171_02_M32 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_004_171_02_M32, NULL };
-static const FieldPart *I004_171_02_PARTS[] = { &IXXX_4bit_spare, &I004_171_02_M32, NULL };
-
-/* Predicted Conflict Position Aircraft 2 (WGS-84) */
-static const FieldPart I004_171_03_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_171_03_LAT, NULL };
-static const FieldPart I004_171_03_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_171_03_LON, NULL };
-static const FieldPart I004_171_03_ALT = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_171_03_ALT, NULL };
-static const FieldPart *I004_171_03_PARTS[] = { &I004_171_03_LAT, &I004_171_03_LON, &I004_171_03_ALT, NULL };
-
-/* Predicted Conflict Position Aircraft 2 in Cartesian Coordinates */
-static const FieldPart I004_171_04_X = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_171_04_X, NULL };
-static const FieldPart I004_171_04_Y = { 24, 0.5, FIELD_PART_FLOAT, &hf_004_171_04_Y, NULL };
-static const FieldPart I004_171_04_Z = { 16, 25.0, FIELD_PART_FLOAT, &hf_004_171_04_Z, NULL };
-static const FieldPart *I004_171_04_PARTS[] = { &I004_171_04_X, &I004_171_04_Y, &I004_171_04_Z, NULL };
-
-/* Time to Threshold Aircraft 2 */
-static const FieldPart I004_171_05_TT2 = { 24, 1.0/128.0, FIELD_PART_UFLOAT, &hf_004_171_05_TT2, "%.3f" };
-static const FieldPart *I004_171_05_PARTS[] = { &I004_171_05_TT2, NULL };
-
-/* Distance to Threshold Aircraft 2 */
-static const FieldPart I004_171_06_DT2 = { 16, 0.5, FIELD_PART_UFLOAT, &hf_004_171_06_DT2, NULL };
-static const FieldPart *I004_171_06_PARTS[] = { &I004_171_06_DT2, NULL };
-
-/* Aircraft Characteristics Aircraft 2 */
-static const value_string valstr_004_171_07_GATOAT[] = {
+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 value_string valstr_004_171_07_FR1FR2[] = {
+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 value_string valstr_004_171_07_RVSM[] = {
+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 value_string valstr_004_171_07_HPR[] = {
+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 value_string valstr_004_171_07_CDM[] = {
+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 value_string valstr_004_171_07_PRI[] = {
+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 value_string valstr_004_171_07_GV[] = {
+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 } };
-static const FieldPart I004_171_07_GATOAT = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_07_GATOAT, NULL };
-static const FieldPart I004_171_07_FR1FR2 = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_07_FR1FR2, NULL };
-static const FieldPart I004_171_07_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_07_RVSM, NULL };
-static const FieldPart I004_171_07_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_004_171_07_HPR, NULL };
-static const FieldPart I004_171_07_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_004_171_07_CDM, NULL };
-static const FieldPart I004_171_07_PRI = { 1, 1.0, FIELD_PART_UINT, &hf_004_171_07_PRI, NULL };
-static const FieldPart I004_171_07_GV = { 1, 1.0, FIELD_PART_UINT, &hf_004_171_07_GV, NULL };
-static const FieldPart *I004_171_07_PARTS[] = { &I004_171_07_GATOAT, &I004_171_07_FR1FR2, &I004_171_07_RVSM, &I004_171_07_HPR, &IXXX_FX,
- &I004_171_07_CDM, &I004_171_07_PRI, &I004_171_07_GV, &IXXX_3bit_spare, &IXXX_FX, NULL };
-
-/* Mode-S Identifier Aircraft 2 */
-static const FieldPart I004_171_08_MS2 = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_004_171_08_MS2, NULL };
-static const FieldPart *I004_171_08_PARTS[] = { &I004_171_08_MS2, NULL };
-
-/* Flight Plan Number Aircraft 2 */
-static const FieldPart I004_171_09_FP2 = { 27, 1.0, FIELD_PART_UINT, &hf_004_171_09_FP2, NULL };
-static const FieldPart *I004_171_09_PARTS[] = { &IXXX_5bit_spare, &I004_171_09_FP2, NULL };
-
-/* Cleared Flight Level Aircraft 2 */
-static const FieldPart I004_171_10_CF2 = { 16, 0.25, FIELD_PART_FLOAT, &hf_004_171_10_CF2, NULL };
-static const FieldPart *I004_171_10_PARTS[] = { &I004_171_10_CF2, NULL };
-
-/* Reserved Expansion */
-/* Information on target 1 */
-static const FieldPart I004_RE_TI1_PW1_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_TI1_PW1_LAT, NULL };
-static const FieldPart I004_RE_TI1_PW1_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_TI1_PW1_LON, NULL };
-static const FieldPart *I004_RE_TI1_PW1_PARTS[] = { &I004_RE_TI1_PW1_LAT, &I004_RE_TI1_PW1_LON, 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
-static const FieldPart I004_RE_TI1_PC1_X = { 32, 0.5, FIELD_PART_FLOAT, &hf_004_RE_TI1_PC1_X, NULL };
-static const FieldPart I004_RE_TI1_PC1_Y = { 32, 0.5, FIELD_PART_FLOAT, &hf_004_RE_TI1_PC1_Y, NULL };
-static const FieldPart *I004_RE_TI1_PC1_PARTS[] = { &I004_RE_TI1_PC1_X, &I004_RE_TI1_PC1_Y, NULL };
+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
-static const value_string valstr_004_RE_TI1_MC_VALID[] = {
- { 0, "Code validated" },
- { 1, "Code not validated" },
+/* 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 value_string valstr_004_RE_TI1_MC_GARBLED[] = {
- { 0, "default" },
- { 1, "code garbled" },
+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 I004_RE_TI1_MC1_VALID = { 1, 1.0, FIELD_PART_UINT, &hf_004_RE_TI1_MC1_VALID, NULL };
-static const FieldPart I004_RE_TI1_MC1_GARBLED = { 1, 1.0, FIELD_PART_UINT, &hf_004_RE_TI1_MC1_GARBLED, NULL };
-static const FieldPart I004_RE_TI1_MC1_CODE = { 14, 0.25, FIELD_PART_FLOAT, &hf_004_RE_TI1_MC1_CODE, NULL };
-static const FieldPart *I004_RE_TI1_MC1_PARTS[] = { &I004_RE_TI1_MC1_VALID, &I004_RE_TI1_MC1_GARBLED, &I004_RE_TI1_MC1_CODE, NULL };
-
-static const FieldPart I004_RE_TI1_V1_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_004_RE_TI1_V1_VX, NULL };
-static const FieldPart I004_RE_TI1_V1_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_004_RE_TI1_V1_VY, NULL };
-static const FieldPart *I004_RE_TI1_V1_PARTS[] = { &I004_RE_TI1_V1_VX, &I004_RE_TI1_V1_VY, NULL };
-
-
-/* Information on target 2 */
-static const FieldPart I004_RE_TI2_PW2_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_TI2_PW2_LAT, NULL };
-static const FieldPart I004_RE_TI2_PW2_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_TI2_PW2_LON, NULL };
-static const FieldPart *I004_RE_TI2_PW2_PARTS[] = { &I004_RE_TI2_PW2_LAT, &I004_RE_TI2_PW2_LON, NULL };
-
-static const FieldPart I004_RE_TI2_PC2_X = { 32, 0.5, FIELD_PART_FLOAT, &hf_004_RE_TI2_PC2_X, NULL };
-static const FieldPart I004_RE_TI2_PC2_Y = { 32, 0.5, FIELD_PART_FLOAT, &hf_004_RE_TI2_PC2_Y, NULL };
-static const FieldPart *I004_RE_TI2_PC2_PARTS[] = { &I004_RE_TI2_PC2_X, &I004_RE_TI2_PC2_Y, NULL };
-
-static const value_string valstr_004_RE_TI2_MC_VALID[] = {
- { 0, "Code validated" },
- { 1, "Code not validated" },
+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 } };
-static const value_string valstr_004_RE_TI2_MC_GARBLED[] = {
- { 0, "default" },
- { 1, "code garbled" },
- { 0, NULL }
-};
-
-static const FieldPart I004_RE_TI2_MC2_VALID = { 1, 1.0, FIELD_PART_UINT, &hf_004_RE_TI2_MC2_VALID, NULL };
-static const FieldPart I004_RE_TI2_MC2_GARBLED = { 1, 1.0, FIELD_PART_UINT, &hf_004_RE_TI2_MC2_GARBLED, NULL };
-static const FieldPart I004_RE_TI2_MC2_CODE = { 14, 0.25, FIELD_PART_FLOAT, &hf_004_RE_TI2_MC2_CODE, NULL };
-static const FieldPart *I004_RE_TI2_MC2_PARTS[] = { &I004_RE_TI2_MC2_VALID, &I004_RE_TI2_MC2_GARBLED, &I004_RE_TI2_MC2_CODE, NULL };
-
-static const FieldPart I004_RE_TI2_V2_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_004_RE_TI2_V2_VX, NULL };
-static const FieldPart I004_RE_TI2_V2_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_004_RE_TI2_V2_VY, NULL };
-static const FieldPart *I004_RE_TI2_V2_PARTS[] = { &I004_RE_TI2_V2_VX, &I004_RE_TI2_V2_VY, NULL };
-
-/* Extended Information Target 1 */
-/* VR1 */
-static const FieldPart I004_RE_EIT1_VR1_VR = { 16, 6.25, FIELD_PART_FLOAT, &hf_004_RE_EIT1_VR1_VR, NULL };
-static const FieldPart *I004_RE_EIT1_VR1_PARTS[] = { &I004_RE_EIT1_VR1_VR, NULL };
-
-/* MS1 */
-static const FieldPart I004_RE_EIT1_MS1_ADDR = { 24, 1.0, FIELD_PART_HEX, &hf_004_RE_EIT1_MS1_ADDR, NULL };
-static const FieldPart *I004_RE_EIT1_MS1_PARTS[] = { &I004_RE_EIT1_MS1_ADDR, NULL };
-
-/* TR1 */
-static const value_string valstr_004_RE_EIT1_TR1_PC[] = {
- { 0, "Default Value" },
- { 1, "Fly-By-Point" },
- { 2, "Fly-Over-Point" },
- { 3, "Starting Point Of Turn" },
- { 4, "Starting Point of Linear Motion Segment" },
- { 5, "(reserved)" },
- { 6, "(reserved)" },
- { 7, "(reserved)" },
- { 8, "(reserved)" },
- { 9, "(reserved)" },
- { 10, "(reserved)" },
- { 11, "(reserved)" },
- { 12, "(reserved)" },
- { 13, "(reserved)" },
- { 14, "(reserved)" },
- { 15, "(reserved)" },
- { 0, NULL }
-};
-static const FieldPart I004_RE_EIT1_TR1_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_EIT1_TR1_LAT, NULL };
-static const FieldPart I004_RE_EIT1_TR1_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_EIT1_TR1_LON, NULL };
-static const FieldPart I004_RE_EIT1_TR1_ALT = { 16, 25.0, FIELD_PART_INT, &hf_004_RE_EIT1_TR1_ALT, NULL };
-static const FieldPart I004_RE_EIT1_TR1_PC = { 4, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT1_TR1_PC, NULL };
-static const FieldPart I004_RE_EIT1_TR1_DEL = { 12, 1.0, FIELD_PART_FLOAT, &hf_004_RE_EIT1_TR1_DEL, NULL };
-static const FieldPart *I004_RE_EIT1_TR1_PARTS[] = { &I004_RE_EIT1_TR1_LAT, &I004_RE_EIT1_TR1_LON, &I004_RE_EIT1_TR1_ALT,
- &I004_RE_EIT1_TR1_PC, &I004_RE_EIT1_TR1_DEL, NULL };
-
-/* PG1 */
-static const FieldPart I004_RE_EIT1_PG1_PG = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT1_PG1_PG, NULL };
-static const FieldPart *I004_RE_EIT1_PG1_PARTS[] = { &I004_RE_EIT1_PG1_PG, NULL };
-
-/* AT1 */
-static const FieldPart I004_RE_EIT1_AT1_STAT = { 7, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT1_AT1_STAT, NULL };
-static const FieldPart *I004_RE_EIT1_AT1_PARTS[] = { &I004_RE_EIT1_AT1_STAT, &IXXX_FX, NULL };
-
-/* QN1 */
-static const FieldPart I004_RE_EIT1_QN1_DEL = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT1_QN1_DEL, NULL };
-static const FieldPart *I004_RE_EIT1_QN1_PARTS[] = { &I004_RE_EIT1_QN1_DEL, NULL };
-
-/* VL1 */
-static const FieldPart I004_RE_EIT1_VL1_VL = { 16, 25.0, FIELD_PART_INT, &hf_004_RE_EIT1_VL1_VL, NULL };
-static const FieldPart *I004_RE_EIT1_VL1_PARTS[] = { &I004_RE_EIT1_VL1_VL, NULL };
-
-
-/* Extended Information Target 2 */
-/* VR2 */
-static const FieldPart I004_RE_EIT2_VR2_VR = { 16, 6.25, FIELD_PART_FLOAT, &hf_004_RE_EIT2_VR2_VR, NULL };
-static const FieldPart *I004_RE_EIT2_VR2_PARTS[] = { &I004_RE_EIT2_VR2_VR, NULL };
-
-/* MS2 */
-static const FieldPart I004_RE_EIT2_MS2_ADDR = { 24, 1.0, FIELD_PART_HEX, &hf_004_RE_EIT2_MS2_ADDR, NULL };
-static const FieldPart *I004_RE_EIT2_MS2_PARTS[] = { &I004_RE_EIT2_MS2_ADDR, NULL };
-
-/* TR2 */
-static const value_string valstr_004_RE_EIT2_TR2_PC[] = {
- { 0, "Default Value" },
- { 1, "Fly-By-Point" },
- { 2, "Fly-Over-Point" },
- { 3, "Starting Point Of Turn" },
- { 4, "Starting Point of Linear Motion Segment" },
- { 5, "(reserved)" },
- { 6, "(reserved)" },
- { 7, "(reserved)" },
- { 8, "(reserved)" },
- { 9, "(reserved)" },
- { 10, "(reserved)" },
- { 11, "(reserved)" },
- { 12, "(reserved)" },
- { 13, "(reserved)" },
- { 14, "(reserved)" },
- { 15, "(reserved)" },
- { 0, NULL }
-};
-static const FieldPart I004_RE_EIT2_TR2_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_EIT2_TR2_LAT, NULL };
-static const FieldPart I004_RE_EIT2_TR2_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_004_RE_EIT2_TR2_LON, NULL };
-static const FieldPart I004_RE_EIT2_TR2_ALT = { 16, 25.0, FIELD_PART_INT, &hf_004_RE_EIT2_TR2_ALT, NULL };
-static const FieldPart I004_RE_EIT2_TR2_PC = { 4, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT2_TR2_PC, NULL };
-static const FieldPart I004_RE_EIT2_TR2_DEL = { 12, 1.0, FIELD_PART_FLOAT, &hf_004_RE_EIT2_TR2_DEL, NULL };
-static const FieldPart *I004_RE_EIT2_TR2_PARTS[] = { &I004_RE_EIT2_TR2_LAT, &I004_RE_EIT2_TR2_LON, &I004_RE_EIT2_TR2_ALT,
- &I004_RE_EIT2_TR2_PC, &I004_RE_EIT2_TR2_DEL, NULL };
-
-/* PG1 */
-static const FieldPart I004_RE_EIT2_PG2_PG = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT2_PG2_PG, NULL };
-static const FieldPart *I004_RE_EIT2_PG2_PARTS[] = { &I004_RE_EIT2_PG2_PG, NULL };
-
-/* AT1 */
-static const FieldPart I004_RE_EIT2_AT2_STAT = { 7, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT2_AT2_STAT, NULL };
-static const FieldPart *I004_RE_EIT2_AT2_PARTS[] = { &I004_RE_EIT2_AT2_STAT, NULL };
-
-/* QN1 */
-static const FieldPart I004_RE_EIT2_QN2_DEL = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_EIT2_QN2_DEL, NULL };
-static const FieldPart *I004_RE_EIT2_QN2_PARTS[] = { &I004_RE_EIT2_QN2_DEL, NULL };
-
-/* VL1 */
-static const FieldPart I004_RE_EIT2_VL2_VL = { 16, 25.0, FIELD_PART_INT, &hf_004_RE_EIT2_VL2_VL, NULL };
-static const FieldPart *I004_RE_EIT2_VL2_PARTS[] = { &I004_RE_EIT2_VL2_VL, NULL };
-
-/* Conflict Information */
-
-/* FHV */
-static const FieldPart I004_RE_CI_FHV_TIME = { 24, 1.0/128.0, FIELD_PART_FLOAT, &hf_004_RE_CI_FHV_TIME, NULL };
-static const FieldPart *I004_RE_CI_FHV_PARTS[] = { &I004_RE_CI_FHV_TIME, NULL };
-
-/* LHV */
-static const FieldPart I004_RE_CI_LHV_TIME = { 24, 1.0/128.0, FIELD_PART_FLOAT, &hf_004_RE_CI_LHV_TIME, NULL };
-static const FieldPart *I004_RE_CI_LHV_PARTS[] = { &I004_RE_CI_LHV_TIME, NULL };
-
-/* FVV */
-static const FieldPart I004_RE_CI_FVV_TIME = { 24, 1.0/128.0, FIELD_PART_FLOAT, &hf_004_RE_CI_FVV_TIME, NULL };
-static const FieldPart *I004_RE_CI_FVV_PARTS[] = { &I004_RE_CI_FVV_TIME, NULL };
-
-/* LVV */
-static const FieldPart I004_RE_CI_LVV_TIME = { 24, 1.0/128.0, FIELD_PART_FLOAT, &hf_004_RE_CI_LVV_TIME, NULL };
-static const FieldPart *I004_RE_CI_LVV_PARTS[] = { &I004_RE_CI_LVV_TIME, NULL };
-
-/* DET */
-static const FieldPart I004_RE_CI_DET_CNT = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_CI_DET_CNT, NULL };
-static const FieldPart *I004_RE_CI_DET_PARTS[] = { &I004_RE_CI_DET_CNT, NULL };
-
-/* MIS */
-static const FieldPart I004_RE_CI_MIS_CNT = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_CI_MIS_CNT, NULL };
-static const FieldPart *I004_RE_CI_MIS_PARTS[] = { &I004_RE_CI_MIS_CNT, NULL };
-
-/* CSA */
-static const FieldPart I004_RE_CI_CSA_CUR = { 7, 1.0, FIELD_PART_UINT, &hf_004_RE_CI_CSA_CUR, NULL };
-static const FieldPart I004_RE_CI_CSA_START = { 7, 1.0, FIELD_PART_UINT, &hf_004_RE_CI_CSA_START, NULL };
-static const FieldPart *I004_RE_CI_CSA_PARTS[] = { &I004_RE_CI_CSA_CUR, &IXXX_1bit_spare, &I004_RE_CI_CSA_START, &IXXX_FX, NULL };
-
-/* PGC */
-static const FieldPart I004_RE_CI_PGC_ID = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_CI_PGC_ID, NULL };
-static const FieldPart *I004_RE_CI_PGC_PARTS[] = { &I004_RE_CI_PGC_ID, NULL };
-
-static const value_string valstr_004_RE_CI_HYP[] = {
- { 1, "Main Hypothesis" },
- { 2, "Backup Hypothesis" },
- { 0, NULL }
-};
-
-/* HYP */
-static const FieldPart I004_RE_CI_HYP_ID = { 8, 1.0, FIELD_PART_UINT, &hf_004_RE_CI_HYP_ID, NULL };
-static const FieldPart *I004_RE_CI_HYP_PARTS[] = { &I004_RE_CI_HYP_ID, NULL };
-
-/* Time to go */
-static const FieldPart I004_RE_TTG_TIME = { 24, 1.0/128.0, FIELD_PART_FLOAT, &hf_004_RE_TTG_TIME, NULL };
-static const FieldPart *I004_RE_TTG_PARTS[] = { &I004_RE_TTG_TIME, NULL };
-
-/* Deviations from Expected Flight Behaviour */
-/* SD */
-static const FieldPart I004_RE_FBD_SD_DEV = { 16, 0.22, FIELD_PART_FLOAT, &hf_004_RE_FBD_SD_DEV, NULL };
-static const FieldPart *I004_RE_FBD_SD_PARTS[] = { &I004_RE_FBD_SD_DEV, NULL };
-
-/* VRD */
-static const FieldPart I004_RE_FBD_VRD_DEV = { 16, 6.25, FIELD_PART_FLOAT, &hf_004_RE_FBD_VRD_DEV, NULL };
-static const FieldPart *I004_RE_FBD_VRD_PARTS[] = { &I004_RE_FBD_VRD_DEV, NULL };
-
-/* PD */
-static const FieldPart I004_RE_FBD_PD_DEV = { 16, 0.1, FIELD_PART_FLOAT, &hf_004_RE_FBD_PD_DEV, NULL };
-static const FieldPart *I004_RE_FBD_PD_PARTS[] = { &I004_RE_FBD_PD_DEV, NULL };
-
-/* HD */
-static const FieldPart I004_RE_FBD_HD_DEV = { 16, 360.0/65536.0, FIELD_PART_FLOAT, &hf_004_RE_FBD_HD_DEV, NULL };
-static const FieldPart *I004_RE_FBD_HD_PARTS[] = { &I004_RE_FBD_HD_DEV, NULL };
-
-/* SLD */
-static const FieldPart I004_RE_FBD_SLD_DEV = { 16, 360.0/65536.0, FIELD_PART_FLOAT, &hf_004_RE_FBD_SLD_DEV, NULL };
-static const FieldPart *I004_RE_FBD_SLD_PARTS[] = { &I004_RE_FBD_SLD_DEV, NULL };
-
-/* AFI */
-static const FieldPart I004_RE_AFI_AFI = { 16, 1.0, FIELD_PART_UINT, &hf_004_RE_AFI_AFI, NULL };
-static const FieldPart *I004_RE_AFI_PARTS[] = { &I004_RE_AFI_AFI, NULL };
-
-/* AFT */
-static const FieldPart I004_RE_AFT_AFT = { 8, 1.0, FIELD_PART_ASCII, &hf_004_RE_AFT_AFT, NULL };
-static const FieldPart *I004_RE_AFT_PARTS[] = { &I004_RE_AFT_AFT, NULL };
-
-/* FASI */
-/* SIO */
-static const FieldPart I004_RE_FASI_SO_SIO = { 16, 360.0/65536.0, FIELD_PART_FLOAT, &hf_004_RE_FASI_SO_SIO, NULL };
-static const FieldPart *I004_RE_FASI_SO_PARTS[] = { &I004_RE_FASI_SO_SIO, NULL };
-
-/* MSH */
-static const FieldPart I004_RE_FASI_MSH_HSM = { 16, 0.001, FIELD_PART_FLOAT, &hf_004_RE_FASI_MSH_HSM, NULL };
-static const FieldPart *I004_RE_FASI_MSH_PARTS[] = { &I004_RE_FASI_MSH_HSM, NULL };
-
-/* MSV */
-static const FieldPart I004_RE_FASI_MSV_VSM = { 16, 25.0, FIELD_PART_INT, &hf_004_RE_FASI_MSV_VSM, NULL };
-static const FieldPart *I004_RE_FASI_MSV_PARTS[] = { &I004_RE_FASI_MSV_VSM, NULL };
-
-/* MST */
-static const FieldPart I004_RE_FASI_MST_TBSM = { 16, 1.0, FIELD_PART_INT, &hf_004_RE_FASI_MST_TBSM, NULL };
-static const FieldPart *I004_RE_FASI_MST_PARTS[] = { &I004_RE_FASI_MST_TBSM, NULL };
-
-/* WT1 */
-static const FieldPart I004_RE_FASI_WT1_WTC = { 8, 1.0, FIELD_PART_ASCII, &hf_004_RE_FASI_WT1_WTC, NULL };
-static const FieldPart *I004_RE_FASI_WT1_PARTS[] = { &I004_RE_FASI_WT1_WTC, NULL };
-
-/* WT2 */
-static const FieldPart I004_RE_FASI_WT2_WTC = { 8, 1.0, FIELD_PART_ASCII, &hf_004_RE_FASI_WT2_WTC, NULL };
-static const FieldPart *I004_RE_FASI_WT2_PARTS[] = { &I004_RE_FASI_WT2_WTC, NULL };
-
-/* TA1 */
-static const FieldPart I004_RE_FASI_TA1_TYP = { 32, 1.0, FIELD_PART_ASCII, &hf_004_RE_FASI_TA1_TYP, NULL };
-static const FieldPart *I004_RE_FASI_TA1_PARTS[] = { &I004_RE_FASI_TA1_TYP, NULL };
-
-/* TA2 */
-static const FieldPart I004_RE_FASI_TA2_TYP = { 32, 1.0, FIELD_PART_ASCII, &hf_004_RE_FASI_TA2_TYP, NULL };
-static const FieldPart *I004_RE_FASI_TA2_PARTS[] = { &I004_RE_FASI_TA2_TYP, NULL };
-
-/* ASI */
-static const FieldPart I004_RE_FASI_ASI_APP = { 16, 0.001, FIELD_PART_FLOAT, &hf_004_RE_FASI_ASI_APP, NULL };
-static const FieldPart *I004_RE_FASI_ASI_PARTS[] = { &I004_RE_FASI_ASI_APP, NULL };
-
-/* Items */
DIAG_OFF_PEDANTIC
-static const AsterixField I004_000 = { FIXED, 1, 0, 0, &hf_004_000, I004_000_PARTS, { NULL } };
-static const AsterixField I004_010 = { FIXED, 2, 0, 0, &hf_004_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I004_015 = { REPETITIVE, 2, 1, 0, &hf_004_015, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I004_020 = { FIXED, 3, 0, 0, &hf_004_020, IXXX_TOD, { NULL } };
-static const AsterixField I004_030 = { FIXED, 2, 0, 0, &hf_004_030, I004_030_PARTS, { NULL } };
-static const AsterixField I004_035 = { FIXED, 2, 0, 0, &hf_004_035, I004_035_PARTS, { NULL } };
-static const AsterixField I004_040 = { FIXED, 2, 0, 0, &hf_004_040, I004_040_PARTS, { NULL } };
-static const AsterixField I004_045 = { FIXED, 1, 0, 0, &hf_004_045, I004_045_PARTS, { NULL } };
-static const AsterixField I004_060 = { FX, 1, 0, 0, &hf_004_060, I004_060_PARTS, { NULL } };
-static const AsterixField I004_070_01 = { FIXED, 3, 0, 0, &hf_004_070_01, I004_070_01_PARTS, { NULL } };
-static const AsterixField I004_070_02 = { FIXED, 3, 0, 0, &hf_004_070_02, I004_070_02_PARTS, { NULL } };
-static const AsterixField I004_070_03 = { FIXED, 3, 0, 0, &hf_004_070_03, I004_070_03_PARTS, { NULL } };
-static const AsterixField I004_070_04 = { FIXED, 2, 0, 0, &hf_004_070_04, I004_070_04_PARTS, { NULL } };
-static const AsterixField I004_070_05 = { FIXED, 2, 0, 0, &hf_004_070_05, I004_070_05_PARTS, { NULL } };
-static const AsterixField I004_070_06 = { FIXED, 2, 0, 0, &hf_004_070_06, I004_070_06_PARTS, { NULL } };
-static const AsterixField I004_070 = { COMPOUND, 0, 0, 0, &hf_004_070, NULL, { &I004_070_01,
- &I004_070_02,
- &I004_070_03,
- &I004_070_04,
- &I004_070_05,
- &I004_070_06,
- NULL } };
-static const AsterixField I004_074 = { FIXED, 2, 0, 0, &hf_004_074, I004_074_PARTS, { NULL } };
-static const AsterixField I004_075 = { FIXED, 3, 0, 0, &hf_004_075, I004_075_PARTS, { NULL } };
-static const AsterixField I004_076 = { FIXED, 2, 0, 0, &hf_004_076, I004_076_PARTS, { NULL } };
-static const AsterixField I004_100_01 = { FIXED, 6, 0, 0, &hf_004_100_01, I004_100_01_PARTS, { NULL } };
-static const AsterixField I004_100_02 = { FIXED, 7, 0, 0, &hf_004_100_02, I004_100_02_PARTS, { NULL } };
-static const AsterixField I004_100_03 = { FIXED, 7, 0, 0, &hf_004_100_03, I004_100_03_PARTS, { NULL } };
-static const AsterixField I004_100_04 = { FIXED, 7, 0, 0, &hf_004_100_04, I004_100_04_PARTS, { NULL } };
-static const AsterixField I004_100_05 = { FIXED, 7, 0, 0, &hf_004_100_05, I004_100_05_PARTS, { NULL } };
-static const AsterixField I004_100_06 = { FIXED, 7, 0, 0, &hf_004_100_06, I004_100_06_PARTS, { NULL } };
-static const AsterixField I004_100 = { COMPOUND, 0, 0, 0, &hf_004_100, NULL, { &I004_100_01,
- &I004_100_02,
- &I004_100_03,
- &I004_100_04,
- &I004_100_05,
- &I004_100_06,
- NULL } };
-static const AsterixField I004_110 = { REPETITIVE, 1, 2, 0, &hf_004_110, I004_110_PARTS, { NULL } };
-static const AsterixField I004_120_01 = { FX, 1, 0, 0, &hf_004_120_01, I004_120_01_PARTS, { NULL } };
-static const AsterixField I004_120_02 = { FIXED, 1, 0, 0, &hf_004_120_02, I004_120_02_PARTS, { NULL } };
-static const AsterixField I004_120_03 = { FIXED, 1, 0, 0, &hf_004_120_03, I004_120_03_PARTS, { NULL } };
-static const AsterixField I004_120_04 = { FIXED, 3, 0, 0, &hf_004_120_04, I004_120_04_PARTS, { NULL } };
-static const AsterixField I004_120 = { COMPOUND, 0, 0, 0, &hf_004_120, NULL, { &I004_120_01,
- &I004_120_02,
- &I004_120_03,
- &I004_120_04,
- NULL } };
-static const AsterixField I004_170_01 = { FIXED, 7, 0, 0, &hf_004_170_01, I004_170_01_PARTS, { NULL } };
-static const AsterixField I004_170_02 = { FIXED, 2, 0, 0, &hf_004_170_02, I004_170_02_PARTS, { NULL } };
-static const AsterixField I004_170_03 = { FIXED, 10, 0, 0, &hf_004_170_03, I004_170_03_PARTS, { NULL } };
-static const AsterixField I004_170_04 = { FIXED, 8, 0, 0, &hf_004_170_04, I004_170_04_PARTS, { NULL } };
-static const AsterixField I004_170_05 = { FIXED, 3, 0, 0, &hf_004_170_05, I004_170_05_PARTS, { NULL } };
-static const AsterixField I004_170_06 = { FIXED, 2, 0, 0, &hf_004_170_06, I004_170_06_PARTS, { NULL } };
-static const AsterixField I004_170_07 = { FX, 1, 0, 0, &hf_004_170_07, I004_170_07_PARTS, { NULL } };
-static const AsterixField I004_170_08 = { FIXED, 6, 0, 0, &hf_004_170_08, I004_170_08_PARTS, { NULL } };
-static const AsterixField I004_170_09 = { FIXED, 4, 0, 0, &hf_004_170_09, I004_170_09_PARTS, { NULL } };
-static const AsterixField I004_170_10 = { FIXED, 2, 0, 0, &hf_004_170_10, I004_170_10_PARTS, { NULL } };
-static const AsterixField I004_170 = { COMPOUND, 0, 0, 0, &hf_004_170, NULL, { &I004_170_01,
- &I004_170_02,
- &I004_170_03,
- &I004_170_04,
- &I004_170_05,
- &I004_170_06,
- &I004_170_07,
- &I004_170_08,
- &I004_170_09,
- &I004_170_10,
- NULL } };
-static const AsterixField I004_171_01 = { FIXED, 7, 0, 0, &hf_004_171_01, I004_171_01_PARTS, { NULL } };
-static const AsterixField I004_171_02 = { FIXED, 2, 0, 0, &hf_004_171_02, I004_171_02_PARTS, { NULL } };
-static const AsterixField I004_171_03 = { FIXED, 10, 0, 0, &hf_004_171_03, I004_171_03_PARTS, { NULL } };
-static const AsterixField I004_171_04 = { FIXED, 8, 0, 0, &hf_004_171_04, I004_171_04_PARTS, { NULL } };
-static const AsterixField I004_171_05 = { FIXED, 3, 0, 0, &hf_004_171_05, I004_171_05_PARTS, { NULL } };
-static const AsterixField I004_171_06 = { FIXED, 2, 0, 0, &hf_004_171_06, I004_171_06_PARTS, { NULL } };
-static const AsterixField I004_171_07 = { FX, 1, 0, 0, &hf_004_171_07, I004_171_07_PARTS, { NULL } };
-static const AsterixField I004_171_08 = { FIXED, 6, 0, 0, &hf_004_171_08, I004_171_08_PARTS, { NULL } };
-static const AsterixField I004_171_09 = { FIXED, 4, 0, 0, &hf_004_171_09, I004_171_09_PARTS, { NULL } };
-static const AsterixField I004_171_10 = { FIXED, 2, 0, 0, &hf_004_171_10, I004_171_10_PARTS, { NULL } };
-static const AsterixField I004_171 = { COMPOUND, 0, 0, 0, &hf_004_171, NULL, { &I004_171_01,
- &I004_171_02,
- &I004_171_03,
- &I004_171_04,
- &I004_171_05,
- &I004_171_06,
- &I004_171_07,
- &I004_171_08,
- &I004_171_09,
- &I004_171_10,
- NULL } };
-static const AsterixField I004_SP = { SP, 0, 0, 1, &hf_004_SP, NULL, { NULL } };
-static const AsterixField I004_RE_TI1_PW1 = { FIXED, 8, 0, 0, &hf_004_RE_TI1_PW1, I004_RE_TI1_PW1_PARTS, { NULL } };
-static const AsterixField I004_RE_TI1_PC1 = { FIXED, 6, 0, 0, &hf_004_RE_TI1_PC1, I004_RE_TI1_PC1_PARTS, { NULL } };
-static const AsterixField I004_RE_TI1_MC1 = { FIXED, 2, 0, 0, &hf_004_RE_TI1_MC1, I004_RE_TI1_MC1_PARTS, { NULL } };
-static const AsterixField I004_RE_TI1_V1 = { FIXED, 4, 0, 0, &hf_004_RE_TI1_V1, I004_RE_TI1_V1_PARTS, { NULL } };
-static const AsterixField I004_RE_TI1 = { COMPOUND, 0, 0, 0, &hf_004_RE_TI1, NULL, { &I004_RE_TI1_PW1,
- &I004_RE_TI1_PC1,
- &I004_RE_TI1_MC1,
- &I004_RE_TI1_V1,
- NULL } };
-static const AsterixField I004_RE_TI2_PW2 = { FIXED, 8, 0, 0, &hf_004_RE_TI2_PW2, I004_RE_TI2_PW2_PARTS, { NULL } };
-static const AsterixField I004_RE_TI2_PC2 = { FIXED, 6, 0, 0, &hf_004_RE_TI2_PC2, I004_RE_TI2_PC2_PARTS, { NULL } };
-static const AsterixField I004_RE_TI2_MC2 = { FIXED, 2, 0, 0, &hf_004_RE_TI2_MC2, I004_RE_TI2_MC2_PARTS, { NULL } };
-static const AsterixField I004_RE_TI2_V2 = { FIXED, 4, 0, 0, &hf_004_RE_TI2_V2, I004_RE_TI2_V2_PARTS, { NULL } };
-static const AsterixField I004_RE_TI2 = { COMPOUND, 0, 0, 0, &hf_004_RE_TI2, NULL, { &I004_RE_TI2_PW2,
- &I004_RE_TI2_PC2,
- &I004_RE_TI2_MC2,
- &I004_RE_TI2_V2,
- NULL } };
-static const AsterixField I004_RE_EIT1_VR1 = { FIXED, 2, 0, 0, &hf_004_RE_EIT1_VR1, I004_RE_EIT1_VR1_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT1_MS1 = { FIXED, 3, 0, 0, &hf_004_RE_EIT1_MS1, I004_RE_EIT1_MS1_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT1_TR1 = { REPETITIVE, 12, 1, 0, &hf_004_RE_EIT1_TR1, I004_RE_EIT1_TR1_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT1_PG1 = { FIXED, 1, 0, 0, &hf_004_RE_EIT1_PG1, I004_RE_EIT1_PG1_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT1_AT1 = { FIXED, 1, 0, 0, &hf_004_RE_EIT1_AT1, I004_RE_EIT1_AT1_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT1_QN1 = { FIXED, 1, 0, 0, &hf_004_RE_EIT1_QN1, I004_RE_EIT1_QN1_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT1_VL1 = { FIXED, 2, 0, 0, &hf_004_RE_EIT1_VL1, I004_RE_EIT1_VL1_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT1 = { COMPOUND, 0, 0, 0, &hf_004_RE_EIT1, NULL, { &I004_RE_EIT1_VR1,
- &I004_RE_EIT1_MS1,
- &I004_RE_EIT1_TR1,
- &I004_RE_EIT1_PG1,
- &I004_RE_EIT1_AT1,
- &I004_RE_EIT1_QN1,
- &I004_RE_EIT1_VL1,
- NULL } };
-static const AsterixField I004_RE_EIT2_VR2 = { FIXED, 2, 0, 0, &hf_004_RE_EIT2_VR2, I004_RE_EIT2_VR2_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT2_MS2 = { FIXED, 3, 0, 0, &hf_004_RE_EIT2_MS2, I004_RE_EIT2_MS2_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT2_TR2 = { REPETITIVE, 12, 1, 0, &hf_004_RE_EIT2_TR2, I004_RE_EIT2_TR2_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT2_PG2 = { FIXED, 1, 0, 0, &hf_004_RE_EIT2_PG2, I004_RE_EIT2_PG2_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT2_AT2 = { FIXED, 1, 0, 0, &hf_004_RE_EIT2_AT2, I004_RE_EIT2_AT2_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT2_QN2 = { FIXED, 1, 0, 0, &hf_004_RE_EIT2_QN2, I004_RE_EIT2_QN2_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT2_VL2 = { FIXED, 2, 0, 0, &hf_004_RE_EIT2_VL2, I004_RE_EIT2_VL2_PARTS, { NULL } };
-static const AsterixField I004_RE_EIT2 = { COMPOUND, 0, 0, 0, &hf_004_RE_EIT2, NULL, { &I004_RE_EIT2_VR2,
- &I004_RE_EIT2_MS2,
- &I004_RE_EIT2_TR2,
- &I004_RE_EIT2_PG2,
- &I004_RE_EIT2_AT2,
- &I004_RE_EIT2_QN2,
- &I004_RE_EIT2_VL2,
- NULL } };
-static const AsterixField I004_RE_CI_FHV = { FIXED, 3, 0, 0, &hf_004_RE_CI_FHV, I004_RE_CI_FHV_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_LHV = { FIXED, 3, 0, 0, &hf_004_RE_CI_LHV, I004_RE_CI_LHV_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_FVV = { FIXED, 3, 0, 0, &hf_004_RE_CI_FVV, I004_RE_CI_FVV_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_LVV = { FIXED, 3, 0, 0, &hf_004_RE_CI_LVV, I004_RE_CI_LVV_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_DET = { FIXED, 1, 0, 0, &hf_004_RE_CI_DET, I004_RE_CI_DET_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_MIS = { FIXED, 1, 0, 0, &hf_004_RE_CI_MIS, I004_RE_CI_MIS_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_CSA = { FX, 2, 0, 0, &hf_004_RE_CI_CSA, I004_RE_CI_CSA_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_PGC = { FIXED, 1, 0, 0, &hf_004_RE_CI_PGC, I004_RE_CI_PGC_PARTS, { NULL } };
-static const AsterixField I004_RE_CI_HYP = { FIXED, 1, 0, 0, &hf_004_RE_CI_HYP, I004_RE_CI_HYP_PARTS, { NULL } };
-static const AsterixField I004_RE_CI = { COMPOUND, 0, 0, 0, &hf_004_RE_CI, NULL, { &I004_RE_CI_FHV,
- &I004_RE_CI_LHV,
- &I004_RE_CI_FVV,
- &I004_RE_CI_LVV,
- &I004_RE_CI_DET,
- &I004_RE_CI_MIS,
- &I004_RE_CI_CSA,
- &I004_RE_CI_PGC,
- &I004_RE_CI_HYP,
- NULL } };
-static const AsterixField I004_RE_TTG = { REPETITIVE, 3, 1, 0, &hf_004_RE_TTG, I004_RE_TTG_PARTS, { NULL } };
-static const AsterixField I004_RE_FBD_SD = { FIXED, 2, 0, 0, &hf_004_RE_FBD_SD, I004_RE_FBD_SD_PARTS, { NULL } };
-static const AsterixField I004_RE_FBD_VRD = { FIXED, 2, 0, 0, &hf_004_RE_FBD_VRD, I004_RE_FBD_VRD_PARTS, { NULL } };
-static const AsterixField I004_RE_FBD_PD = { FIXED, 2, 0, 0, &hf_004_RE_FBD_PD, I004_RE_FBD_PD_PARTS, { NULL } };
-static const AsterixField I004_RE_FBD_HD = { FIXED, 2, 0, 0, &hf_004_RE_FBD_HD, I004_RE_FBD_HD_PARTS, { NULL } };
-static const AsterixField I004_RE_FBD_SLD = { FIXED, 2, 0, 0, &hf_004_RE_FBD_SLD, I004_RE_FBD_SLD_PARTS, { NULL } };
-static const AsterixField I004_RE_FBD = { COMPOUND, 0, 0, 0, &hf_004_RE_FBD, NULL, { &I004_RE_FBD_SD,
- &I004_RE_FBD_VRD,
- &I004_RE_FBD_PD,
- &I004_RE_FBD_HD,
- &I004_RE_FBD_SLD,
- NULL } };
-static const AsterixField I004_RE_AFI = { FIXED, 2, 0, 0, &hf_004_RE_AFI, I004_RE_AFI_PARTS, { NULL } };
-static const AsterixField I004_RE_AFT = { REPETITIVE, 2, 1, 0, &hf_004_RE_AFT, I004_RE_AFT_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_SO = { FIXED, 2, 0, 0, &hf_004_RE_FASI_SO, I004_RE_FASI_SO_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_MSH = { FIXED, 2, 0, 0, &hf_004_RE_FASI_MSH, I004_RE_FASI_MSH_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_MSV = { FIXED, 2, 0, 0, &hf_004_RE_FASI_MSV, I004_RE_FASI_MSV_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_MST = { FIXED, 2, 0, 0, &hf_004_RE_FASI_MST, I004_RE_FASI_MST_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_WT1 = { FIXED, 1, 0, 0, &hf_004_RE_FASI_WT1, I004_RE_FASI_WT1_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_WT2 = { FIXED, 1, 0, 0, &hf_004_RE_FASI_WT2, I004_RE_FASI_WT2_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_TA1 = { FIXED, 4, 0, 0, &hf_004_RE_FASI_TA1, I004_RE_FASI_TA1_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_TA2 = { FIXED, 4, 0, 0, &hf_004_RE_FASI_TA2, I004_RE_FASI_TA2_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI_ASI = { FIXED, 2, 0, 0, &hf_004_RE_FASI_ASI, I004_RE_FASI_ASI_PARTS, { NULL } };
-static const AsterixField I004_RE_FASI = { COMPOUND, 0, 0, 0, &hf_004_RE_FASI, NULL, { &I004_RE_FASI_SO,
- &I004_RE_FASI_MSH,
- &I004_RE_FASI_MSV,
- &I004_RE_FASI_MST,
- &I004_RE_FASI_WT1,
- &I004_RE_FASI_WT2,
- &I004_RE_FASI_TA1,
- &I004_RE_FASI_TA2,
- &I004_RE_FASI_ASI,
- NULL } };
-static const AsterixField I004_RE = { RE, 0, 0, 1, &hf_004_RE, NULL, { &I004_RE_TI1,
- &I004_RE_TI2,
- &I004_RE_EIT1,
- &I004_RE_EIT2,
- &I004_RE_CI,
- &I004_RE_TTG,
- &I004_RE_FBD,
- &I004_RE_AFI,
- &I004_RE_AFT,
- &I004_RE_FASI,
- NULL } };
-
-static const AsterixField *I004_v1_11_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_v1_11[] = { I004_v1_11_uap, NULL };
-static const AsterixField ***I004[] = { I004_v1_11 };
-DIAG_ON_PEDANTIC
-
-static const enum_val_t I004_versions[] = {
- { "I004_v1_11", "Version 1.11", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/* Fields */
-
-/* Message Type */
-static const value_string valstr_008_000_MT[] = {
+/* 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" },
+ { 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_MT = { 8, 1.0, FIELD_PART_UINT, &hf_008_000_MT, NULL };
-static const FieldPart *I008_000_PARTS[] = { &I008_000_MT, NULL };
-
-/* Vector Qualifier */
-static const value_string valstr_008_020_ORG[] = {
+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 value_string valstr_008_020_DIR[] = {
- { 0, "0" },
- { 1, "22.5" },
- { 2, "45" },
- { 3, "67.5" },
- { 4, "90" },
- { 5, "112,5" },
- { 6, "135" },
- { 7, "157.5" },
- { 0, NULL }
-};
-static const value_string valstr_008_020_TST[] = {
+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 value_string valstr_008_020_ER[] = {
+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_020_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_020_ORG, NULL };
-static const FieldPart I008_020_INT = { 3, 1.0, FIELD_PART_UINT, &hf_008_020_INT, NULL };
-static const FieldPart I008_020_DIR = { 3, 1.0, FIELD_PART_UINT, &hf_008_020_DIR, NULL };
-static const FieldPart I008_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_008_020_TST, 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_INT, &I008_020_DIR, &IXXX_FX,
- &IXXX_5bit_spare, &I008_020_TST, &I008_020_ER, &IXXX_FX, NULL };
-
-/* Sequence of Polar Vectors in SPF Notation */
-static const FieldPart I008_034_START_RANGE = { 8, 1.0/128.0, FIELD_PART_UFLOAT, &hf_008_034_START_RANGE, NULL };
-static const FieldPart I008_034_END_RANGE = { 8, 1.0/128.0, FIELD_PART_UFLOAT, &hf_008_034_END_RANGE, NULL };
-static const FieldPart I008_034_AZIMUTH = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_008_034_AZIMUTH, NULL };
-static const FieldPart *I008_034_PARTS[] = { &I008_034_START_RANGE, &I008_034_END_RANGE, &I008_034_AZIMUTH, NULL };
-
-/* Sequence of Cartesian Vectors in SPF Notation */
-static const FieldPart I008_036_X = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_036_X, NULL };
-static const FieldPart I008_036_Y = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_036_Y, NULL };
-static const FieldPart I008_036_VL = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_036_VL, NULL };
-static const FieldPart *I008_036_PARTS[] = { &I008_036_X, &I008_036_Y, &I008_036_VL, NULL };
-
-/* Sequence of Weather Vectors in SPF Notation */
-static const FieldPart I008_038_X1 = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_038_X1, NULL };
-static const FieldPart I008_038_Y1 = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_038_Y1, NULL };
-static const FieldPart I008_038_X2 = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_038_X2, NULL };
-static const FieldPart I008_038_Y2 = { 8, 1.0/64.0, 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 };
-
-/* Contour Identifier */
-static const value_string valstr_008_040_ORG[] = {
+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 value_string valstr_008_040_FST_LST[] = {
+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_040_ORG = { 1, 1.0, FIELD_PART_UINT, &hf_008_040_ORG, NULL };
-static const FieldPart I008_040_INT = { 3, 1.0, FIELD_PART_UINT, &hf_008_040_INT, NULL };
-static const FieldPart I008_040_FST_LST = { 2, 1.0, FIELD_PART_UINT, &hf_008_040_FST_LST, NULL };
-static const FieldPart I008_040_CSN = { 8, 1.0, FIELD_PART_UINT, &hf_008_040_CSN, NULL };
-static const FieldPart *I008_040_PARTS[] = { &I008_040_ORG, &I008_040_INT, &IXXX_2bit_spare, &I008_040_FST_LST,
- &I008_040_CSN, NULL };
-
-/* Sequence of Contour Points in SPF Notation */
-static const FieldPart I008_050_X1 = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_050_X1, NULL };
-static const FieldPart I008_050_Y1 = { 8, 1.0/64.0, FIELD_PART_FLOAT, &hf_008_050_Y1, NULL };
-static const FieldPart *I008_050_PARTS[] = { &I008_050_X1, &I008_050_Y1, NULL };
-
-/* Processing Status */
-static const FieldPart I008_100_f = { 5, 1.0, FIELD_PART_FLOAT, &hf_008_100_f, NULL };
-static const FieldPart I008_100_R = { 3, 1.0, FIELD_PART_UINT, &hf_008_100_R, NULL };
-static const FieldPart I008_100_Q = { 15, 1.0, FIELD_PART_UINT, &hf_008_100_Q, NULL };
-static const FieldPart *I008_100_PARTS[] = { &I008_100_f, &I008_100_R, &I008_100_Q, &IXXX_FX, NULL };
-
-/* Station Configuration Status */
-static const FieldPart I008_110_HW = { 7, 1.0, FIELD_PART_UINT, &hf_008_110_HW, NULL };
-static const FieldPart *I008_110_PARTS[] = { &I008_110_HW, &IXXX_FX, NULL };
-
-/* Total Number of Items Constituting One Weather */
-static const FieldPart I008_120_COUNT = { 16, 1.0, FIELD_PART_UINT, &hf_008_120_COUNT, NULL };
-static const FieldPart *I008_120_PARTS[] = { &I008_120_COUNT, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
+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 const AsterixField I008_010 = { FIXED, 2, 0, 0, &hf_008_010, IXXX_SAC_SIC, { 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 const AsterixField I008_090 = { FIXED, 3, 0, 0, &hf_008_090, IXXX_TOD, { 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 const AsterixField I008_SP = { SP, 0, 0, 1, &hf_008_SP, NULL, { NULL } };
-static const AsterixField I008_RFS = { RE, 0, 0, 1, &hf_008_RFS, NULL, { NULL } };
+static int hf_008_SP;
+static const AsterixField I008_SP = { EXP, 0, 0, 1, &hf_008_SP, NULL, { NULL } };
-static const AsterixField *I008_v1_1_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, &I008_RFS, NULL };
-static const AsterixField **I008_v1_1[] = { I008_v1_1_uap, NULL };
-static const AsterixField ***I008[] = { I008_v1_1 };
+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
-static const enum_val_t I008_versions[] = {
- { "I008_v1_1", "Version 1.1", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/* Fields */
-
-/* Message Type */
-static const value_string valstr_009_000_MT[] = {
- { 2, "Cartesian vector messages" },
- { 253, "intermediate-update-step message" },
- { 254, "start-of-picture message" },
- { 255, "end-of-picture message" },
+/* 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_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_009_000_MT, NULL };
-static const FieldPart *I009_000_PARTS[] = { &I009_000_MT, NULL };
-
-/* Vector Qualifier */
-static const value_string valstr_009_020_INT[] = {
- { 0, "no data available" },
- { 1, "intensity 1" },
- { 2, "intensity 2" },
- { 3, "intensity 3" },
- { 4, "intensity 4" },
- { 5, "intensity 5" },
- { 6, "intensity 6" },
- { 7, "intensity 7" },
- { 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 value_string valstr_009_020_DIR[] = {
- { 0, "0" },
- { 1, "22.5" },
- { 2, "45" },
- { 3, "67.5" },
- { 4, "90" },
- { 5, "112,5" },
- { 6, "135" },
- { 7, "157.5" },
+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 const FieldPart I009_020_INT = { 3, 1.0, FIELD_PART_UINT, &hf_009_020_INT, NULL };
-static const FieldPart I009_020_DIR = { 3, 1.0, FIELD_PART_UINT, &hf_009_020_DIR, NULL };
-static const FieldPart *I009_020_PARTS[] = { &I009_020_ORG, &I009_020_INT, &I009_020_DIR, &IXXX_FX, NULL };
-
-/* Cartesian Vector */
-static const FieldPart I009_030_X = { 16, 1.0/32.0, FIELD_PART_FLOAT, &hf_009_030_X, NULL };
-static const FieldPart I009_030_Y = { 16, 1.0/32.0, FIELD_PART_FLOAT, &hf_009_030_Y, NULL };
-static const FieldPart I009_030_VL = { 16, 1.0/32.0, FIELD_PART_FLOAT, &hf_009_030_VL, NULL };
-static const FieldPart *I009_030_PARTS[] = { &I009_030_X, &I009_030_Y, &I009_030_VL, NULL };
-
-/* Synchronisation/Control Signal */
-static const FieldPart I009_060_STEP = { 6, 1.0, FIELD_PART_UINT, &hf_009_060_STEP, NULL };
-static const FieldPart *I009_060_PARTS[] = { &I009_060_STEP, &IXXX_1bit_spare, &IXXX_FX, NULL };
-
-/* Processing Status */
-static const FieldPart I009_080_SCALE = { 5, 1.0, FIELD_PART_UINT, &hf_009_080_SCALE, NULL };
-static const FieldPart I009_080_R = { 3, 1.0, FIELD_PART_UINT, &hf_009_080_R, NULL };
-static const FieldPart I009_080_Q = { 15, 1.0, FIELD_PART_UINT, &hf_009_080_Q, NULL };
-static const FieldPart *I009_080_PARTS[] = { &I009_080_SCALE, &I009_080_R, &I009_080_Q, &IXXX_3FX, NULL };
-
-/* Radar Configuration and Status */
-static const FieldPart I009_090_CP = { 1, 1.0, FIELD_PART_UINT, &hf_009_090_CP, NULL };
-static const FieldPart I009_090_WO = { 1, 1.0, FIELD_PART_UINT, &hf_009_090_WO, NULL };
-static const FieldPart I009_090_RS = { 3, 1.0, FIELD_PART_UINT, &hf_009_090_RS, NULL };
-static const FieldPart *I009_090_PARTS[] = { &IXXX_SAC, &IXXX_SIC, &IXXX_3bit_spare, &I009_090_CP, &I009_090_WO, &I009_090_RS, NULL };
-
-/* Vector Count */
-static const FieldPart I009_100_VC = { 16, 1.0, FIELD_PART_UINT, &hf_009_100_VC, NULL };
-static const FieldPart *I009_100_PARTS[] = { &I009_100_VC, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I009_000 = { FIXED, 1, 0, 0, &hf_009_000, I009_000_PARTS, { NULL } };
-static const AsterixField I009_010 = { FIXED, 2, 0, 0, &hf_009_010, IXXX_SAC_SIC, { 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 const AsterixField I009_070 = { FIXED, 3, 0, 0, &hf_009_070, IXXX_TOD, { 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 } };
-static const AsterixField *I009_v2_0_uap[] = { &I009_010, &I009_000, &I009_020, &I009_030, &I009_060, &I009_070, &I009_080,
- &I009_090, &I009_100, NULL };
-static const AsterixField **I009_v2_0[] = { I009_v2_0_uap, NULL };
-static const AsterixField ***I009[] = { I009_v2_0 };
+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
-static const enum_val_t I009_versions[] = {
- { "I009_v2_0", "Version 2.0", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-
-/*
- * Online specification:
- * https://www.eurocontrol.int/publication/cat010-eurocontrol-specification-surveillance-data-exchange-part-7-category-010
- */
-
-/* Fields */
-
-/* Message Type */
-static const value_string valstr_010_000_MT[] = {
+/* 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_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_010_000_MT, NULL };
-static const FieldPart *I010_000_PARTS[] = { &I010_000_MT, NULL };
-
-/* Target Descriptor */
+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" },
+ { 1, "Mode S multilateration" },
{ 2, "ADS-B" },
{ 3, "PSR" },
{ 4, "Magnetic Loop System" },
@@ -4633,47 +7829,65 @@ static const value_string valstr_010_020_TYP[] = {
{ 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 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" },
@@ -4681,127 +7895,202 @@ static const value_string valstr_010_020_TOT[] = {
{ 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_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_010_020_TYP, NULL };
-static const FieldPart I010_020_DCR = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_DCR, NULL };
-static const FieldPart I010_020_CHN = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_CHN, NULL };
-static const FieldPart I010_020_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_GBS, NULL };
-static const FieldPart I010_020_CRT = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_CRT, NULL };
-static const FieldPart I010_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_SIM, NULL };
-static const FieldPart I010_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_TST, NULL };
-static const FieldPart I010_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_010_020_RAB, NULL };
-static const FieldPart I010_020_LOP = { 2, 1.0, FIELD_PART_UINT, &hf_010_020_LOP, NULL };
-static const FieldPart I010_020_TOT = { 2, 1.0, FIELD_PART_UINT, &hf_010_020_TOT, 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 };
-
-/* Measured Position in Polar Coordinates */
+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 const FieldPart I010_040_THETA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_010_040_THETA, NULL };
-static const FieldPart *I010_040_PARTS[] = { &I010_040_RHO, &I010_040_THETA, NULL };
-
-/* Position in WGS-84 Coordinates */
-static const FieldPart I010_041_LAT = { 32, 180.0/2147483648.0, FIELD_PART_FLOAT, &hf_010_041_LAT, NULL };
-static const FieldPart I010_041_LON = { 32, 180.0/2147483648.0, FIELD_PART_FLOAT, &hf_010_041_LON, NULL };
-static const FieldPart *I010_041_PARTS[] = { &I010_041_LAT, &I010_041_LON, NULL };
-
-/* Position in Cartesian Coordinates */
+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 };
-
-/* Mode-3/A Code in Octal Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_010_060_V, NULL };
-static const FieldPart I010_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_010_060_G, NULL };
static const FieldPart I010_060_L = { 1, 1.0, FIELD_PART_UINT, &hf_010_060_L, NULL };
-static const FieldPart I010_060_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_010_060_SQUAWK, NULL };
-static const FieldPart *I010_060_PARTS[] = { &I010_060_V, &I010_060_G, &I010_060_L, &IXXX_1bit_spare, &I010_060_SQUAWK, NULL };
-
-/* Flight Level in Binary Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_010_090_V, 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 };
-
-/* Measured Height */
-static const FieldPart I010_091_MH = { 16, 6.25, FIELD_PART_FLOAT, &hf_010_091_MH, NULL };
-static const FieldPart *I010_091_PARTS[] = { &I010_091_MH, NULL };
-
-/* Amplitude of Primary Plot */
-static const FieldPart I010_131_PAM = { 8, 1.0, FIELD_PART_INT, &hf_010_131_PAM, NULL };
-static const FieldPart *I010_131_PARTS[] = { &I010_131_PAM, NULL };
-
-/* Time of Day 140*/
-/* IXXX_TOD */
-
-/* Track Number */
-static const FieldPart I010_161_TN = { 12, 1.0, FIELD_PART_UINT, &hf_010_161_TN, NULL };
-static const FieldPart *I010_161_PARTS[] = { &IXXX_4bit_spare, &I010_161_TN, NULL };
-
-/* Track Status */
+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 initiation phase" },
+ { 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" },
+ { 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, "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" },
@@ -4809,6 +8098,8 @@ static const value_string valstr_010_170_TOM[] = {
{ 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)" },
@@ -4819,6 +8110,8 @@ static const value_string valstr_010_170_DOU[] = {
{ 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" },
@@ -4826,84 +8119,146 @@ static const value_string valstr_010_170_MRS[] = {
{ 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_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_CNF, NULL };
-static const FieldPart I010_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_TRE, NULL };
-static const FieldPart I010_170_CST = { 2, 1.0, FIELD_PART_UINT, &hf_010_170_CST, NULL };
-static const FieldPart I010_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_MAH, NULL };
-static const FieldPart I010_170_TCC = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_TCC, NULL };
-static const FieldPart I010_170_STH = { 1, 1.0, FIELD_PART_UINT, &hf_010_170_STH, NULL };
-static const FieldPart I010_170_TOM = { 2, 1.0, FIELD_PART_UINT, &hf_010_170_TOM, NULL };
-static const FieldPart I010_170_DOU = { 3, 1.0, FIELD_PART_UINT, &hf_010_170_DOU, NULL };
-static const FieldPart I010_170_MRS = { 2, 1.0, FIELD_PART_UINT, &hf_010_170_MRS, 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 };
-
-/* Calculated Track Velocity in Polar Co-ordinates */
-static const FieldPart I010_200_GS = { 16, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_010_200_GS, NULL };
-static const FieldPart I010_200_TA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_010_200_TA, NULL };
-static const FieldPart *I010_200_PARTS[] = { &I010_200_GS, &I010_200_TA, NULL };
-
-/* Calculated Track Velocity in Cartesian Co-ordinates */
-static const FieldPart I010_202_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_010_202_VX, NULL };
-static const FieldPart I010_202_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_010_202_VY, NULL };
-static const FieldPart *I010_202_PARTS[] = { &I010_202_VX, &I010_202_VY, NULL };
-
-/* Calculated Acceleration */
-static const FieldPart I010_210_AX = { 8, 0.25, FIELD_PART_FLOAT, &hf_010_210_AX, NULL };
-static const FieldPart I010_210_AY = { 8, 0.25, FIELD_PART_FLOAT, &hf_010_210_AY, NULL };
-static const FieldPart *I010_210_PARTS[] = { &I010_210_AX, &I010_210_AY, NULL };
-
-/* Target Address */
-/* IXXX_AA */
-
-/* Target Identification */
+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 not downlinked from transponder" },
- { 1, "Registration downlinked from transponder" },
- { 2, "Callsign downlinked from transponder" },
- { 3, "Not defined" },
+ { 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 const FieldPart *I010_245_PARTS[] = { &I010_245_STI, &IXXX_6bit_spare, &IXXX_AI, NULL };
-
-/* Mode S MB Data */
-/* IXXX_MB */
-
-/* Target Size & Orientation */
+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 const FieldPart I010_270_ORIENTATION = { 7, 360.0/128.0, FIELD_PART_UFLOAT, &hf_010_270_ORIENTATION, 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 };
-
-/* Presence */
-static const FieldPart I010_280_DHRO = { 8, 1.0, FIELD_PART_UFLOAT, &hf_010_280_DRHO, NULL };
-static const FieldPart I010_280_DTHETA = { 8, 1.0, FIELD_PART_UFLOAT, &hf_010_280_DTHETA, NULL };
-static const FieldPart *I010_280_PARTS[] = { &I010_280_DHRO, &I010_280_DTHETA, NULL };
-
-/* Vehicle Fleet Identification */
-static const value_string valstr_010_300_VFI[] = {
- { 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" },
+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" },
@@ -4911,131 +8266,184 @@ static const value_string valstr_010_300_VFI[] = {
{ 14, "Catering" },
{ 15, "Aircraft maintenance" },
{ 16, "Flyco (follow me)" },
- { 0, NULL }
+ { 0, NULL }
};
-static const FieldPart I010_300_VFI = { 8, 1.0, FIELD_PART_UINT, &hf_010_300_VFI, NULL };
-static const FieldPart *I010_300_PARTS[] = { &I010_300_VFI, NULL };
-
-/* Pre-programmed Message */
+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" },
+ { 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_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_010_310_TRB, 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 };
-
-/* Standard Deviation of Position */
-static const FieldPart I010_500_SDPx = { 8, 0.25, FIELD_PART_UFLOAT, &hf_010_500_SDPx, NULL };
-static const FieldPart I010_500_SDPy = { 8, 0.25, FIELD_PART_UFLOAT, &hf_010_500_SDPy, NULL };
-static const FieldPart I010_500_SDPxy = { 16, 0.25, FIELD_PART_FLOAT, &hf_010_500_SDPxy, NULL };
-static const FieldPart *I010_500_PARTS[] = { &I010_500_SDPx, &I010_500_SDPy, &I010_500_SDPxy, NULL };
-
-/* System Status */
+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_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_010_550_NOGO, NULL };
-static const FieldPart I010_550_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_010_550_OVL, NULL };
-static const FieldPart I010_550_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_010_550_TSV, NULL };
-static const FieldPart I010_550_DIV = { 1, 1.0, FIELD_PART_UINT, &hf_010_550_DIV, 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 };
-
-/* Items */
-DIAG_OFF(pedantic)
-static const AsterixField I010_000 = { FIXED, 1, 0, 0, &hf_010_000, I010_000_PARTS, { NULL } };
-static const AsterixField I010_010 = { FIXED, 2, 0, 0, &hf_010_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I010_020 = { FX_UAP, 1, 0, 0, &hf_010_020, I010_020_PARTS, { NULL } };
-static const AsterixField I010_040 = { FIXED, 4, 0, 0, &hf_010_040, I010_040_PARTS, { NULL } };
-static const AsterixField I010_041 = { FIXED, 8, 0, 0, &hf_010_041, I010_041_PARTS, { NULL } };
-static const AsterixField I010_042 = { FIXED, 4, 0, 0, &hf_010_042, I010_042_PARTS, { NULL } };
-static const AsterixField I010_060 = { FIXED, 2, 0, 0, &hf_010_060, I010_060_PARTS, { NULL } };
-static const AsterixField I010_090 = { FIXED, 2, 0, 0, &hf_010_090, I010_090_PARTS, { NULL } };
-static const AsterixField I010_091 = { FIXED, 2, 0, 0, &hf_010_091, I010_091_PARTS, { NULL } };
-static const AsterixField I010_131 = { FIXED, 1, 0, 0, &hf_010_131, I010_131_PARTS, { NULL } };
-static const AsterixField I010_140 = { FIXED, 3, 0, 0, &hf_010_140, IXXX_TOD, { NULL } };
-static const AsterixField I010_161 = { FIXED, 2, 0, 0, &hf_010_161, I010_161_PARTS, { NULL } };
-static const AsterixField I010_170 = { FX, 1, 0, 0, &hf_010_170, I010_170_PARTS, { NULL } };
-static const AsterixField I010_200 = { FIXED, 4, 0, 0, &hf_010_200, I010_200_PARTS, { NULL } };
-static const AsterixField I010_202 = { FIXED, 4, 0, 0, &hf_010_202, I010_202_PARTS, { NULL } };
-static const AsterixField I010_210 = { FIXED, 2, 0, 0, &hf_010_210, I010_210_PARTS, { NULL } };
-static const AsterixField I010_220 = { FIXED, 3, 0, 0, &hf_010_220, IXXX_AA_PARTS, { NULL } };
-static const AsterixField I010_245 = { FIXED, 7, 0, 0, &hf_010_245, I010_245_PARTS, { NULL } };
-static const AsterixField I010_250 = { REPETITIVE, 8, 1, 0, &hf_010_250, IXXX_MB, { NULL } };
-static const AsterixField I010_270 = { FX, 1, 0, 0, &hf_010_270, I010_270_PARTS, { NULL } };
-static const AsterixField I010_280 = { REPETITIVE, 2, 1, 0, &hf_010_280, I010_280_PARTS, { NULL } };
-static const AsterixField I010_300 = { FIXED, 1, 0, 0, &hf_010_300, I010_300_PARTS, { NULL } };
-static const AsterixField I010_310 = { FIXED, 1, 0, 0, &hf_010_310, I010_310_PARTS, { NULL } };
-static const AsterixField I010_500 = { FIXED, 4, 0, 0, &hf_010_500, I010_500_PARTS, { 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 const AsterixField I010_SP = { SP, 0, 0, 1, &hf_010_SP, NULL, { NULL } };
-static const AsterixField I010_RE = { RE, 0, 0, 1, &hf_010_RE, NULL, { NULL } };
-
-static const AsterixField *I010_v1_1_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_v1_1[] = { I010_v1_1_uap, NULL };
-static const AsterixField ***I010[] = { I010_v1_1 };
-DIAG_ON(pedantic)
+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 } };
-static const enum_val_t I010_versions[] = {
- { "I010_v1_1", "Version 1.10", 0 },
- { NULL, NULL, 0 }
+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
-/* *********************** */
-/* Category 011 */
-/* *********************** */
-
-/*
- * Online specification:
- * https://www.eurocontrol.int/publication/cat011-eurocontrol-specification-surveillance-data-exchange-part-8-category-011
- */
-
-/* Fields */
+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
-/* Message Type */
-static const value_string valstr_011_000_MT[] = {
+/* 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" },
@@ -5045,75 +8453,2481 @@ static const value_string valstr_011_000_MT[] = {
{ 7, "Holdbar status" },
{ 0, NULL }
};
-static const FieldPart I011_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_011_000_MT, NULL };
-static const FieldPart *I011_000_PARTS[] = { &I011_000_MT, NULL };
-
-/* Data Source Identifier */
-/* IXXX_SAC_SIC */
-
-/* Service Identification */
-static const FieldPart I011_015_SI = { 8, 1.0, FIELD_PART_UINT, &hf_011_015_SI, NULL };
-static const FieldPart *I011_015_PARTS[] = { &I011_015_SI, 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 &lt; medium aircraft &lt; 136000 kg" },
+ { 4, "Reserved" },
+ { 5, "136000 kg <= heavy aircraft" },
+ { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (&gt;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 } };
-/* Position in WGS-84 Co-ordinates */
-static const FieldPart I011_041_LAT = { 32, 180.0/2147483648.0, FIELD_PART_FLOAT, &hf_011_041_LAT, NULL };
-static const FieldPart I011_041_LON = { 32, 180.0/2147483648.0, FIELD_PART_FLOAT, &hf_011_041_LON, NULL };
-static const FieldPart *I011_041_PARTS[] = { &I011_041_LAT, &I011_041_LON, 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
-/* Calculated Position in Cartesian Co-ordinates */
+/* 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 &lt; medium aircraft &lt; 136000 kg" },
+ { 4, "Reserved" },
+ { 5, "136000 kg <= heavy aircraft" },
+ { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (&gt;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 };
-
-/* Mode-3/A Code in Octal Representation */
-static const FieldPart I011_060_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_011_060_SQUAWK, NULL };
-static const FieldPart *I011_060_PARTS[] = { &IXXX_4bit_spare, &I011_060_SQUAWK, NULL };
-
-/* Measured Flight Level */
-static const FieldPart I011_090_MFL = { 16, 1.0/4.0, FIELD_PART_FLOAT, &hf_011_090_MFL, NULL };
-static const FieldPart *I011_090_PARTS[] = { &I011_090_MFL, NULL };
-
-/* Calculated Track Geometric Altitude */
-static const FieldPart I011_092_ALT = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_092_ALT, NULL };
-static const FieldPart *I011_092_PARTS[] = { &I011_092_ALT, NULL };
-
-/* Calculated Track Barometric Altitude */
+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, "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 const FieldPart I011_093_ALT = { 15, 1.0/4.0, FIELD_PART_FLOAT, &hf_011_093_ALT, NULL };
-static const FieldPart *I011_093_PARTS[] = { &I011_093_QNH, &I011_093_ALT, NULL };
-
-/* Time of Track Information */
-/* IXXX_TOD */
-
-/* Track number */
-static const FieldPart I011_161_TN = { 15, 1.0, FIELD_PART_UINT, &hf_011_161_TN, NULL };
-static const FieldPart *I011_161_PARTS[] = { &IXXX_1bit_spare, &I011_161_TN, NULL };
-
-/* Track Status */
+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" },
- { 1, "Monosensor track track" },
+ { 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" },
+ { 2, "3d radar" },
{ 3, "Triangulation" },
{ 4, "Height from coverage" },
{ 5, "Speed look-up table" },
@@ -5121,199 +10935,343 @@ static const value_string valstr_011_170_SRC[] = {
{ 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" },
+ { 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)" },
+ { 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)" },
+ { 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 interrogation" },
+ { 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, "Default value" },
+ { 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-B track update is higher than system dependent threshold" },
+ { 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_MON = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MON, NULL };
-static const FieldPart I011_170_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_GBS, NULL };
-static const FieldPart I011_170_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MRH, NULL };
-static const FieldPart I011_170_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_011_170_SRC, NULL };
-static const FieldPart I011_170_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_CNF, NULL };
-static const FieldPart I011_170_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SIM, NULL };
-static const FieldPart I011_170_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_TSE, NULL };
-static const FieldPart I011_170_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_TSB, NULL };
-static const FieldPart I011_170_FRIFOE = { 2, 1.0, FIELD_PART_UINT, &hf_011_170_FRIFOE, NULL };
-static const FieldPart I011_170_ME = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_ME, NULL };
-static const FieldPart I011_170_MI = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MI, NULL };
-static const FieldPart I011_170_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_AMA, NULL };
-static const FieldPart I011_170_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SPI, NULL };
-static const FieldPart I011_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_CST, NULL };
-static const FieldPart I011_170_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_FPC, NULL };
-static const FieldPart I011_170_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_AFF, NULL };
-static const FieldPart I011_170_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_PSR, NULL };
-static const FieldPart I011_170_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SSR, NULL };
-static const FieldPart I011_170_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_MDS, NULL };
-static const FieldPart I011_170_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_ADS, NULL };
-static const FieldPart I011_170_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_011_170_SUC, 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 };
-
-/* Calculated Track Velocity in Cartesian Co-ordinates */
+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 };
-
-/* Calculated Acceleration */
+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 };
-
-/* Calculated Rate Of Climb/Descent */
-static const FieldPart I011_215_ROCD = { 16, 6.25, FIELD_PART_FLOAT, &hf_011_215_ROCD, NULL };
-static const FieldPart *I011_215_PARTS[] = { &I011_215_ROCD, NULL };
-
-/* Target Identification */
+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 not downlinked from transponder" },
- { 1, "Callsign downlinked from transponder" },
- { 2, "Registration downlinked from transponder" },
+ { 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 const FieldPart *I011_245_PARTS[] = { &I011_245_STI, &IXXX_6bit_spare, &IXXX_AI, NULL };
-
-/* Target Size & Orientation */
+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 const FieldPart I011_270_ORIENTATION = { 7, 360.0/128.0, FIELD_PART_UFLOAT, &hf_011_270_ORIENTATION, 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 };
-
-/* System Track Update Ages */
-static const FieldPart I011_290_01_PSR = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_01_PSR, NULL };
-static const FieldPart *I011_290_01_PARTS[] = { &I011_290_01_PSR, NULL };
-static const FieldPart I011_290_02_SSR = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_02_SSR, NULL };
-static const FieldPart *I011_290_02_PARTS[] = { &I011_290_02_SSR, NULL };
-static const FieldPart I011_290_03_MDA = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_03_MDA, NULL };
-static const FieldPart *I011_290_03_PARTS[] = { &I011_290_03_MDA, NULL };
-static const FieldPart I011_290_04_MFL = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_04_MFL, NULL };
-static const FieldPart *I011_290_04_PARTS[] = { &I011_290_04_MFL, NULL };
-static const FieldPart I011_290_05_MDS = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_05_MDS, NULL };
-static const FieldPart *I011_290_05_PARTS[] = { &I011_290_05_MDS, NULL };
-static const FieldPart I011_290_06_ADS = { 16, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_06_ADS, NULL };
-static const FieldPart *I011_290_06_PARTS[] = { &I011_290_06_ADS, NULL };
-static const FieldPart I011_290_07_ADB = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_07_ADB, NULL };
-static const FieldPart *I011_290_07_PARTS[] = { &I011_290_07_ADB, NULL };
-static const FieldPart I011_290_08_MD1 = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_08_MD1, NULL };
-static const FieldPart *I011_290_08_PARTS[] = { &I011_290_08_MD1, NULL };
-static const FieldPart I011_290_09_MD2 = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_09_MD2, NULL };
-static const FieldPart *I011_290_09_PARTS[] = { &I011_290_09_MD2, NULL };
-static const FieldPart I011_290_10_LOP = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_10_LOP, NULL };
-static const FieldPart *I011_290_10_PARTS[] = { &I011_290_10_LOP, NULL };
-static const FieldPart I011_290_11_TRK = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_11_TRK, NULL };
-static const FieldPart *I011_290_11_PARTS[] = { &I011_290_11_TRK, NULL };
-static const FieldPart I011_290_12_MUL = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_290_12_MUL, NULL };
-static const FieldPart *I011_290_12_PARTS[] = { &I011_290_12_MUL, NULL };
-
-/* Vehicle Fleet Identification */
-static const value_string valstr_011_300_VFI[] = {
- { 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" },
+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" },
@@ -5321,46 +11279,71 @@ static const value_string valstr_011_300_VFI[] = {
{ 14, "Catering" },
{ 15, "Aircraft maintenance" },
{ 16, "Unknown" },
- { 0, NULL }
+ { 0, NULL }
};
-static const FieldPart I011_300_VFI = { 8, 1.0, FIELD_PART_UINT, &hf_011_300_VFI, NULL };
-static const FieldPart *I011_300_PARTS[] = { &I011_300_VFI, NULL };
-
-/* Pre-programmed Message */
+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" },
+ { 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_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_011_310_TRB, 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 };
-
-/* Mode-S / ADS-B Related Data */
-/* MODE S MB DATA */
-/* IXXX_MB */
-
-/* Aircraft Address */
-/* IXXX_AA */
-
-/* Communications/ACAS Capability and Flight Status */
-static const value_string valstr_011_380_04_COM[] = {
+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 value_string valstr_011_380_04_STAT[] = {
+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" },
@@ -5374,73 +11357,86 @@ static const value_string valstr_011_380_04_STAT[] = {
{ 10, "Unlawful interference" },
{ 0, NULL }
};
-static const value_string valstr_011_380_04_SSC[] = {
+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 value_string valstr_011_380_04_ARC[] = {
+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 value_string valstr_011_380_04_AIC[] = {
+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 value_string valstr_011_380_04_AC[] = {
+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 value_string valstr_011_380_04_MN[] = {
+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 value_string valstr_011_380_04_DC[] = {
+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_04_COM = { 3, 1.0, FIELD_PART_UINT, &hf_011_380_04_COM, NULL };
-static const FieldPart I011_380_04_STAT = { 4, 1.0, FIELD_PART_UINT, &hf_011_380_04_STAT, NULL };
-static const FieldPart I011_380_04_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_04_SSC, NULL };
-static const FieldPart I011_380_04_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_04_ARC, NULL };
-static const FieldPart I011_380_04_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_04_AIC, NULL };
-static const FieldPart I011_380_04_B1A = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_04_B1A, NULL };
-static const FieldPart I011_380_04_B1B = { 4, 1.0, FIELD_PART_UINT, &hf_011_380_04_B1B, NULL };
-static const FieldPart I011_380_04_AC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_04_AC, NULL };
-static const FieldPart I011_380_04_MN = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_04_MN, NULL };
-static const FieldPart I011_380_04_DC = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_04_DC, NULL };
-static const FieldPart *I011_380_04_PARTS[] = { &I011_380_04_COM,
- &I011_380_04_STAT,
- &I011_380_04_SSC,
- &IXXX_1bit_spare,
- &I011_380_04_ARC,
- &I011_380_04_AIC,
- &I011_380_04_B1A,
- &I011_380_04_B1B,
- &I011_380_04_AC,
- &I011_380_04_MN,
- &I011_380_04_DC,
- &IXXX_5bit_spare,
- NULL };
-
-/* Aircraft Derived Aircraft Type */
-static const FieldPart I011_380_08_ADAT = { 32, 1.0, FIELD_PART_ASCII, &hf_011_380_08_ADAT, NULL };
-static const FieldPart *I011_380_08_PARTS[] = { &I011_380_08_ADAT, NULL };
-
-/* Emitter Category */
-static const value_string valstr_011_380_09_ECAT[] = {
+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" },
+ { 3, "7000 kg &lt; medium aircraft &lt; 136000 kg" },
{ 4, "Reserved" },
{ 5, "136000 kg <= heavy aircraft" },
- { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (>400 knots cruise)" },
+ { 6, "Highly manoeuvrable (5g acceleration capability) and high speed (&gt;400 knots cruise)" },
{ 7, "Reserved" },
{ 8, "Reserved" },
{ 9, "Reserved" },
@@ -5461,801 +11457,8047 @@ static const value_string valstr_011_380_09_ECAT[] = {
{ 24, "Reserved" },
{ 0, NULL }
};
-static const FieldPart I011_380_09_ECAT = { 8, 1.0, FIELD_PART_UINT, &hf_011_380_09_ECAT, NULL };
-static const FieldPart *I011_380_09_PARTS[] = { &I011_380_09_ECAT, NULL };
-
-/* Available Technologies */
-static const value_string valstr_011_380_11_VDL[] = {
+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 value_string valstr_011_380_11_MDS[] = {
+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 value_string valstr_011_380_11_UAT[] = {
+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_11_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_11_VDL, NULL };
-static const FieldPart I011_380_11_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_11_MDS, NULL };
-static const FieldPart I011_380_11_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_011_380_11_UAT, NULL };
-static const FieldPart *I011_380_11_PARTS[] = { &I011_380_11_VDL, &I011_380_11_MDS, &I011_380_11_UAT, NULL };
-
-/* Flight Plan Related Data */
-/* FFPS Identification Tag */
-/* IXXX_SAC_SIC */
-
-/* Callsign */
-static const FieldPart I011_390_02_CSN = { 56, 1.0, FIELD_PART_ASCII, &hf_011_390_02_CSN, NULL };
-static const FieldPart *I011_390_02_PARTS[] = { &I011_390_02_CSN, NULL };
-
-/* IFPS_FLIGHT_ID */
-static const value_string valstr_011_390_03_TYP[] = {
- { 0, "Plan Number" },
+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_03_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_03_TYP, NULL };
-static const FieldPart I011_390_03_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_011_390_03_NBR, NULL };
-static const FieldPart *I011_390_03_PARTS[] = { &I011_390_03_TYP, &IXXX_3bit_spare, &I011_390_03_NBR, NULL };
-
-/* Flight Category */
-static const value_string valstr_011_390_04_GAT_OAT[] = {
+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 value_string valstr_011_390_04_FR12[] = {
+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 value_string valstr_011_390_04_RVSM[] = {
+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 value_string valstr_011_390_04_HPR[] = {
+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_04_GAT_OAT = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_04_GAT_OAT, NULL };
-static const FieldPart I011_390_04_FR12 = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_04_FR12, NULL };
-static const FieldPart I011_390_04_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_04_RVSM, NULL };
-static const FieldPart I011_390_04_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_011_390_04_HPR, NULL };
-static const FieldPart *I011_390_04_PARTS[] = { &I011_390_04_GAT_OAT, &I011_390_04_FR12, &I011_390_04_RVSM, &I011_390_04_HPR, &IXXX_1bit_spare, NULL };
-
-/* Type of Aircraft */
-static const FieldPart I011_390_05_ACTYP = { 32, 1.0, FIELD_PART_ASCII, &hf_011_390_05_ACTYP, NULL };
-static const FieldPart *I011_390_05_PARTS[] = { &I011_390_05_ACTYP, NULL };
-
-/* Wake Turbulence Category */
-static const FieldPart I011_390_06_WTC = { 8, 1.0, FIELD_PART_ASCII, &hf_011_390_06_WTC, NULL };
-static const FieldPart *I011_390_06_PARTS[] = { &I011_390_06_WTC, NULL };
-
-/* Departure Airport */
-static const FieldPart I011_390_07_ADEP = { 32, 1.0, FIELD_PART_ASCII, &hf_011_390_07_ADEP, NULL };
-static const FieldPart *I011_390_07_PARTS[] = { &I011_390_07_ADEP, NULL };
-
-/* Destination Airport */
-static const FieldPart I011_390_08_ADES = { 32, 1.0, FIELD_PART_ASCII, &hf_011_390_08_ADES, NULL };
-static const FieldPart *I011_390_08_PARTS[] = { &I011_390_08_ADES, NULL };
-
-/* Runway Designation */
-static const FieldPart I011_390_09_RWY = { 24, 1.0, FIELD_PART_ASCII, &hf_011_390_09_RWY, NULL };
-static const FieldPart *I011_390_09_PARTS[] = { &I011_390_09_RWY, NULL };
-
-/* Current Cleared Flight Level */
-static const FieldPart I011_390_10_CFL = { 16, 1.0/4.0, FIELD_PART_UFLOAT, &hf_011_390_10_CFL, NULL };
-static const FieldPart *I011_390_10_PARTS[] = { &I011_390_10_CFL, NULL };
-
-/* Current Control Position */
-static const FieldPart I011_390_11_CNTR = { 8, 1.0, FIELD_PART_UINT, &hf_011_390_11_CNTR, NULL };
-static const FieldPart I011_390_11_POS = { 8, 1.0, FIELD_PART_UINT, &hf_011_390_11_POS, NULL };
-static const FieldPart *I011_390_11_PARTS[] = { &I011_390_11_CNTR, &I011_390_11_POS, NULL };
-
-/* Time of Departure */
-static const value_string valstr_011_390_12_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" },
+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 value_string valstr_011_390_12_DAY[] = {
- { 00, "Today" },
- { 01, "Yesterday" },
- { 10, "Tomorrow" },
+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 value_string valstr_011_390_12_AVS[] = {
+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_12_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_011_390_12_TYP, NULL };
-static const FieldPart I011_390_12_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_12_DAY, NULL };
-static const FieldPart I011_390_12_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_011_390_12_HOR, NULL };
-static const FieldPart I011_390_12_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_011_390_12_MIN, NULL };
-static const FieldPart I011_390_12_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_011_390_12_AVS, NULL };
-static const FieldPart I011_390_12_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_011_390_12_SEC, NULL };
-static const FieldPart *I011_390_12_PARTS[] = { &I011_390_12_TYP, &I011_390_12_DAY, &IXXX_1bit_spare,
- &IXXX_3bit_spare, &I011_390_12_HOR,
- &IXXX_2bit_spare, &I011_390_12_MIN,
- &I011_390_12_AVS, &IXXX_1bit_spare, &I011_390_12_SEC, NULL };
-
-/* Aircraft Stand */
-static const FieldPart I011_390_13_STAND = { 48, 1.0, FIELD_PART_ASCII, &hf_011_390_13_STAND, NULL };
-static const FieldPart *I011_390_13_PARTS[] = { &I011_390_13_STAND, NULL };
-
-/* Stand Status */
-static const value_string valstr_011_390_14_EMP[] = {
+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 value_string valstr_011_390_14_AVL[] = {
+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_14_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_14_EMP, NULL };
-static const FieldPart I011_390_14_AVL = { 2, 1.0, FIELD_PART_UINT, &hf_011_390_14_AVL, NULL };
-static const FieldPart *I011_390_14_PARTS[] = { &I011_390_14_EMP, &I011_390_14_AVL, &IXXX_4bit_spare, NULL };
-
-/* Phase of Flight */
-static const value_string valstr_011_430_FLS[] = {
+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" },
+ { 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" },
+ { 8, "Push back" },
+ { 9, "On finals" },
{ 0, NULL }
};
-static const FieldPart I011_430_FLS = { 8, 1.0, FIELD_PART_UINT, &hf_011_430_FLS, NULL };
-static const FieldPart *I011_430_PARTS[] = { &I011_430_FLS, NULL };
-
-/* Estimated Accuracies */
-/* Estimated Accuracy Of Track Position (Cartesian) */
-static const FieldPart I011_500_01_APCX = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_500_01_APCX, NULL };
-static const FieldPart I011_500_01_APCY = { 8, 0.25, FIELD_PART_UFLOAT, &hf_011_500_01_APCY, NULL };
-static const FieldPart *I011_500_01_PARTS[] = { &I011_500_01_APCX, &I011_500_01_APCY, NULL };
-
-/* Estimated Accuracy Of Track Position (WGS-84) */
-static const FieldPart I011_500_02_APWLAT = { 16, 180.0/2147483648.0, FIELD_PART_FLOAT, &hf_011_500_02_APWLAT, NULL };
-static const FieldPart I011_500_02_APWLON = { 16, 180.0/2147483648.0, FIELD_PART_FLOAT, &hf_011_500_02_APWLON, NULL };
-static const FieldPart *I011_500_02_PARTS[] = { &I011_500_02_APWLAT, &I011_500_02_APWLON, NULL };
-
-/* Estimated Accuracy Of Height */
-static const FieldPart I011_500_03_ATA = { 16, 0.5, FIELD_PART_UFLOAT, &hf_011_500_03_ATA, NULL };
-static const FieldPart *I011_500_03_PARTS[] = { &I011_500_03_ATA, NULL };
-
-/* Estimated Accuracy Of Track Velocity (Cartesian) */
-static const FieldPart I011_500_04_AVCX = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_500_04_AVCX, NULL };
-static const FieldPart I011_500_04_AVCY = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_500_04_AVCY, NULL };
-static const FieldPart *I011_500_04_PARTS[] = { &I011_500_04_AVCX, &I011_500_04_AVCY, NULL };
-
-/* Estimated Accuracy Of Rate Of Climb/Descent */
-static const FieldPart I011_500_05_ARC = { 8, 0.1, FIELD_PART_UFLOAT, &hf_011_500_05_ARC, NULL };
-static const FieldPart *I011_500_05_PARTS[] = { &I011_500_05_ARC, NULL };
-
-/* Estimated Accuracy Of Acceleration (Cartesian) */
-static const FieldPart I011_500_06_AAX = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_500_06_AACX, NULL };
-static const FieldPart I011_500_06_AAY = { 8, 0.01, FIELD_PART_UFLOAT, &hf_011_500_06_AACY, NULL };
-static const FieldPart *I011_500_06_PARTS[] = { &I011_500_06_AAX, &I011_500_06_AAY, NULL };
-
-/* Alert Messages */
+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 of alert" },
+ { 0, "End fo alert" },
{ 1, "Pre-alarm" },
{ 2, "Severe alert" },
{ 0, NULL }
};
-static const FieldPart I011_600_ACK = { 1, 1.0, FIELD_PART_UINT, &hf_011_600_ACK, NULL };
static const FieldPart I011_600_SVR = { 2, 1.0, FIELD_PART_UINT, &hf_011_600_SVR, NULL };
-static const FieldPart I011_600_ALT = { 8, 1.0, FIELD_PART_UINT, &hf_011_600_ALT, NULL };
-static const FieldPart I011_600_ALN = { 8, 1.0, FIELD_PART_UINT, &hf_011_600_ALN, NULL };
-static const FieldPart *I011_600_PARTS[] = { &I011_600_ACK, &I011_600_SVR, &IXXX_5bit_spare, &I011_600_ALT, &I011_600_ALN, NULL };
-
-/* Tracks in Alert */
-static const FieldPart I011_605_FTN = { 12, 1.0, FIELD_PART_UINT, &hf_011_605_FTN, NULL };
-static const FieldPart *I011_605_PARTS[] = { &IXXX_4bit_spare, &I011_605_FTN, NULL };
-
-/* Holdbar Status */
-static const value_string valstr_011_610_I01[] = {
- { 0, "Indicator 1 off" },
- { 1, "Indicator 1 on" },
+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 value_string valstr_011_610_I02[] = {
- { 0, "Indicator 2 off" },
- { 1, "Indicator 2 on" },
+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 value_string valstr_011_610_I03[] = {
- { 0, "Indicator 3 off" },
- { 1, "Indicator 3 on" },
+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 value_string valstr_011_610_I04[] = {
- { 0, "Indicator 4 off" },
- { 1, "Indicator 4 on" },
+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 value_string valstr_011_610_I05[] = {
- { 0, "Indicator 5 off" },
- { 1, "Indicator 5 on" },
+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 value_string valstr_011_610_I06[] = {
- { 0, "Indicator 6 off" },
- { 1, "Indicator 6 on" },
+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 value_string valstr_011_610_I07[] = {
- { 0, "Indicator 7 off" },
- { 1, "Indicator 7 on" },
+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 value_string valstr_011_610_I08[] = {
- { 0, "Indicator 8 off" },
- { 1, "Indicator 8 on" },
+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 value_string valstr_011_610_I09[] = {
- { 0, "Indicator 9 off" },
- { 1, "Indicator 9 on" },
+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 10 off" },
- { 1, "Indicator 10 on" },
+ { 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 11 off" },
- { 1, "Indicator 11 on" },
+ { 0, "Indicator on" },
+ { 1, "Indicator off" },
{ 0, NULL }
};
-static const value_string valstr_011_610_I12[] = {
- { 0, "Indicator 12 off" },
- { 1, "Indicator 12 on" },
- { 0, NULL }
-};
-static const FieldPart I011_610_BKN = { 4, 1.0, FIELD_PART_UINT, &hf_011_610_BKN, NULL };
-static const FieldPart I011_610_I01 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I01, NULL };
-static const FieldPart I011_610_I02 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I02, NULL };
-static const FieldPart I011_610_I03 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I03, NULL };
-static const FieldPart I011_610_I04 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I04, NULL };
-static const FieldPart I011_610_I05 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I05, NULL };
-static const FieldPart I011_610_I06 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I06, NULL };
-static const FieldPart I011_610_I07 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I07, NULL };
-static const FieldPart I011_610_I08 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I08, NULL };
-static const FieldPart I011_610_I09 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I09, NULL };
-static const FieldPart I011_610_I10 = { 1, 1.0, FIELD_PART_UINT, &hf_011_610_I10, 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_I01, &I011_610_I02, &I011_610_I03, &I011_610_I04, &I011_610_I05,
- &I011_610_I06, &I011_610_I07, &I011_610_I08, &I011_610_I09, &I011_610_I10, &I011_610_I11, &I011_610_I12,
- NULL };
-
-/* Items */
-DIAG_OFF(pedantic)
-static const AsterixField I011_000 = { FIXED, 1, 0, 0, &hf_011_000, I011_000_PARTS, { NULL } };
-static const AsterixField I011_010 = { FIXED, 2, 0, 0, &hf_011_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I011_015 = { FIXED, 1, 0, 0, &hf_011_015, I011_015_PARTS, { NULL } };
-static const AsterixField I011_041 = { FIXED, 8, 0, 0, &hf_011_041, I011_041_PARTS, { NULL } };
-static const AsterixField I011_042 = { FIXED, 4, 0, 0, &hf_011_042, I011_042_PARTS, { NULL } };
-static const AsterixField I011_060 = { FIXED, 2, 0, 0, &hf_011_060, I011_060_PARTS, { NULL } };
-static const AsterixField I011_090 = { FIXED, 2, 0, 0, &hf_011_090, I011_090_PARTS, { NULL } };
-static const AsterixField I011_092 = { FIXED, 2, 0, 0, &hf_011_092, I011_092_PARTS, { NULL } };
-static const AsterixField I011_093 = { FIXED, 2, 0, 0, &hf_011_093, I011_093_PARTS, { NULL } };
-static const AsterixField I011_140 = { FIXED, 3, 0, 0, &hf_011_140, IXXX_TOD, { NULL } };
-static const AsterixField I011_161 = { FIXED, 2, 0, 0, &hf_011_161, I011_161_PARTS, { NULL } };
-static const AsterixField I011_170 = { FX, 1, 0, 0, &hf_011_170, I011_170_PARTS, { NULL } };
-static const AsterixField I011_202 = { FIXED, 4, 0, 0, &hf_011_202, I011_202_PARTS, { NULL } };
-static const AsterixField I011_210 = { FIXED, 2, 0, 0, &hf_011_210, I011_210_PARTS, { NULL } };
-static const AsterixField I011_215 = { FIXED, 2, 0, 0, &hf_011_215, I011_215_PARTS, { NULL } };
-static const AsterixField I011_245 = { FIXED, 7, 0, 0, &hf_011_245, I011_245_PARTS, { NULL } };
-static const AsterixField I011_270 = { FX, 1, 0, 0, &hf_011_270, I011_270_PARTS, { NULL } };
-static const AsterixField I011_290_01 = { FIXED, 1, 0, 0, &hf_011_290_01, I011_290_01_PARTS, { NULL } };
-static const AsterixField I011_290_02 = { FIXED, 1, 0, 0, &hf_011_290_02, I011_290_02_PARTS, { NULL } };
-static const AsterixField I011_290_03 = { FIXED, 1, 0, 0, &hf_011_290_03, I011_290_03_PARTS, { NULL } };
-static const AsterixField I011_290_04 = { FIXED, 1, 0, 0, &hf_011_290_04, I011_290_04_PARTS, { NULL } };
-static const AsterixField I011_290_05 = { FIXED, 1, 0, 0, &hf_011_290_05, I011_290_05_PARTS, { NULL } };
-static const AsterixField I011_290_06 = { FIXED, 2, 0, 0, &hf_011_290_06, I011_290_06_PARTS, { NULL } };
-static const AsterixField I011_290_07 = { FIXED, 1, 0, 0, &hf_011_290_07, I011_290_07_PARTS, { NULL } };
-static const AsterixField I011_290_08 = { FIXED, 1, 0, 0, &hf_011_290_08, I011_290_08_PARTS, { NULL } };
-static const AsterixField I011_290_09 = { FIXED, 1, 0, 0, &hf_011_290_09, I011_290_09_PARTS, { NULL } };
-static const AsterixField I011_290_10 = { FIXED, 1, 0, 0, &hf_011_290_10, I011_290_10_PARTS, { NULL } };
-static const AsterixField I011_290_11 = { FIXED, 1, 0, 0, &hf_011_290_11, I011_290_11_PARTS, { NULL } };
-static const AsterixField I011_290_12 = { FIXED, 1, 0, 0, &hf_011_290_12, I011_290_12_PARTS, { NULL } };
-static const AsterixField I011_290 = { COMPOUND, 0, 0, 0, &hf_011_290, NULL, { &I011_290_01,
- &I011_290_02,
- &I011_290_03,
- &I011_290_04,
- &I011_290_05,
- &I011_290_06,
- &I011_290_07,
- &I011_290_08,
- &I011_290_09,
- &I011_290_10,
- &I011_290_11,
- &I011_290_12,
- &IX_SPARE,
- &IX_SPARE,
- NULL } };
-static const AsterixField I011_300 = { FIXED, 1, 0, 0, &hf_011_300, I011_300_PARTS, { NULL } };
-static const AsterixField I011_310 = { FIXED, 1, 0, 0, &hf_011_310, I011_310_PARTS, { NULL } };
-static const AsterixField I011_380_01 = { REPETITIVE, 8, 1, 0, &hf_011_380_01, IXXX_MB, { NULL } };
-static const AsterixField I011_380_02 = { FIXED, 3, 0, 0, &hf_011_380_02, IXXX_AA_PARTS, { NULL } };
-/* #3 Never Sent */
-static const AsterixField I011_380_04 = { FIXED, 3, 0, 0, &hf_011_380_04, I011_380_04_PARTS, { NULL } };
-/* #5 to #7 Never Sent */
-static const AsterixField I011_380_08 = { FIXED, 4, 0, 0, &hf_011_380_08, I011_380_08_PARTS, { NULL } };
-static const AsterixField I011_380_09 = { FIXED, 1, 0, 0, &hf_011_380_09, I011_380_09_PARTS, { NULL } };
-/* #10 Never Sent */
-static const AsterixField I011_380_11 = { FIXED, 1, 0, 0, &hf_011_380_11, I011_380_11_PARTS, { NULL } };
-static const AsterixField I011_380 = { COMPOUND, 0, 0, 0, &hf_011_380, NULL, { &I011_380_01,
- &I011_380_02,
- &IX_SPARE,
- &I011_380_04,
- &IX_SPARE,
- &IX_SPARE,
- &IX_SPARE,
- &I011_380_08,
- &I011_380_09,
- &IX_SPARE,
- &I011_380_11,
- NULL } };
-static const AsterixField I011_390_01 = { FIXED, 2, 0, 0, &hf_011_390_01, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I011_390_02 = { FIXED, 7, 0, 0, &hf_011_390_02, I011_390_02_PARTS, { NULL } };
-static const AsterixField I011_390_03 = { FIXED, 4, 0, 0, &hf_011_390_03, I011_390_03_PARTS, { NULL } };
-static const AsterixField I011_390_04 = { FIXED, 1, 0, 0, &hf_011_390_04, I011_390_04_PARTS, { NULL } };
-static const AsterixField I011_390_05 = { FIXED, 4, 0, 0, &hf_011_390_05, I011_390_05_PARTS, { NULL } };
-static const AsterixField I011_390_06 = { FIXED, 1, 0, 0, &hf_011_390_06, I011_390_06_PARTS, { NULL } };
-static const AsterixField I011_390_07 = { FIXED, 4, 0, 0, &hf_011_390_07, I011_390_07_PARTS, { NULL } };
-static const AsterixField I011_390_08 = { FIXED, 4, 0, 0, &hf_011_390_08, I011_390_08_PARTS, { NULL } };
-static const AsterixField I011_390_09 = { FIXED, 3, 0, 0, &hf_011_390_09, I011_390_09_PARTS, { NULL } };
-static const AsterixField I011_390_10 = { FIXED, 2, 0, 0, &hf_011_390_10, I011_390_10_PARTS, { NULL } };
-static const AsterixField I011_390_11 = { FIXED, 2, 0, 0, &hf_011_390_11, I011_390_11_PARTS, { NULL } };
-static const AsterixField I011_390_12 = { REPETITIVE, 4, 1, 0, &hf_011_390_12, I011_390_12_PARTS, { NULL } };
-static const AsterixField I011_390_13 = { FIXED, 6, 0, 0, &hf_011_390_13, I011_390_13_PARTS, { NULL } };
-static const AsterixField I011_390_14 = { FIXED, 1, 0, 0, &hf_011_390_14, I011_390_14_PARTS, { NULL } };
-static const AsterixField I011_390 = { COMPOUND, 0, 0, 0, &hf_011_390, NULL, { &I011_390_01,
- &I011_390_02,
- &I011_390_03,
- &I011_390_04,
- &I011_390_05,
- &I011_390_06,
- &I011_390_07,
- &I011_390_08,
- &I011_390_09,
- &I011_390_10,
- &I011_390_11,
- &I011_390_12,
- &I011_390_13,
- &I011_390_14,
- NULL } };
-static const AsterixField I011_430 = { FIXED, 1, 0, 0, &hf_011_430, I011_430_PARTS, { NULL } };
-static const AsterixField I011_500_01 = { FIXED, 2, 0, 0, &hf_011_500_01, I011_500_01_PARTS, { NULL } };
-static const AsterixField I011_500_02 = { FIXED, 4, 0, 0, &hf_011_500_02, I011_500_02_PARTS, { NULL } };
-static const AsterixField I011_500_03 = { FIXED, 2, 0, 0, &hf_011_500_03, I011_500_03_PARTS, { NULL } };
-static const AsterixField I011_500_04 = { FIXED, 2, 0, 0, &hf_011_500_04, I011_500_04_PARTS, { NULL } };
-static const AsterixField I011_500_05 = { FIXED, 1, 0, 0, &hf_011_500_05, I011_500_05_PARTS, { NULL } };
-static const AsterixField I011_500_06 = { FIXED, 2, 0, 0, &hf_011_500_06, I011_500_06_PARTS, { NULL } };
-static const AsterixField I011_500 = { COMPOUND, 0, 0, 0, &hf_011_500, NULL, { &I011_500_01,
- &I011_500_02,
- &I011_500_03,
- &I011_500_04,
- &I011_500_05,
- &I011_500_06,
- NULL } };
-static const AsterixField I011_600 = { FIXED, 3, 0, 0, &hf_011_600, I011_600_PARTS, { NULL } };
-static const AsterixField I011_605 = { REPETITIVE, 2, 1, 0, &hf_011_605, I011_605_PARTS, { 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 const AsterixField I011_SP = { SP, 0, 0, 1, &hf_011_SP, NULL, { NULL } };
-static const AsterixField I011_RE = { RE, 0, 0, 1, &hf_011_RE, NULL, { 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 } };
-static const AsterixField *I011_v1_2_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, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE,
- 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
-static const AsterixField **I011_v1_2[] = { I011_v1_2_uap, NULL };
-static const AsterixField ***I011[] = { I011_v1_2 };
-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
-static const enum_val_t I011_versions[] = {
- { "I011_v1_2", "Version 1.20", 0 },
- { NULL, NULL, 0 }
+/* 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 } };
-/* *********************** */
-/* Category 019 */
-/* *********************** */
+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
-/*
- * Online specification:
- * https://www.eurocontrol.int/publications/cat019-multilateration-system-status-messages-part-18
- */
+/* 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 } };
-/* Fields */
+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
-/* Message Type */
-static const value_string valstr_019_000_MT[] = {
- { 1, "Start of Update Cycle" },
- { 2, "Periodic Status Message" },
- { 3, "Event Status Message" },
+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
-/* System Status */
-static const value_string valstr_019_550_NOGO[] = {
+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 value_string valstr_019_550_OVL[] = {
+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 value_string valstr_019_550_TSV[] = {
+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 value_string valstr_019_550_TTF[] = {
+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 }
};
-
-/* Tracking Processor Detailed Status */
-static const value_string valstr_019_551_TPX_EXEC[] = {
+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 value_string valstr_019_551_TPX_GOOD[] = {
+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 }
};
-
-/* Remote Sensor Detailed Status */
-static const value_string valstr_019_552_present[] = {
- { 0, "Absent" },
+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 value_string valstr_019_552_RS_Status[] = {
+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 value_string valstr_019_552_RS_Operational[] = {
+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 }
};
-
-/* Reference Transponder Detailed Status */
-static const value_string valstr_019_553_Ref_Trans_Status[] = {
- { 0, "Not present" },
+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 },
+ { 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_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_019_000_MT, NULL };
-static const FieldPart *I019_000_PARTS[] = { &I019_000_MT, 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 FieldPart I019_551_TP1_EXEC = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP1_EXEC, NULL };
-static const FieldPart I019_551_TP1_GOOD = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP1_GOOD, NULL };
-static const FieldPart I019_551_TP2_EXEC = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP2_EXEC, NULL };
-static const FieldPart I019_551_TP2_GOOD = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP2_GOOD, NULL };
-static const FieldPart I019_551_TP3_EXEC = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP3_EXEC, NULL };
-static const FieldPart I019_551_TP3_GOOD = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP3_GOOD, NULL };
-static const FieldPart I019_551_TP4_EXEC = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP4_EXEC, NULL };
-static const FieldPart I019_551_TP4_GOOD = { 1, 1.0, FIELD_PART_UINT, &hf_019_551_TP4_GOOD, NULL };
-
-static const FieldPart *I019_551_PARTS[] = { &I019_551_TP1_EXEC, &I019_551_TP1_GOOD,
- &I019_551_TP2_EXEC, &I019_551_TP2_GOOD,
- &I019_551_TP3_EXEC, &I019_551_TP3_GOOD,
- &I019_551_TP4_EXEC, &I019_551_TP4_GOOD,
- NULL };
-
-static const FieldPart I019_552_RS_Identification = { 8, 1.0, FIELD_PART_UINT, &hf_019_552_RS_Identification, NULL };
-static const FieldPart I019_552_Receiver_1090_MHz = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_Receiver_1090_MHz, NULL };
-static const FieldPart I019_552_Transmitter_1030_MHz = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_Transmitter_1030_MHz, NULL };
-static const FieldPart I019_552_Transmitter_1090_MHz = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_Transmitter_1090_MHz, NULL };
-static const FieldPart I019_552_RS_Status = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_RS_Status, NULL };
-static const FieldPart I019_552_RS_Operational = { 1, 1.0, FIELD_PART_UINT, &hf_019_552_RS_Operational, NULL };
-static const FieldPart *I019_552_PARTS[] = { &I019_552_RS_Identification,
- &IXXX_1bit_spare,
- &I019_552_Receiver_1090_MHz,
- &I019_552_Transmitter_1030_MHz,
- &I019_552_Transmitter_1090_MHz,
- &I019_552_RS_Status,
- &I019_552_RS_Operational,
- &IXXX_2bit_spare,
- NULL };
-
-/* Note: I019/553 is an FX field that has no limit on the number of extensions.
- * There is currently no function available for us to deal dynamically with that so we
- * will just hardcode support for a maximum of 10 extensions.
- **/
-
-static const FieldPart I019_553_Ref_Trans_1_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_1_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_2_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_2_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_3_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_3_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_4_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_4_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_5_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_5_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_6_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_6_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_7_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_7_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_8_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_8_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_9_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_9_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_10_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_10_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_11_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_11_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_12_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_12_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_13_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_13_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_14_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_14_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_15_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_15_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_16_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_16_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_17_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_17_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_18_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_18_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_19_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_19_Status, NULL };
-static const FieldPart I019_553_Ref_Trans_20_Status = { 2, 1.0, FIELD_PART_UINT, &hf_019_553_Ref_Trans_20_Status, NULL };
-
-static const FieldPart *I019_553_PARTS[] = { &I019_553_Ref_Trans_1_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_2_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_3_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_4_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_5_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_6_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_7_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_8_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_9_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_10_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_11_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_12_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_13_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_14_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_15_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_16_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_17_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_18_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- &I019_553_Ref_Trans_19_Status,
- &IXXX_2bit_spare,
- &I019_553_Ref_Trans_20_Status,
- &IXXX_1bit_spare,
- &IXXX_FX,
- NULL };
-
-static const FieldPart I019_600_Latitude = { 32, 180.0/1073741824.0, FIELD_PART_FLOAT, &hf_019_600_Latitude, NULL };
-static const FieldPart I019_600_Longitude = { 32, 180.0/1073741824.0, FIELD_PART_FLOAT, &hf_019_600_Longitude, NULL };
-
-static const FieldPart *I019_600_PARTS[] = { &I019_600_Latitude, &I019_600_Longitude, NULL };
-
-
-static const FieldPart I019_610_Height = { 16, 16384.0/65536.0, FIELD_PART_FLOAT, &hf_019_610_Height, NULL };
-
-static const FieldPart *I019_610_PARTS[] = { &I019_610_Height, NULL };
-
-static const FieldPart I019_620_Undulation = { 8, 1.0, FIELD_PART_INT, &hf_019_620_Undulation, NULL };
-
-static const FieldPart *I019_620_PARTS[] = { &I019_620_Undulation, NULL };
-
-/* Items */
-DIAG_OFF(pedantic)
-static const AsterixField I019_000 = { FIXED, 1, 0, 0, &hf_019_000, I019_000_PARTS, { NULL } };
-static const AsterixField I019_010 = { FIXED, 2, 0, 0, &hf_019_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I019_140 = { FIXED, 3, 0, 0, &hf_019_140, IXXX_TOD, { 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 const AsterixField I019_RE = { RE, 0, 0, 1, &hf_019_RE, NULL, { NULL } };
-static const AsterixField I019_SP = { SP, 0, 0, 1, &hf_019_SP, NULL, { 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 } };
-static const AsterixField *I019_v1_3_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_v1_3[] = { I019_v1_3_uap, NULL };
-static const AsterixField ***I019[] = { I019_v1_3 };
-DIAG_ON(pedantic)
+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
-static const enum_val_t I019_versions[] = {
- { "I019_v1_3", "Version 1.3", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/*
- * Online specification:
- * https://www.eurocontrol.int/publications/cat020-multilateration-mlt-messages-part-14
- * https://www.eurocontrol.int/publications/cat020-coding-rule-reserved-expansion-field-part14-appendix
- */
+/* 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
-/* Fields */
-/* Target Report Descriptor */
+/* 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, "no Non-Mode S 1090MHz multilat" },
- { 1, "Non-Mode S 1090MHz multilateration" },
+ { 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, "no Mode-S 1090 MHz multilateration" },
- { 1, "Mode-S 1090 MHz multilateration" },
+ { 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, "no HF multilateration" },
- { 1, "HF multilateration" },
+ { 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, "no VDL Mode 4 multilateration" },
- { 1, "VDL Mode 4 multilateration" },
+ { 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, "no UAT multilateration" },
- { 1, "UAT multilateration" },
+ { 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, "no DME/TACAN multilateration" },
- { 1, "DME/TACAN multilateration" },
+ { 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, "No Other Technology Multilateration" },
- { 1, "Other Technology Multilateration" },
+ { 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 (fixed 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_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_SSR, NULL };
-static const FieldPart I020_020_MS = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_MS, NULL };
-static const FieldPart I020_020_HF = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_HF, NULL };
-static const FieldPart I020_020_VDL4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_VDL4, NULL };
-static const FieldPart I020_020_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_UAT, NULL };
-static const FieldPart I020_020_DME = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_DME, NULL };
-static const FieldPart I020_020_OT = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_OT, NULL };
-static const FieldPart I020_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_RAB, NULL };
-static const FieldPart I020_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_SPI, NULL };
-static const FieldPart I020_020_CHN = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_CHN, NULL };
-static const FieldPart I020_020_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_GBS, NULL };
-static const FieldPart I020_020_CRT = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_CRT, NULL };
-static const FieldPart I020_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_020_020_SIM, 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 };
-
-/* Warning/Error Conditions */
-static const value_string valstr_020_030_WE[] = {
- { 0, "Not defined; never used" },
- { 1, "Multipath Reply (Reflection)" },
- { 3, "Split plot" },
+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" },
@@ -6263,197 +19505,337 @@ static const value_string valstr_020_030_WE[] = {
{ 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_WE = { 7, 1.0, FIELD_PART_UINT, &hf_020_030_WE, NULL };
-/* It is not specified how many W/E conditions may be present. Since FX fields are not made that way, MAX 10 for now.
- * For such field, repetitive field should be used, but it is not. */
-static const FieldPart *I020_030_PARTS[] = { &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX,
- &I020_030_WE, &IXXX_FX, NULL };
-
-/* Position in WGS-84 Coordinates */
-static const FieldPart I020_041_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_020_041_LAT, NULL };
-static const FieldPart I020_041_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_020_041_LON, NULL };
-static const FieldPart *I020_041_PARTS[] = { &I020_041_LAT, &I020_041_LON, NULL };
-
-/* Position in Cartesian Coordinates */
+ { 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 };
-
-/* Mode-2 Code in Octal Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_050_V, NULL };
-static const FieldPart I020_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_050_G, NULL };
static const FieldPart I020_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_050_L, NULL };
-static const FieldPart I020_050_CODE = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_050_SQUAWK, NULL };
-static const FieldPart *I020_050_PARTS[] = { &I020_050_V, &I020_050_G, &I020_050_L, &IXXX_1bit_spare, &I020_050_CODE, NULL };
-
-/* Mode-1 Code in Octal Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_055_V, NULL };
-static const FieldPart I020_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_055_G, NULL };
static const FieldPart I020_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_055_L, NULL };
-static const FieldPart I020_055_A = { 3, 1.0, FIELD_PART_UINT, &hf_020_055_A, NULL };
-static const FieldPart I020_055_B = { 2, 1.0, FIELD_PART_UINT, &hf_020_055_B, NULL };
-static const FieldPart *I020_055_PARTS[] = { &I020_055_V, &I020_055_G, &I020_055_L, &I020_055_A, &I020_055_B, NULL };
-
-/* Mode-3/A Code in Octal Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_070_V, NULL };
-static const FieldPart I020_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_070_G, NULL };
static const FieldPart I020_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_020_070_L, NULL };
-static const FieldPart I020_070_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_020_070_SQUAWK, NULL };
-static const FieldPart *I020_070_PARTS[] = { &I020_070_V, &I020_070_G, &I020_070_L, &IXXX_1bit_spare, &I020_070_SQUAWK, NULL };
-
-/* Flight Level in Binary Representation */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_090_V, 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 };
-
-/* Mode-C Code */
+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 value_string valstr_020_100_QA[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_V, NULL };
-static const FieldPart I020_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_G, NULL };
-static const FieldPart I020_100_C1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_C1, NULL };
-static const FieldPart I020_100_A1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_A1, NULL };
-static const FieldPart I020_100_C2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_C2, NULL };
-static const FieldPart I020_100_A2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_A2, NULL };
-static const FieldPart I020_100_C4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_C4, NULL };
-static const FieldPart I020_100_A4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_A4, NULL };
-static const FieldPart I020_100_B1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_B1, NULL };
-static const FieldPart I020_100_D1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_D1, NULL };
-static const FieldPart I020_100_B2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_B2, NULL };
-static const FieldPart I020_100_D2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_D2, NULL };
-static const FieldPart I020_100_B4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_B4, NULL };
-static const FieldPart I020_100_D4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_100_D4, 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_C1, &I020_100_A1, &I020_100_C2, &I020_100_A2,
- &I020_100_C4, &I020_100_A4, &I020_100_B1, &I020_100_D1,
- &I020_100_B2, &I020_100_D2, &I020_100_B4, &I020_100_D4,
- &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 };
-
-/* Geometric Height (WGS-84) */
-static const FieldPart I020_105_GH = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_105_GH, NULL };
-static const FieldPart *I020_105_PARTS[] = { &I020_105_GH, NULL };
-
-/* Measured Height (Local Cartesian Coordinates) */
-static const FieldPart I020_110_MH = { 16, 6.25, FIELD_PART_FLOAT, &hf_020_110_MH, NULL };
-static const FieldPart *I020_110_PARTS[] = { &I020_110_MH, NULL };
-
-/* Time of Day */
-/* IXXX_TOD */
-
-/* Track Number */
-static const FieldPart I020_161_TN = { 12, 1.0, FIELD_PART_UINT, &hf_020_161_TN, NULL };
-static const FieldPart *I020_161_PARTS[] = { &IXXX_4bit_spare, &I020_161_TN, NULL };
-
-/* Track Status */
+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 extrapolated" },
- { 1, "Extrapolated" },
+ { 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" },
@@ -6461,45 +19843,74 @@ static const value_string valstr_020_170_CDM[] = {
{ 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_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_CNF, NULL };
-static const FieldPart I020_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_TRE, NULL };
-static const FieldPart I020_170_CST = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_CST, NULL };
-static const FieldPart I020_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_020_170_CDM, NULL };
-static const FieldPart I020_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_MAH, NULL };
-static const FieldPart I020_170_STH = { 1, 1.0, FIELD_PART_UINT, &hf_020_170_STH, 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 };
-
-/* Calculated Track Velocity in Cartesian Coordinates */
+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 };
-
-/* Calculated Acceleration */
+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 };
-
-/* Target Address */
-/* IXXX_AA */
-
-/* Communications/ACAS Capability and Flight Status */
+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" },
@@ -6511,6 +19922,8 @@ static const value_string valstr_020_230_COM[] = {
{ 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" },
@@ -6522,32 +19935,46 @@ static const value_string valstr_020_230_STAT[] = {
{ 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_COM = { 3, 1.0, FIELD_PART_UINT, &hf_020_230_COM, NULL };
-static const FieldPart I020_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_020_230_STAT, NULL };
-static const FieldPart I020_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_020_230_MSSC, NULL };
-static const FieldPart I020_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_020_230_ARC, NULL };
static const FieldPart I020_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_020_230_AIC, NULL };
-static const FieldPart I020_230_B1A = { 1, 1.0, FIELD_PART_UINT, &hf_020_230_B1A, 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 };
-
-/* Target Identification */
+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" },
@@ -6556,26 +19983,50 @@ static const value_string valstr_020_245_STI[] = {
{ 0, NULL }
};
static const FieldPart I020_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_020_245_STI, NULL };
-static const FieldPart *I020_245_PARTS[] = { &I020_245_STI, &IXXX_6bit_spare, &IXXX_AI, NULL };
-
-/* Mode S MB Data */
-/* IXXX_MB */
-
-/* ACAS Resolution Advisory Report */
-static const FieldPart *I020_260_PARTS[] = { &IXXX_MB_DATA, NULL };
-
-/* Vehicle Fleet Identification */
-static const value_string valstr_020_300_VFI[] = {
- { 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" },
+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" },
@@ -6583,288 +20034,2921 @@ static const value_string valstr_020_300_VFI[] = {
{ 14, "Catering" },
{ 15, "Aircraft maintenance" },
{ 16, "Flyco (follow me)" },
- { 0, NULL }
+ { 0, NULL }
};
-static const FieldPart I020_300_VFI = { 8, 1.0, FIELD_PART_UINT, &hf_020_300_VFI, NULL };
-static const FieldPart *I020_300_PARTS[] = { &I020_300_VFI, NULL };
-
-/* Pre-programmed Message */
+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" },
+ { 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_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_020_310_TRB, 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 };
-
-/* Contributing Devices */
-static const value_string valstr_020_400_TUxRUx[] = {
- { 0, "TUx/RUx has NOT contributed to the target detection" },
- { 1, "TUx/RUx has contributed to the target detection" },
- { 0, NULL }
-};
-static const FieldPart I020_400_TU8RU8 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU8RU8, NULL };
-static const FieldPart I020_400_TU7RU7 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU7RU7, NULL };
-static const FieldPart I020_400_TU6RU6 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU6RU6, NULL };
-static const FieldPart I020_400_TU5RU5 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU5RU5, NULL };
-static const FieldPart I020_400_TU4RU4 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU4RU4, NULL };
-static const FieldPart I020_400_TU3RU3 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU3RU3, NULL };
-static const FieldPart I020_400_TU2RU2 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU2RU2, NULL };
-static const FieldPart I020_400_TU1RU1 = { 1, 1.0, FIELD_PART_UINT, &hf_020_400_TU1RU1, NULL };
-static const FieldPart *I020_400_PARTS[] = { &I020_400_TU8RU8, &I020_400_TU7RU7, &I020_400_TU6RU6, &I020_400_TU5RU5, &I020_400_TU4RU4, &I020_400_TU3RU3, &I020_400_TU2RU2, &I020_400_TU1RU1, NULL };
-
-/* Position Accuracy */
-static const FieldPart I020_500_01_DOPx = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_01_DOPx, NULL };
-static const FieldPart I020_500_01_DOPy = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_01_DOPy, NULL };
-static const FieldPart I020_500_01_DOPxy = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_500_01_DOPxy, NULL };
-static const FieldPart *I020_500_01_PARTS[] = { &I020_500_01_DOPx, &I020_500_01_DOPy, &I020_500_01_DOPxy, NULL };
-static const FieldPart I020_500_02_SDPx = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_02_SDPx, NULL };
-static const FieldPart I020_500_02_SDPy = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_500_02_SDPy, NULL };
-static const FieldPart I020_500_02_SDPxy = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_500_02_SDPxy, NULL };
-static const FieldPart *I020_500_02_PARTS[] = { &I020_500_02_SDPx, &I020_500_02_SDPy, &I020_500_02_SDPxy, NULL };
-static const FieldPart I020_500_03_SDH = { 16, 0.5, FIELD_PART_UFLOAT, &hf_020_500_03_SDH, NULL };
-static const FieldPart *I020_500_03_PARTS[] = { &I020_500_03_SDH, NULL };
-
-/* Reserved expansion field */
-/* Range exceeded indicator */
-static const value_string valstr_020_RE_GVV_RE[] = {
- { 0, "Value in defined range" },
- { 1, "Value exceeds defined range" },
- { 0, NULL }
+static const FieldPart *I020_310_PARTS[] = {
+ &I020_310_TRB,
+ &I020_310_MSG,
+ NULL
};
-
-static const FieldPart I020_RE_PA_01_DOPx = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_RE_PA_01_DOPx, NULL };
-static const FieldPart I020_RE_PA_01_DOPy = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_RE_PA_01_DOPy, NULL };
-static const FieldPart I020_RE_PA_01_DOPxy = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_RE_PA_01_DOPxy, NULL };
-static const FieldPart *I020_RE_PA_01_DOP_PARTS[] = { &I020_RE_PA_01_DOPx, &I020_RE_PA_01_DOPy, &I020_RE_PA_01_DOPxy, NULL };
-static const FieldPart I020_RE_PA_02_SDCx = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_RE_PA_02_SDCx, NULL };
-static const FieldPart I020_RE_PA_02_SDCy = { 16, 0.25, FIELD_PART_UFLOAT, &hf_020_RE_PA_02_SDCy, NULL };
-static const FieldPart I020_RE_PA_02_SDCxy = { 16, 0.25, FIELD_PART_FLOAT, &hf_020_RE_PA_02_SDCxy, NULL };
-static const FieldPart *I020_RE_PA_02_SDC_PARTS[] = { &I020_RE_PA_02_SDCx, &I020_RE_PA_02_SDCy, &I020_RE_PA_02_SDCxy, NULL };
-static const FieldPart I020_RE_PA_03_SDH_SDH = { 16, 1, FIELD_PART_UFLOAT, &hf_020_RE_PA_03_SDH, NULL };
-static const FieldPart *I020_RE_PA_03_SDH_PARTS[] = { &I020_RE_PA_03_SDH_SDH, NULL };
-static const FieldPart I020_RE_PA_04_LAT = { 16, 180.0/33554432.0, FIELD_PART_UFLOAT, &hf_020_RE_PA_04_LAT, NULL };
-static const FieldPart I020_RE_PA_04_LON = { 16, 180.0/33554432.0, FIELD_PART_UFLOAT, &hf_020_RE_PA_04_LON, NULL };
-static const FieldPart I020_RE_PA_04_COV = { 16, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_020_RE_PA_04_COV, NULL };
-static const FieldPart *I020_RE_PA_04_SDW_PARTS[] = { &I020_RE_PA_04_LAT, &I020_RE_PA_04_LON, &I020_RE_PA_04_COV, NULL };
-static const FieldPart I020_RE_GVV_RE = { 1, 1.0, FIELD_PART_UINT, &hf_020_RE_GVV_RE, NULL };
-static const FieldPart I020_RE_GVV_GS = { 15, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_020_RE_GVV_GS, NULL };
-static const FieldPart I020_RE_GVV_TA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_020_RE_GVV_TA, NULL };
-static const FieldPart *I020_RE_GVV_PARTS[] = { &I020_RE_GVV_RE, &I020_RE_GVV_GS, &I020_RE_GVV_TA, NULL };
-static const FieldPart I020_RE_GVA_GSSD = { 8, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_020_RE_GVA_GSSD, NULL };
-static const FieldPart I020_RE_GVA_TASD = { 8, 360.0/4096.0, FIELD_PART_UFLOAT, &hf_020_RE_GVA_TASD, NULL };
-static const FieldPart *I020_RE_GVA_PARTS[] = { &I020_RE_GVA_GSSD, &I020_RE_GVA_TASD, NULL };
-/* 04 - Time of day */
-static const FieldPart I020_RE_DA_01_SPI = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_01_SPI, NULL };
-static const FieldPart *I020_RE_DA_01_PARTS[] = { &I020_RE_DA_01_SPI, NULL };
-static const FieldPart I020_RE_DA_02_TI = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_02_TI, NULL };
-static const FieldPart *I020_RE_DA_02_PARTS[] = { &I020_RE_DA_02_TI, NULL };
-static const FieldPart I020_RE_DA_03_BDS1 = { 4, 1.0, FIELD_PART_UINT, &hf_020_RE_DA_03_BDS1, NULL };
-static const FieldPart I020_RE_DA_03_BDS2 = { 4, 1.0, FIELD_PART_UINT, &hf_020_RE_DA_03_BDS2, NULL };
-static const FieldPart I020_RE_DA_03_MBA = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_03_MBA, NULL };
-static const FieldPart *I020_RE_DA_03_PARTS[] = { &I020_RE_DA_03_BDS1, &I020_RE_DA_03_BDS2, &I020_RE_DA_03_MBA, NULL };
-static const FieldPart I020_RE_DA_04_M3A = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_04_M3A, NULL };
-static const FieldPart *I020_RE_DA_04_PARTS[] = { &I020_RE_DA_04_M3A, NULL };
-static const FieldPart I020_RE_DA_05_FL = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_05_FL, NULL };
-static const FieldPart *I020_RE_DA_05_PARTS[] = { &I020_RE_DA_05_FL, NULL };
-static const FieldPart I020_RE_DA_06_STAT = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_06_STAT, NULL };
-static const FieldPart *I020_RE_DA_06_PARTS[] = { &I020_RE_DA_06_STAT, NULL };
-static const FieldPart I020_RE_DA_07_GH = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_07_GH, NULL };
-static const FieldPart *I020_RE_DA_07_PARTS[] = { &I020_RE_DA_07_GH, NULL };
-static const FieldPart I020_RE_DA_08_TA = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_08_TA, NULL };
-static const FieldPart *I020_RE_DA_08_PARTS[] = { &I020_RE_DA_08_TA, NULL };
-static const FieldPart I020_RE_DA_09_MC = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_09_MC, NULL };
-static const FieldPart *I020_RE_DA_09_PARTS[] = { &I020_RE_DA_09_MC, NULL };
-static const FieldPart I020_RE_DA_10_MSSC = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_10_MSSC, NULL };
-static const FieldPart *I020_RE_DA_10_PARTS[] = { &I020_RE_DA_10_MSSC, NULL };
-static const FieldPart I020_RE_DA_11_ARC = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_11_ARC, NULL };
-static const FieldPart *I020_RE_DA_11_PARTS[] = { &I020_RE_DA_11_ARC, NULL };
-static const FieldPart I020_RE_DA_12_AIC = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_12_AIC, NULL };
-static const FieldPart *I020_RE_DA_12_PARTS[] = { &I020_RE_DA_12_AIC, NULL };
-static const FieldPart I020_RE_DA_13_M2 = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_13_M2, NULL };
-static const FieldPart *I020_RE_DA_13_PARTS[] = { &I020_RE_DA_13_M2, NULL };
-static const FieldPart I020_RE_DA_14_M1 = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_14_M1, NULL };
-static const FieldPart *I020_RE_DA_14_PARTS[] = { &I020_RE_DA_14_M1, NULL };
-static const FieldPart I020_RE_DA_15_ARA = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_15_ARA, NULL };
-static const FieldPart *I020_RE_DA_15_PARTS[] = { &I020_RE_DA_15_ARA, NULL };
-static const FieldPart I020_RE_DA_16_VI = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_16_VI, NULL };
-static const FieldPart *I020_RE_DA_16_PARTS[] = { &I020_RE_DA_16_VI, NULL };
-static const FieldPart I020_RE_DA_17_MSG = { 8, 0.1, FIELD_PART_UFLOAT, &hf_020_RE_DA_17_MSG, NULL };
-static const FieldPart *I020_RE_DA_17_PARTS[] = { &I020_RE_DA_17_MSG, NULL };
-
-/* Items */
-DIAG_OFF(pedantic)
-static const AsterixField I020_010 = { FIXED, 2, 0, 0, &hf_020_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I020_020 = { FX, 1, 0, 0, &hf_020_020, I020_020_PARTS, { NULL } };
-static const AsterixField I020_030 = { FX, 1, 0, 0, &hf_020_030, I020_030_PARTS, { NULL } };
-static const AsterixField I020_041 = { FIXED, 8, 0, 0, &hf_020_041, I020_041_PARTS, { NULL } };
-static const AsterixField I020_042 = { FIXED, 6, 0, 0, &hf_020_042, I020_042_PARTS, { NULL } };
-static const AsterixField I020_050 = { FIXED, 2, 0, 0, &hf_020_050, I020_050_PARTS, { NULL } };
-static const AsterixField I020_055 = { FIXED, 1, 0, 0, &hf_020_055, I020_055_PARTS, { NULL } };
-static const AsterixField I020_070 = { FIXED, 2, 0, 0, &hf_020_070, I020_070_PARTS, { NULL } };
-static const AsterixField I020_090 = { FIXED, 2, 0, 0, &hf_020_090, I020_090_PARTS, { NULL } };
-static const AsterixField I020_100 = { FIXED, 4, 0, 0, &hf_020_100, I020_100_PARTS, { NULL } };
-static const AsterixField I020_105 = { FIXED, 2, 0, 0, &hf_020_105, I020_105_PARTS, { NULL } };
-static const AsterixField I020_110 = { FIXED, 2, 0, 0, &hf_020_110, I020_110_PARTS, { NULL } };
-static const AsterixField I020_140 = { FIXED, 3, 0, 0, &hf_020_140, IXXX_TOD, { NULL } };
-static const AsterixField I020_161 = { FIXED, 2, 0, 0, &hf_020_161, I020_161_PARTS, { NULL } };
-static const AsterixField I020_170 = { FX, 1, 0, 0, &hf_020_170, I020_170_PARTS, { NULL } };
-static const AsterixField I020_202 = { FIXED, 4, 0, 0, &hf_020_202, I020_202_PARTS, { NULL } };
-static const AsterixField I020_210 = { FIXED, 2, 0, 0, &hf_020_210, I020_210_PARTS, { NULL } };
-static const AsterixField I020_220 = { FIXED, 3, 0, 0, &hf_020_220, IXXX_AA_PARTS, { NULL } };
-static const AsterixField I020_230 = { FIXED, 2, 0, 0, &hf_020_230, I020_230_PARTS, { NULL } };
-static const AsterixField I020_245 = { FIXED, 7, 0, 0, &hf_020_245, I020_245_PARTS, { NULL } };
-static const AsterixField I020_250 = { REPETITIVE, 8, 1, 0, &hf_020_250, IXXX_MB, { NULL } };
-static const AsterixField I020_260 = { FIXED, 7, 0, 0, &hf_020_260, I020_260_PARTS, { NULL } };
-static const AsterixField I020_300 = { FIXED, 1, 0, 0, &hf_020_300, I020_300_PARTS, { 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 const AsterixField I020_500_01 = { FIXED, 6, 0, 0, &hf_020_500_01, I020_500_01_PARTS, { NULL } };
-static const AsterixField I020_500_02 = { FIXED, 6, 0, 0, &hf_020_500_02, I020_500_02_PARTS, { NULL } };
-static const AsterixField I020_500_03 = { FIXED, 2, 0, 0, &hf_020_500_03, I020_500_03_PARTS, { NULL } };
-static const AsterixField I020_500 = { COMPOUND, 0, 0, 0, &hf_020_500, NULL, { &I020_500_01,
- &I020_500_02,
- &I020_500_03,
- NULL } };
-static const AsterixField I020_RE_PA_01_DOP = { FIXED, 6, 0, 0, &hf_020_RE_PA_01, I020_RE_PA_01_DOP_PARTS, { NULL } };
-static const AsterixField I020_RE_PA_02_SDC = { FIXED, 6, 0, 0, &hf_020_RE_PA_02, I020_RE_PA_02_SDC_PARTS, { NULL } };
-static const AsterixField I020_RE_PA_03_SDH = { FIXED, 2, 0, 0, &hf_020_RE_PA_03, I020_RE_PA_03_SDH_PARTS, { NULL } };
-static const AsterixField I020_RE_PA_04_SDW = { FIXED, 6, 0, 0, &hf_020_RE_PA_04, I020_RE_PA_04_SDW_PARTS, { NULL } };
-static const AsterixField I020_RE_PA = { COMPOUND, 0, 0, 0, &hf_020_RE_PA, NULL, { &I020_RE_PA_01_DOP,
- &I020_RE_PA_02_SDC,
- &I020_RE_PA_03_SDH,
- &I020_RE_PA_04_SDW,
- NULL } };
-static const AsterixField I020_RE_GVV = { FIXED, 4, 0, 0, &hf_020_RE_GVV, I020_RE_GVV_PARTS, { NULL } };
-static const AsterixField I020_RE_GVA = { FIXED, 2, 0, 0, &hf_020_RE_GVA, I020_RE_GVA_PARTS, { NULL } };
-static const AsterixField I020_RE_TRT = { FIXED, 3, 0, 0, &hf_020_RE_TRT, IXXX_TOD, { NULL } };
-static const AsterixField I020_RE_DA_01 = { FIXED, 1, 0, 0, &hf_020_RE_DA_01, I020_RE_DA_01_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_02 = { FIXED, 1, 0, 0, &hf_020_RE_DA_02, I020_RE_DA_02_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_03 = { REPETITIVE, 2, 1, 0, &hf_020_RE_DA_03, I020_RE_DA_03_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_04 = { FIXED, 1, 0, 0, &hf_020_RE_DA_04, I020_RE_DA_04_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_05 = { FIXED, 1, 0, 0, &hf_020_RE_DA_05, I020_RE_DA_05_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_06 = { FIXED, 1, 0, 0, &hf_020_RE_DA_06, I020_RE_DA_06_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_07 = { FIXED, 1, 0, 0, &hf_020_RE_DA_07, I020_RE_DA_07_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_08 = { FIXED, 1, 0, 0, &hf_020_RE_DA_08, I020_RE_DA_08_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_09 = { FIXED, 1, 0, 0, &hf_020_RE_DA_09, I020_RE_DA_09_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_10 = { FIXED, 1, 0, 0, &hf_020_RE_DA_10, I020_RE_DA_10_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_11 = { FIXED, 1, 0, 0, &hf_020_RE_DA_11, I020_RE_DA_11_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_12 = { FIXED, 1, 0, 0, &hf_020_RE_DA_12, I020_RE_DA_12_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_13 = { FIXED, 1, 0, 0, &hf_020_RE_DA_13, I020_RE_DA_13_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_14 = { FIXED, 1, 0, 0, &hf_020_RE_DA_14, I020_RE_DA_14_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_15 = { FIXED, 1, 0, 0, &hf_020_RE_DA_15, I020_RE_DA_15_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_16 = { FIXED, 1, 0, 0, &hf_020_RE_DA_16, I020_RE_DA_16_PARTS, { NULL } };
-static const AsterixField I020_RE_DA_17 = { FIXED, 1, 0, 0, &hf_020_RE_DA_17, I020_RE_DA_17_PARTS, { NULL } };
-static const AsterixField I020_RE_DA = { COMPOUND, 0, 0, 0, &hf_020_RE_DA, NULL, { &I020_RE_DA_01,
- &I020_RE_DA_02,
- &I020_RE_DA_03,
- &I020_RE_DA_04,
- &I020_RE_DA_05,
- &I020_RE_DA_06,
- &I020_RE_DA_07,
- &I020_RE_DA_08,
- &I020_RE_DA_09,
- &I020_RE_DA_10,
- &I020_RE_DA_11,
- &I020_RE_DA_12,
- &I020_RE_DA_13,
- &I020_RE_DA_14,
- &I020_RE_DA_15,
- &I020_RE_DA_16,
- &I020_RE_DA_17,
- NULL } };
-static const AsterixField I020_RE = { RE, 0, 0, 1, &hf_020_RE, NULL, { &I020_RE_PA,
- &I020_RE_GVV,
- &I020_RE_GVA,
- &I020_RE_TRT,
- &I020_RE_DA,
- NULL } };
-static const AsterixField I020_SP = { SP, 0, 0, 1, &hf_020_SP, NULL, { NULL } };
-
-static const AsterixField *I020_v1_9_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_v1_9[] = { I020_v1_9_uap, NULL };
-static const AsterixField ***I020[] = { I020_v1_9 };
-DIAG_ON(pedantic)
+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 } };
-static const enum_val_t I020_versions[] = {
- { "I020_v1_9", "Version 1.9", 0 },
- { NULL, NULL, 0 }
+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
-/* *********************** */
-/* Category 021 */
-/* *********************** */
-/* Fields */
+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
-/* Aircraft Operational Status */
-static const value_string valstr_021_008_RA[] = {
+/* 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 value_string valstr_021_008_TC[] = {
+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 value_string valstr_021_008_TS[] = {
+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 value_string valstr_021_008_ARV[] = {
+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 value_string valstr_021_008_CDTIA[] = {
+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 value_string valstr_021_008_not_TCAS[] = {
+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 value_string valstr_021_008_SA[] = {
+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_008_RA = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_RA, NULL };
-static const FieldPart I021_008_TC = { 2, 1.0, FIELD_PART_UINT, &hf_021_008_TC, NULL };
-static const FieldPart I021_008_TS = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_TS, NULL };
-static const FieldPart I021_008_ARV = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_ARV, NULL };
-static const FieldPart I021_008_CDTIA = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_CDTIA, NULL };
-static const FieldPart I021_008_not_TCAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_008_not_TCAS, 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_not_TCAS, &I021_008_SA, NULL };
-
-/* Service Identification */
-static const FieldPart I021_015_SI = { 8, 1.0, FIELD_PART_UINT, &hf_021_015_SI, NULL };
-static const FieldPart *I021_015_PARTS[] = { &I021_015_SI, NULL };
-
-/* Service Management */
-static const FieldPart I021_016_RP = { 8, 0.5, FIELD_PART_UFLOAT, &hf_021_016_RP, NULL };
-static const FieldPart *I021_016_PARTS[] = { &I021_016_RP, NULL };
-
-/* Emitter Category */
-static const value_string valstr_021_020_ECAT[] = {
+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" },
@@ -6892,13 +22976,1195 @@ static const value_string valstr_021_020_ECAT[] = {
{ 24, "Line obstacle" },
{ 0, NULL }
};
-static const value_string valstr_021_020_v0_2_ECAT[] = {
- { 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)" },
+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" },
@@ -6915,22 +24181,1236 @@ static const value_string valstr_021_020_v0_2_ECAT[] = {
{ 20, "Surface emergency vehicle" },
{ 21, "Surface service vehicle" },
{ 22, "Fixed ground or tethered obstruction" },
- { 23, "Reserved" },
- { 24, "Reserved" },
+ { 23, "Cluster obstacle" },
+ { 24, "Line obstacle" },
{ 0, NULL }
};
-static const FieldPart I021_020_ECAT = { 8, 1.0, FIELD_PART_UINT, &hf_021_020_ECAT, NULL };
-static const FieldPart I021_020_v0_2_ECAT = { 8, 1.0, FIELD_PART_UINT, &hf_021_020_v0_2_ECAT, NULL };
-static const FieldPart *I021_020_PARTS[] = { &I021_020_ECAT, NULL };
-static const FieldPart *I021_020_PARTS_v0_2[] = { &I021_020_v0_2_ECAT, NULL };
-
-/* Time of Day Accuracy */
-static const FieldPart I021_032_TODA = { 8, 1.0/256.0, FIELD_PART_UFLOAT, &hf_021_032_TODA, NULL };
-static const FieldPart *I021_032_PARTS[] = { &I021_032_TODA, 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
-/* Target Report Descriptor */
-static const value_string valstr_021_040_ATP[] = {
+/* 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" },
@@ -6941,161 +25421,3785 @@ static const value_string valstr_021_040_ATP[] = {
{ 7, "Reserved for future use" },
{ 0, NULL }
};
-static const value_string valstr_021_040_v0_2_ATP[] = {
- { 0, "Non unique address" },
- { 1, "24-Bit ICAO address" },
+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}
+ { 0, NULL }
};
-static const value_string valstr_021_040_ARC[] = {
+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 value_string valstr_021_040_v0_2_ARC[] = {
- { 0, "Unknown" },
- { 1, "25 ft" },
- { 2, "100 ft" },
- { 0, NULL }
-};
-static const value_string valstr_021_040_RC[] = {
+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 value_string valstr_021_040_RAB[] = {
+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 value_string valstr_021_040_DCR[] = {
+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 value_string valstr_021_040_GBS[] = {
+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 value_string valstr_021_040_SIM[] = {
+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 value_string valstr_021_040_TST[] = {
+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 value_string valstr_021_040_SAA[] = {
+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 value_string valstr_021_040_SPI[] = {
- { 0, "Absence of SPI" },
- { 1, "Special Position Identification" },
+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 value_string valstr_021_040_CL[] = {
+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 value_string valstr_021_040_LLC[] = {
+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" },
+ { 1, "List Lookup failed (see note)" },
{ 0, NULL }
};
-static const value_string valstr_021_040_IPC[] = {
- { 0, "Default" },
+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 value_string valstr_021_040_NOGO[] = {
+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 value_string valstr_021_040_CPR[] = {
+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 value_string valstr_021_040_LDPJ[] = {
+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 value_string valstr_021_040_RCF[] = {
+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 const FieldPart I021_040_v0_2_ATP = { 3, 1.0, FIELD_PART_UINT, &hf_021_040_v0_2_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 const FieldPart I021_040_v0_2_ARC = { 2, 1.0, FIELD_PART_UINT, &hf_021_040_v0_2_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 const FieldPart I021_040_v0_2_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_v0_2_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 const FieldPart I021_040_v0_2_SAA = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_v0_2_SAA, NULL };
-static const FieldPart I021_040_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_SPI, 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 const FieldPart I021_040_LDPJ = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_LDPJ, NULL };
-static const FieldPart I021_040_RCF = { 1, 1.0, FIELD_PART_UINT, &hf_021_040_RCF, 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, NULL };
-static const FieldPart *I021_040_PARTS_v2_1[] = { &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_2bit_spare, &I021_040_IPC, &I021_040_NOGO, &I021_040_CPR, &I021_040_LDPJ, &I021_040_RCF, &IXXX_FX, NULL };
-static const FieldPart *I021_040_PARTS_v0_2[] = { &I021_040_DCR, &I021_040_GBS, &I021_040_SIM, &I021_040_TST, &I021_040_v0_2_RAB, &I021_040_v0_2_SAA,
- &I021_040_SPI, &IXXX_1bit_spare, &I021_040_v0_2_ATP, &I021_040_v0_2_ARC, &IXXX_3bit_spare, NULL };
-
-/* Mode 3/A Code in Octal Representation */
-static const value_string valstr_021_070_V[] = {
- { 0, "Code Validated" },
- { 1, "Code not validated" },
+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 value_string valstr_021_070_G[] = {
+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, "Garbled code" },
+ { 1, "Range Check failed" },
{ 0, NULL }
};
-static const value_string valstr_021_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_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 FieldPart I021_070_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_021_070_SQUAWK, NULL };
-static const FieldPart I021_070_V = { 1, 1.0, FIELD_PART_UINT, &hf_021_070_V, NULL };
-static const FieldPart I021_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_021_070_G, NULL };
-static const FieldPart I021_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_021_070_L, NULL };
-static const FieldPart *I021_070_PARTS[] = { &IXXX_4bit_spare, &I021_070_SQUAWK, NULL };
-static const FieldPart *I021_070_PARTS_v0_2[] = { &I021_070_V, &I021_070_G, &I021_070_L, &IXXX_1bit_spare, &I021_070_SQUAWK, NULL };
-
-/* Time of Message Reception of Position-High Precision */
+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" },
@@ -7104,93 +29208,148 @@ static const value_string valstr_021_074_FSI[] = {
{ 0, NULL }
};
static const FieldPart I021_074_FSI = { 2, 1.0, FIELD_PART_UINT, &hf_021_074_FSI, NULL };
-static const FieldPart I021_074_TOMRP = { 30, 1.0/1073741824.0, FIELD_PART_UFLOAT, &hf_021_074_TOMRP, NULL };
-static const FieldPart *I021_074_PARTS[] = { &I021_074_FSI, &I021_074_TOMRP, NULL };
-
-/* Time of Message Reception of Position-High Precision */
+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, "TOMRv whole seconds = (I021/075) Whole seconds - 1" },
- { 1, "TOMRv whole seconds = (I021/075) Whole seconds + 1" },
- { 0, "TOMRv whole seconds = (I021/075) Whole seconds" },
+ { 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 const FieldPart I021_076_TOMRV = { 30, 1.0/1073741824.0, FIELD_PART_UFLOAT, &hf_021_076_TOMRV, NULL };
-static const FieldPart *I021_076_PARTS[] = { &I021_076_FSI, &I021_076_TOMRV, NULL };
-
-/* Quality Indicators */
+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 value_string valstr_021_090_AC[] = {
- { 0, "Unknown" },
- { 1, "ACAS not operational" },
- { 2, "ACAS operational" },
- { 3, "Invalid"},
- { 0, NULL }
-};
-static const value_string valstr_021_090_MN[] = {
- { 0, "Unknown" },
- { 1, "Multiple navigational aids not operating" },
- { 2, "Multiple navigational aids operating" },
- { 3, "Invalid" },
- { 0, NULL }
-};
-static const value_string valstr_021_090_DC[] = {
- { 0, "Unknown" },
- { 1, "Differential correction" },
- { 2, "No differential correction" },
- { 3, "Invalid" },
- { 0, NULL }
-};
-static const FieldPart I021_090_NUCR_NACV = { 3, 1.0, FIELD_PART_UINT, &hf_021_090_NUCR_NACV, NULL };
-static const FieldPart I021_090_NUCP_NIC = { 4, 1.0, FIELD_PART_UINT, &hf_021_090_NUCP_NIC, NULL };
-static const FieldPart I021_090_NIC_BARO = { 1, 1.0, FIELD_PART_UINT, &hf_021_090_NIC_BARO, NULL };
-static const FieldPart I021_090_SIL = { 2, 1.0, FIELD_PART_UINT, &hf_021_090_SIL, NULL };
-static const FieldPart I021_090_NACP = { 4, 1.0, FIELD_PART_UINT, &hf_021_090_NACP, NULL };
static const FieldPart I021_090_SILS = { 1, 1.0, FIELD_PART_UINT, &hf_021_090_SILS, NULL };
-static const FieldPart I021_090_SDA = { 2, 1.0, FIELD_PART_UINT, &hf_021_090_SDA, NULL };
-static const FieldPart I021_090_GVA = { 2, 1.0, FIELD_PART_UINT, &hf_021_090_GVA, NULL };
-static const FieldPart I021_090_PIC = { 4, 1.0, FIELD_PART_UINT, &hf_021_090_PIC, NULL };
-static const FieldPart I021_090_AC = { 2, 1.0, FIELD_PART_UINT, &hf_021_090_AC, NULL };
-static const FieldPart I021_090_MN = { 2, 1.0, FIELD_PART_UINT, &hf_021_090_MN, NULL };
-static const FieldPart I021_090_DC = { 2, 1.0, FIELD_PART_UINT, &hf_021_090_DC, NULL };
-static const FieldPart I021_090_PA = { 4, 1.0, FIELD_PART_UINT, &hf_021_090_PA, NULL };
-static const FieldPart *I021_090_PARTS[] = { &I021_090_NUCR_NACV, &I021_090_NUCP_NIC, &IXXX_FX,
- &I021_090_NIC_BARO, &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 FieldPart *I021_090_PARTS_v0_2[] = { &I021_090_AC, &I021_090_MN, &I021_090_DC, &IXXX_6bit_spare, &I021_090_PA, NULL };
-
-/* Velocity Accuracy */
-static const FieldPart I021_095_VUC = { 8, 1.0, FIELD_PART_UINT, &hf_021_095_VUC, NULL };
-static const FieldPart *I021_095_PARTS[] = { &I021_095_VUC, NULL };
-
-/* Trajectory Intent */
-static const value_string valstr_021_110_01_NAV[] = {
+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 value_string valstr_021_110_01_NVB[] = {
+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 value_string valstr_021_110_02_TCA[] = {
+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 value_string valstr_021_110_02_NC[] = {
+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 value_string valstr_021_110_02_PT[] = {
+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)" },
@@ -7205,240 +29364,295 @@ static const value_string valstr_021_110_02_PT[] = {
{ 11, "Transition altitude (VT)" },
{ 0, NULL }
};
-static const value_string valstr_021_110_02_TD[] = {
+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 value_string valstr_021_110_02_TRA[] = {
+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 value_string valstr_021_110_02_TOA[] = {
+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_01_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_01_NAV, NULL };
-static const FieldPart I021_110_01_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_01_NVB, NULL };
-static const FieldPart *I021_110_01_PARTS[] = { &I021_110_01_NAV, &I021_110_01_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL };
-static const FieldPart I021_110_02_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_02_TCA, NULL };
-static const FieldPart I021_110_02_NC = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_02_NC, NULL };
-static const FieldPart I021_110_02_TCPNo = { 6, 1.0, FIELD_PART_UINT, &hf_021_110_02_TCPNo, NULL };
-static const FieldPart I021_110_02_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_021_110_02_ALT, NULL };
-static const FieldPart I021_110_02_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_021_110_02_LAT, NULL };
-static const FieldPart I021_110_02_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_021_110_02_LON, NULL };
-static const FieldPart I021_110_02_PT = { 4, 1.0, FIELD_PART_UINT, &hf_021_110_02_PT, NULL };
-static const FieldPart I021_110_02_TD = { 2, 1.0, FIELD_PART_UINT, &hf_021_110_02_TD, NULL };
-static const FieldPart I021_110_02_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_02_TRA, NULL };
-static const FieldPart I021_110_02_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_021_110_02_TOA, NULL };
-static const FieldPart I021_110_02_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_021_110_02_TOV, NULL };
-static const FieldPart I021_110_02_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_021_110_02_TTR, NULL };
-static const FieldPart *I021_110_02_PARTS[] = { &I021_110_02_TCA, &I021_110_02_NC, &I021_110_02_TCPNo,
- &I021_110_02_ALT, &I021_110_02_LAT, &I021_110_02_LON,
- &I021_110_02_PT, &I021_110_02_TD, &I021_110_02_TRA, &I021_110_02_TOA,
- &I021_110_02_TOV, &I021_110_02_TTR, NULL };
-
-/* Position in WGS-84 Co-ordinates */
-static const FieldPart I021_130_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_021_130_LAT, NULL };
-static const FieldPart I021_130_v0_2_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_021_130_LAT, NULL };
-static const FieldPart I021_130_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_021_130_LON, NULL };
-static const FieldPart I021_130_v0_2_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_021_130_LON, NULL };
-static const FieldPart *I021_130_PARTS[] = { &I021_130_LAT, &I021_130_LON, NULL };
-static const FieldPart *I021_130_PARTS_v0_2[] = { &I021_130_v0_2_LAT, &I021_130_v0_2_LON, NULL };
-
-/* High-Resolution Position in WGS-84 Co-ordinates */
-static const FieldPart I021_131_LAT = { 32, 180.0/1073741824.0, FIELD_PART_FLOAT, &hf_021_131_LAT, NULL };
-static const FieldPart I021_131_LON = { 32, 180.0/1073741824.0, FIELD_PART_FLOAT, &hf_021_131_LON, NULL };
-static const FieldPart *I021_131_PARTS[] = { &I021_131_LAT, &I021_131_LON, NULL };
-
-/* Signal Amplitude */
-static const FieldPart I021_131_SAM = { 8, 1.0, FIELD_PART_UINT, &hf_021_131_SAM , NULL };
-static const FieldPart *I021_131_PARTS_v0_2[] = { &I021_131_SAM , NULL };
-
-/* Message Amplitude */
-static const FieldPart I021_132_MAM = { 8, 1.0, FIELD_PART_FLOAT, &hf_021_132_MAM, NULL };
-static const FieldPart *I021_132_PARTS[] = { &I021_132_MAM, NULL };
-
-/* Geometric Height */
-static const FieldPart I021_140_GH = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_140_GH, NULL };
-static const FieldPart I021_140_ALT = { 16, 6.25, FIELD_PART_FLOAT, &hf_021_140_ALT , NULL };
-static const FieldPart *I021_140_PARTS[] = { &I021_140_GH, NULL };
-static const FieldPart *I021_140_PARTS_v0_2[] = { &I021_140_ALT, NULL };
-
-/* Flight Level */
-static const FieldPart I021_145_FL = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_145_FL, NULL };
-static const FieldPart *I021_145_PARTS[] = { &I021_145_FL, NULL };
-
-/* Selected Altitude */
+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 value_string valstr_021_146_Source[] = {
+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 value_string valstr_021_146_v0_2_Source[] = {
- { 0, "Unknown" },
- { 1, "Aircraft Altitude" },
- { 2, "FCU/MSP Selected Altitude" },
- { 3, "FMS Selected Altitude" },
- { 0, NULL }
-};
-static const FieldPart I021_146_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_146_SAS, NULL };
-static const FieldPart I021_146_Source = { 2, 1.0, FIELD_PART_UINT, &hf_021_146_Source, NULL };
-static const FieldPart I021_146_v0_2_Source = { 2, 1.0, FIELD_PART_UINT, &hf_021_146_v0_2_Source, 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_Source, &I021_146_ALT, NULL };
-static const FieldPart *I021_146_PARTS_v0_2[] = { &I021_146_SAS, &I021_146_v0_2_Source, &I021_146_ALT, NULL };
-
-/* Final State Selected Altitude */
+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 value_string valstr_021_148_v0_2_MV[] = {
- { 0, "Not active" },
- { 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 value_string valstr_021_148_v0_2_AH[] = {
- { 0, "Not active" },
- { 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 value_string valstr_021_148_v0_2_AM[] = {
- { 0, "Not active" },
- { 1, "Active" },
- { 0, NULL }
-};
-static const FieldPart I021_148_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_MV, NULL };
-static const FieldPart I021_148_v0_2_MV = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_v0_2_MV, NULL };
-static const FieldPart I021_148_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_AH, NULL };
-static const FieldPart I021_148_v0_2_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_v0_2_AH, NULL };
static const FieldPart I021_148_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_AM, NULL };
-static const FieldPart I021_148_v0_2_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_148_v0_2_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 FieldPart *I021_148_PARTS_V0_2[] = { &I021_148_v0_2_MV, &I021_148_v0_2_AH, &I021_148_v0_2_AM, &I021_148_ALT, NULL };
-
-/* Air Speed */
+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" },
- { 1, "Air Speed = Mach" },
+ { 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_IAS_IM, &hf_021_150_IM, NULL };
-static const FieldPart I021_150_ASPD = { 15, 1.0, FIELD_PART_IAS_ASPD, &hf_021_150_ASPD, NULL };
-static const FieldPart *I021_150_PARTS[] = { &I021_150_IM, &I021_150_ASPD, NULL };
-
-/* True Airspeed */
+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 const FieldPart I021_151_TASPD = { 15, 1.0, FIELD_PART_UFLOAT, &hf_021_151_TASPD, NULL };
-static const FieldPart I021_151_v0_2_TASPD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_151_TASPD, NULL };
-static const FieldPart *I021_151_PARTS[] = { &I021_151_RE, &I021_151_TASPD, NULL };
-static const FieldPart *I021_151_PARTS_v0_2[] = { &I021_151_v0_2_TASPD, NULL };
-
-/* Magnetic Heading */
-static const FieldPart I021_152_MHDG = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_021_152_MHDG, NULL };
-static const FieldPart *I021_152_PARTS[] = { &I021_152_MHDG, NULL };
-
-/* Barometric Vertical Rate */
+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_v0_2_BVR = { 16, 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 FieldPart *I021_155_PARTS_v0_2[] = { &I021_155_v0_2_BVR, NULL };
-
-/* Geometric Vertical Rate */
+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_v0_2_GVR = { 16, 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 FieldPart *I021_157_PARTS_v0_2[] = { &I021_157_v0_2_GVR, NULL };
-
-/* Airborne Ground Vector */
+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 const FieldPart I021_160_GSPD = { 15, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_021_160_GSPD, NULL };
-static const FieldPart I021_160_v0_2_GSPD = { 16, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_021_160_GSPD, NULL };
-static const FieldPart I021_160_TA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_021_160_TA, NULL };
-static const FieldPart *I021_160_PARTS[] = { &I021_160_RE, &I021_160_GSPD, &I021_160_TA, NULL };
-static const FieldPart *I021_160_PARTS_v0_2[] = { &I021_160_v0_2_GSPD, &I021_160_TA, NULL };
-
-/* Track Number */
-static const FieldPart I021_161_TN = { 12, 1.0, FIELD_PART_UINT, &hf_021_161_TN, NULL };
-static const FieldPart *I021_161_PARTS[] = { &IXXX_4bit_spare, &I021_161_TN, NULL };
-
-/* Track Angle Rate */
-static const value_string valstr_021_165_TI[] = {
- { 0, "Not available" },
- { 1, "Left" },
- { 2, "Right" },
- { 3, "Straight" },
- { 0, 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 FieldPart I021_165_TAR = { 10, 1.0/32.0, FIELD_PART_FLOAT, &hf_021_165_TAR, NULL };
-static const FieldPart I021_165_TI = { 2, 1.0, FIELD_PART_UINT, &hf_021_165_TI, NULL };
-static const FieldPart I021_165_ROT = { 7, 1.0/4.0, FIELD_PART_UINT, &hf_021_165_ROT, NULL };
-static const FieldPart *I021_165_PARTS[] = { &IXXX_6bit_spare, &I021_165_TAR, NULL };
-static const FieldPart *I021_165_PARTS_v0_2[] = { &I021_165_TI, &IXXX_5bit_spare, &IXXX_FX,
- &I021_165_ROT, &IXXX_FX, NULL };
-
-/* Target Status */
+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" },
@@ -7446,9 +29660,11 @@ static const value_string valstr_021_200_PS[] = {
{ 3, "Minimum fuel" },
{ 4, "No communications" },
{ 5, "Unlawful interference" },
- { 6, "\"Downed\" Aircraft" },
+ { 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)" },
@@ -7456,37 +29672,34 @@ static const value_string valstr_021_200_SS[] = {
{ 3, "SPI set" },
{ 0, NULL }
};
-static const value_string valstr_021_200_TS[] = {
- { 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_200_ICF = { 1, 1.0, FIELD_PART_UINT, &hf_021_200_ICF, NULL };
-static const FieldPart I021_200_LNAV = { 1, 1.0, FIELD_PART_UINT, &hf_021_200_LNAV, NULL };
-static const FieldPart I021_200_ME = { 1, 1.0, FIELD_PART_UINT, &hf_021_200_ME, NULL };
-static const FieldPart I021_200_PS = { 3, 1.0, FIELD_PART_UINT, &hf_021_200_PS, NULL };
static const FieldPart I021_200_SS = { 2, 1.0, FIELD_PART_UINT, &hf_021_200_SS, NULL };
-static const FieldPart I021_200_TS = { 8, 1.0, FIELD_PART_UINT, &hf_021_200_TS, 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 FieldPart *I021_200_PARTS_v2_1[] = { &I021_200_ICF, &I021_200_LNAV, &I021_200_PS, &I021_200_SS, NULL };
-static const FieldPart *I021_200_PARTS_v0_2[] = { &I021_200_TS, NULL };
-
-/* MOPS Version */
+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" },
- { 1, "DO-260A" },
- { 2, "ED102A/DO-260B" },
+ { 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" },
@@ -7498,636 +29711,965 @@ static const value_string valstr_021_210_LTT[] = {
{ 7, "Not assigned" },
{ 0, NULL }
};
-static const value_string valstr_021_210_DTI[] = {
- { 0, "Unknown" },
- { 1, "Aircraft equipped with CDTI" },
- { 0, NULL }
-};
-static const value_string valstr_021_210_MDS[] = {
- { 0, "Not used" },
- { 1, "Used" },
- { 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 value_string valstr_021_210_UAT[] = {
- { 0, "Not used" },
- { 1, "Used" },
- { 0, NULL }
-};
-static const value_string valstr_021_210_VDL[] = {
- { 0, "Not used" },
- { 1, "Used" },
- { 0, 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 value_string valstr_021_210_OTR[] = {
- { 0, "Not used" },
- { 1, "Used" },
- { 0, 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 FieldPart I021_210_VNS = { 1, 1.0, FIELD_PART_UINT, &hf_021_210_VNS, NULL };
-static const FieldPart I021_210_VN = { 3, 1.0, FIELD_PART_UINT, &hf_021_210_VN, NULL };
-static const FieldPart I021_210_LTT = { 2, 1.0, FIELD_PART_UINT, &hf_021_210_LTT, NULL };
-static const FieldPart I021_210_DTI = { 1, 1.0, FIELD_PART_UINT, &hf_021_210_DTI, NULL };
-static const FieldPart I021_210_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_021_210_MDS, NULL };
-static const FieldPart I021_210_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_021_210_UAT, NULL };
-static const FieldPart I021_210_OTR = { 1, 1.0, FIELD_PART_UINT, &hf_021_210_OTR, NULL };
-static const FieldPart I021_210_VDL = { 1, 1.0, FIELD_PART_UINT, &hf_021_210_VDL, NULL };
-static const FieldPart *I021_210_PARTS[] = { &I021_210_VNS, &I021_210_VN, &I021_210_LTT, NULL };
-static const FieldPart *I021_210_PARTS_v0_2[] = { &IXXX_3bit_spare, &I021_210_DTI, &I021_210_MDS, &I021_210_UAT,
- &I021_210_VDL, &I021_210_OTR, NULL };
-
-/* Met Information */
-static const FieldPart I021_220_01_WSPD = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_220_01_WSPD, NULL };
-static const FieldPart *I021_220_01_PARTS[] = { &I021_220_01_WSPD, NULL };
-static const FieldPart I021_220_02_WDIR = { 16, 1.0, FIELD_PART_UFLOAT, &hf_021_220_02_WDIR, NULL };
-static const FieldPart *I021_220_02_PARTS[] = { &I021_220_02_WDIR, NULL };
-static const FieldPart I021_220_03_TEMP = { 16, 0.25, FIELD_PART_FLOAT, &hf_021_220_03_TEMP, NULL };
-static const FieldPart *I021_220_03_PARTS[] = { &I021_220_03_TEMP, NULL };
-static const FieldPart I021_220_04_TURB = { 8, 1.0, FIELD_PART_UINT, &hf_021_220_04_TURB, NULL };
-static const FieldPart *I021_220_04_PARTS[] = { &I021_220_04_TURB, NULL };
-
-/* Roll Angle */
-static const FieldPart I021_230_RA = { 16, 0.01, FIELD_PART_FLOAT, &hf_021_230_RA, NULL };
-static const FieldPart *I021_230_PARTS[] = { &I021_230_RA, NULL };
-
-/* ACAS Resolution Advisory Report */
-static const FieldPart I021_260_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_021_260_TYP, NULL };
-static const FieldPart I021_260_STYP = { 3, 1.0, FIELD_PART_UINT, &hf_021_260_STYP, NULL };
-static const FieldPart I021_260_ARA = { 14, 1.0, FIELD_PART_UINT, &hf_021_260_ARA, NULL };
-static const FieldPart I021_260_RAC = { 4, 1.0, FIELD_PART_UINT, &hf_021_260_RAC, NULL };
-static const FieldPart I021_260_RAT = { 1, 1.0, FIELD_PART_UINT, &hf_021_260_RAT, NULL };
-static const FieldPart I021_260_MTE = { 1, 1.0, FIELD_PART_UINT, &hf_021_260_MTE, NULL };
-static const FieldPart I021_260_TTI = { 2, 1.0, FIELD_PART_UINT, &hf_021_260_TTI, NULL };
-static const FieldPart I021_260_TID = { 26, 1.0, FIELD_PART_UINT, &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 };
-
-/* Surface Capabilities and Characteristics */
+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 value_string valstr_021_271_B2low[] = {
+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_POA = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_POA, NULL };
-static const FieldPart I021_271_CDTIS = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_CDTIS, NULL };
-static const FieldPart I021_271_B2low = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_B2low, NULL };
-static const FieldPart I021_271_RAS = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_RAS, NULL };
static const FieldPart I021_271_IDENT = { 1, 1.0, FIELD_PART_UINT, &hf_021_271_IDENT, NULL };
-static const FieldPart I021_271_LW = { 4, 1.0, FIELD_PART_UINT, &hf_021_271_LW, NULL };
-static const FieldPart I021_271_LW_v2_1 = { 4, 1.0, FIELD_PART_UINT, &hf_021_271_LW_v2_1, 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 FieldPart *I021_271_PARTS_v2_1[] = { &IXXX_2bit_spare, &I021_271_POA, &I021_271_CDTIS, &I021_271_B2low, &I021_271_RAS, &I021_271_IDENT, &IXXX_FX,
- &IXXX_4bit_spare, &I021_271_LW_v2_1, NULL };
-
-/* Data Ages */
-static const FieldPart I021_295_01_AOS = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_01_AOS, NULL };
-static const FieldPart *I021_295_01_PARTS[] = { &I021_295_01_AOS, NULL };
-static const FieldPart I021_295_02_TRD = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_02_TRD, NULL };
-static const FieldPart *I021_295_02_PARTS[] = { &I021_295_02_TRD, NULL };
-static const FieldPart I021_295_03_M3A = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_03_M3A, NULL };
-static const FieldPart *I021_295_03_PARTS[] = { &I021_295_03_M3A, NULL };
-static const FieldPart I021_295_04_QI = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_04_QI, NULL };
-static const FieldPart *I021_295_04_PARTS[] = { &I021_295_04_QI, NULL };
-static const FieldPart I021_295_05_TI = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_05_TI, NULL };
-static const FieldPart *I021_295_05_PARTS[] = { &I021_295_05_TI, NULL };
-static const FieldPart I021_295_06_MAM = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_06_MAM, NULL };
-static const FieldPart *I021_295_06_PARTS[] = { &I021_295_06_MAM, NULL };
-static const FieldPart I021_295_07_GH = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_07_GH, NULL };
-static const FieldPart *I021_295_07_PARTS[] = { &I021_295_07_GH, NULL };
-static const FieldPart I021_295_08_FL = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_08_FL, NULL };
-static const FieldPart *I021_295_08_PARTS[] = { &I021_295_08_FL, NULL };
-static const FieldPart I021_295_09_ISA = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_09_ISA, NULL };
-static const FieldPart *I021_295_09_PARTS[] = { &I021_295_09_ISA, NULL };
-static const FieldPart I021_295_10_FSA = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_10_FSA, NULL };
-static const FieldPart *I021_295_10_PARTS[] = { &I021_295_10_FSA, NULL };
-static const FieldPart I021_295_11_AS = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_11_AS, NULL };
-static const FieldPart *I021_295_11_PARTS[] = { &I021_295_11_AS, NULL };
-static const FieldPart I021_295_12_TAS = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_12_TAS, NULL };
-static const FieldPart *I021_295_12_PARTS[] = { &I021_295_12_TAS, NULL };
-static const FieldPart I021_295_13_MH = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_13_MH, NULL };
-static const FieldPart *I021_295_13_PARTS[] = { &I021_295_13_MH, NULL };
-static const FieldPart I021_295_14_BVR = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_14_BVR, NULL };
-static const FieldPart *I021_295_14_PARTS[] = { &I021_295_14_BVR, NULL };
-static const FieldPart I021_295_15_GVR = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_15_GVR, NULL };
-static const FieldPart *I021_295_15_PARTS[] = { &I021_295_15_GVR, NULL };
-static const FieldPart I021_295_16_GV = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_16_GV, NULL };
-static const FieldPart *I021_295_16_PARTS[] = { &I021_295_16_GV, NULL };
-static const FieldPart I021_295_17_TAR = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_17_TAR, NULL };
-static const FieldPart *I021_295_17_PARTS[] = { &I021_295_17_TAR, NULL };
-static const FieldPart I021_295_18_TI = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_18_TI, NULL };
-static const FieldPart *I021_295_18_PARTS[] = { &I021_295_18_TI, NULL };
-static const FieldPart I021_295_19_TS = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_19_TS, NULL };
-static const FieldPart *I021_295_19_PARTS[] = { &I021_295_19_TS, NULL };
-static const FieldPart I021_295_20_MET = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_20_MET, NULL };
-static const FieldPart *I021_295_20_PARTS[] = { &I021_295_20_MET, NULL };
-static const FieldPart I021_295_21_ROA = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_21_ROA, NULL };
-static const FieldPart *I021_295_21_PARTS[] = { &I021_295_21_ROA, NULL };
-static const FieldPart I021_295_22_ARA = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_22_ARA, NULL };
-static const FieldPart *I021_295_22_PARTS[] = { &I021_295_22_ARA, NULL };
-static const FieldPart I021_295_23_SCC = { 8, 0.1, FIELD_PART_UFLOAT, &hf_021_295_23_SCC, NULL };
-static const FieldPart *I021_295_23_PARTS[] = { &I021_295_23_SCC, NULL };
-
-/* Receiver ID */
-static const FieldPart I021_400_RID = { 8, 1.0, FIELD_PART_UINT, &hf_021_400_RID, NULL };
-static const FieldPart *I021_400_PARTS[] = { &I021_400_RID, NULL };
-
-/* Barometric Pressure Setting 'BPS' */
-static const FieldPart I021_RE_BPS_BPS = { 12, 0.1, FIELD_PART_UFLOAT, &hf_021_RE_BPS_BPS, NULL };
-static const FieldPart *I021_RE_BPS_PARTS[] = { &IXXX_4bit_spare, &I021_RE_BPS_BPS, NULL };
-
-/* Selected Heading 'SelH' */
-static const value_string valstr_021_RE_SelH_HRD[] = {
- { 0, "True North" },
- { 1, "Magnetic North" },
- { 0, NULL }
-};
-static const value_string valstr_021_RE_SelH_Stat[] = {
- { 0, "Data is either unavailable or invalid" },
- { 1, "Data is available and valid" },
- { 0, NULL }
-};
-static const FieldPart I021_RE_SelH_HRD = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_SelH_HRD, NULL };
-static const FieldPart I021_RE_SelH_Stat = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_SelH_Stat, NULL };
-static const FieldPart I021_RE_SelH_SelH = { 10, 360.0/512.0, FIELD_PART_UFLOAT, &hf_021_RE_SelH_SelH, NULL };
-static const FieldPart *I021_RE_SelH_PARTS[] = { &IXXX_4bit_spare, &I021_RE_SelH_HRD, &I021_RE_SelH_Stat, &I021_RE_SelH_SelH, NULL };
-
-/* Navigation Mode 'NAV' */
-static const value_string valstr_021_RE_NAV_AP[] = {
- { 0, "Autopilot disengaged" },
- { 1, "Autopilot engaged" },
- { 0, NULL }
-};
-static const value_string valstr_021_RE_NAV_VN[] = {
- { 0, "VNAV Inactive" },
- { 1, "VNAV Active (Vertical Navigation)" },
- { 0, NULL }
-};
-static const value_string valstr_021_RE_NAV_AH[] = {
- { 0, "Altitude Hold disengaged" },
- { 1, "Altitude Hold engaged" },
- { 0, NULL }
-};
-static const value_string valstr_021_RE_NAV_AM[] = {
- { 0, "Approach Mode inactive" },
- { 1, "Approach Mode active" },
- { 0, NULL }
-};
-static const FieldPart I021_RE_NAV_AP = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_NAV_AP, NULL };
-static const FieldPart I021_RE_NAV_VN = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_NAV_VN, NULL };
-static const FieldPart I021_RE_NAV_AH = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_NAV_AH, NULL };
-static const FieldPart I021_RE_NAV_AM = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_NAV_AM, NULL };
-static const FieldPart *I021_RE_NAV_PARTS[] = { &I021_RE_NAV_AP, &I021_RE_NAV_VN, &I021_RE_NAV_AH, &I021_RE_NAV_AM, &IXXX_4bit_spare, NULL };
-
-/* GPS Antenna Offset 'GAO' */
-static const FieldPart I021_RE_GAO_GAO = { 8, 1.0, FIELD_PART_UINT, &hf_021_RE_GAO_GAO, NULL };
-static const FieldPart *I021_RE_GAO_PARTS[] = { &I021_RE_GAO_GAO, NULL };
-
-/* Surface Ground Vector 'SGV' */
-static const value_string valstr_021_RE_SGV_STP[] = {
- { 0, "Aircraft has not stopped" },
- { 1, "Aircraft has stopped" },
- { 0, NULL }
-};
-static const value_string valstr_021_RE_SGV_HTS[] = {
- { 0, "Heading/Ground Track data is not valid" },
- { 1, "Heading/Ground Track data is valid" },
- { 0, NULL }
-};
-static const value_string valstr_021_RE_SGV_HTT[] = {
- { 0, "Heading data provided" },
- { 1, "Ground Track provided" },
- { 0, 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 value_string valstr_021_RE_SGV_HRD[] = {
- { 0, "True North" },
- { 1, "Magnetic North" },
- { 0, 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
};
-static const FieldPart I021_RE_SGV_STP = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_SGV_STP, NULL };
-static const FieldPart I021_RE_SGV_HTS = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_SGV_HTS, NULL };
-static const FieldPart I021_RE_SGV_HTT = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_SGV_HTT, NULL };
-static const FieldPart I021_RE_SGV_HRD = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_SGV_HRD, NULL };
-static const FieldPart I021_RE_SGV_GSS = { 11, 1.0/8.0, FIELD_PART_UFLOAT, &hf_021_RE_SGV_GSS, NULL };
-static const FieldPart I021_RE_SGV_HGT = { 7, 360.0/128.0, FIELD_PART_UFLOAT, &hf_021_RE_SGV_HGT, NULL };
-static const FieldPart *I021_RE_SGV_PARTS[] = { &I021_RE_SGV_STP, &I021_RE_SGV_HTS, &I021_RE_SGV_HTT,
- &I021_RE_SGV_HRD, &I021_RE_SGV_GSS, &IXXX_FX,
- &I021_RE_SGV_HGT, &IXXX_FX, NULL };
+DIAG_ON_PEDANTIC
-/* Aircraft Status 'STA' */
-static const value_string valstr_021_RE_STA_ES[] = {
- { 0, "Target is not 1090 ES IN capable" },
- { 1, "Target is 1090 ES IN capable" },
+/* 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 value_string valstr_021_RE_STA_UAT[] = {
- { 0, "Target is not UAT IN capable" },
- { 1, "Target is UAT IN capable" },
+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 I021_RE_STA_ES = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_STA_ES, NULL };
-static const FieldPart I021_RE_STA_UAT = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_STA_UAT, NULL };
-static const FieldPart *I021_RE_STA_PARTS[] = { &I021_RE_STA_ES, &I021_RE_STA_UAT, &IXXX_5bit_spare, &IXXX_FX, NULL };
-
-/* True North Heading 'TNH' */
-static const FieldPart I021_RE_TNH_TNH = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_021_RE_TNH_TNH, NULL };
-static const FieldPart *I021_RE_TNH_PARTS[] = { &I021_RE_TNH_TNH, NULL };
-
-/* Military Extended Squitter 'MES' */
-
-/* Mode 5 Summary */
-static const value_string valstr_021_RE_MES_01_M5[] = {
- { 0, "No Mode 5 interrogation" },
- { 1, "Mode 5 interrogation" },
+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 value_string valstr_021_RE_MES_01_ID[] = {
- { 0, "No authenticated Mode 5 ID reply/report" },
- { 1, "Authenticated Mode 5 ID reply/report" },
+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 value_string valstr_021_RE_MES_01_DA[] = {
- { 0, "No authenticated Mode 5 Data reply/report" },
- { 1, "Authenticated Mode 5 Data reply/report (i.e any valid Mode 5 reply type other than ID)" },
+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 value_string valstr_021_RE_MES_01_M1[] = {
- { 0, "Mode 1 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 1 code from Mode 5 reply/report" },
+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 value_string valstr_021_RE_MES_01_M2[] = {
- { 0, "Mode 2 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 2 code from Mode 5 reply/report" },
+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 value_string valstr_021_RE_MES_01_M3[] = {
- { 0, "Mode 3 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 3 code from Mode 5 reply/report" },
+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 value_string valstr_021_RE_MES_01_MC[] = {
- { 0, "Flightlevel not present or not from Mode 5 reply/report" },
- { 1, "Flightlevel from Mode 5 reply/report" },
+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 value_string valstr_021_RE_MES_01_PO[] = {
- { 0, "Position not from Mode 5 report (ADS-B report)" },
- { 1, "Position from Mode 5 report" },
+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 I021_RE_MES_01_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_M5, NULL };
-static const FieldPart I021_RE_MES_01_ID = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_ID, NULL };
-static const FieldPart I021_RE_MES_01_DA = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_DA, NULL };
-static const FieldPart I021_RE_MES_01_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_M1, NULL };
-static const FieldPart I021_RE_MES_01_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_M2, NULL };
-static const FieldPart I021_RE_MES_01_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_M3, NULL };
-static const FieldPart I021_RE_MES_01_MC = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_MC, NULL };
-static const FieldPart I021_RE_MES_01_PO = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_01_PO, NULL };
-static const FieldPart *I021_RE_MES_01_PARTS[] = { &I021_RE_MES_01_M5,
- &I021_RE_MES_01_ID,
- &I021_RE_MES_01_DA,
- &I021_RE_MES_01_M1,
- &I021_RE_MES_01_M2,
- &I021_RE_MES_01_M3,
- &I021_RE_MES_01_MC,
- &I021_RE_MES_01_PO,
- 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 } };
-/* Mode 5 PIN /National Origin */
-static const FieldPart I021_RE_MES_02_PIN = { 14, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_02_PIN, NULL };
-static const FieldPart I021_RE_MES_02_NO = { 11, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_02_NO, NULL };
-static const FieldPart *I021_RE_MES_02_PARTS[] = { &IXXX_2bit_spare,
- &I021_RE_MES_02_PIN,
- &IXXX_5bit_spare,
- &I021_RE_MES_02_NO,
- 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
-/* Extended Mode 1 Code in Octal Representation */
-static const value_string valstr_021_RE_MES_03_V[] = {
- { 0, "Code validated" },
- { 1, "Code not validated" },
+/* 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 value_string valstr_021_RE_MES_03_L[] = {
- { 0, "Mode 1 code as derived from the report of the transponder" },
- { 1, "Smoothed Mode 1 code as provided by a local tracker" },
+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 I021_RE_MES_03_V = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_03_V, NULL };
-static const FieldPart I021_RE_MES_03_L = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_03_L, NULL };
-static const FieldPart I021_RE_MES_03_SQUAWK = { 12, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_03_SQUAWK, NULL };
-static const FieldPart *I021_RE_MES_03_PARTS[] = { &I021_RE_MES_03_V,
- &IXXX_1bit_spare,
- &I021_RE_MES_03_L,
- &IXXX_1bit_spare,
- &I021_RE_MES_03_SQUAWK,
- NULL };
-
-/* X Pulse Presence */
-static const value_string valstr_021_RE_MES_04_XP[] = {
- { 0, "X-Pulse not present" },
- { 1, "X-pulse present" },
+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 value_string valstr_021_RE_MES_04_X5[] = {
- { 0, "X-pulse set to zero or no authenticated Data reply or Report received" },
- { 1, "X-pulse set to one (present)" },
+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 value_string valstr_021_RE_MES_04_XC[] = {
- { 0, "X-pulse set to zero or no Mode C reply" },
- { 1, "X-pulse set to one (present)" },
+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 value_string valstr_021_RE_MES_04_X3[] = {
- { 0, "X-pulse set to zero or no Mode 3/A reply" },
- { 1, "X-pulse set to one (present)" },
+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 value_string valstr_021_RE_MES_04_X2[] = {
- { 0, "X-pulse set to zero or no Mode 2 reply" },
- { 1, "X-pulse set to one (present)" },
+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 value_string valstr_021_RE_MES_04_X1[] = {
- { 0, "X-pulse set to zero or no Mode 1 reply" },
- { 1, "X-pulse set to one (present)" },
+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 I021_RE_MES_04_XP = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_04_XP, NULL };
-static const FieldPart I021_RE_MES_04_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_04_X5, NULL };
-static const FieldPart I021_RE_MES_04_XC = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_04_XC, NULL };
-static const FieldPart I021_RE_MES_04_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_04_X3, NULL };
-static const FieldPart I021_RE_MES_04_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_04_X2, NULL };
-static const FieldPart I021_RE_MES_04_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_04_X1, NULL };
-static const FieldPart *I021_RE_MES_04_PARTS[] = { &IXXX_2bit_spare,
- &I021_RE_MES_04_XP,
- &I021_RE_MES_04_X5,
- &I021_RE_MES_04_XC,
- &I021_RE_MES_04_X3,
- &I021_RE_MES_04_X2,
- &I021_RE_MES_04_X1,
- NULL };
-
-/* Figure of Merit */
-static const FieldPart I021_RE_MES_05_FOM = { 5, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_05_FOM, NULL };
-static const FieldPart *I021_RE_MES_05_PARTS[] = { &IXXX_3bit_spare,
- &I021_RE_MES_05_FOM,
- NULL };
-
-/* Mode 2 Code in Octal Representation */
-static const value_string valstr_021_RE_MES_06_V[] = {
- { 0, "Code validated" },
- { 1, "Code not validated" },
+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 value_string valstr_021_RE_MES_06_L[] = {
- { 0, "Mode-2 code as derived from the reply of the transponder" },
- { 1, "Smoothed Mode-2 code as provided by a local tracker" },
+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 I021_RE_MES_06_V = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_06_V, NULL };
-static const FieldPart I021_RE_MES_06_L = { 1, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_06_L, NULL };
-static const FieldPart I021_RE_MES_06_SQUAWK = { 12, 1.0, FIELD_PART_UINT, &hf_021_RE_MES_06_SQUAWK, NULL };
-static const FieldPart *I021_RE_MES_06_PARTS[] = { &I021_RE_MES_06_V,
- &IXXX_1bit_spare,
- &I021_RE_MES_06_L,
- &IXXX_1bit_spare,
- &I021_RE_MES_06_SQUAWK,
- NULL };
-
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I021_008 = { FIXED, 1, 0, 0, &hf_021_008, I021_008_PARTS, { NULL } };
-static const AsterixField I021_010 = { FIXED, 2, 0, 0, &hf_021_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I021_015 = { FIXED, 1, 0, 0, &hf_021_015, I021_015_PARTS, { NULL } };
-static const AsterixField I021_016 = { FIXED, 1, 0, 0, &hf_021_016, I021_016_PARTS, { NULL } };
-static const AsterixField I021_020 = { FIXED, 1, 0, 0, &hf_021_020, I021_020_PARTS, { NULL } };
-static const AsterixField I021_020_v0_2 = { FIXED, 1, 0, 0, &hf_021_020, I021_020_PARTS_v0_2, { NULL }};
-static const AsterixField I021_030 = { FIXED, 3, 0, 0, &hf_021_030, IXXX_TOD, { NULL } };
-static const AsterixField I021_032 = { FIXED, 1, 0, 0, &hf_021_032, I021_032_PARTS, { NULL } };
-static const AsterixField I021_040 = { FX, 1, 0, 0, &hf_021_040, I021_040_PARTS, { NULL } };
-static const AsterixField I021_040_v2_1 = { FX, 1, 0, 0, &hf_021_040, I021_040_PARTS_v2_1, { NULL } };
-static const AsterixField I021_040_v0_2 = { FIXED, 2, 0, 0, &hf_021_040, I021_040_PARTS_v0_2, { NULL } };
-static const AsterixField I021_070 = { FIXED, 2, 0, 0, &hf_021_070, I021_070_PARTS, { NULL } };
-static const AsterixField I021_070_v0_2 = { FIXED, 2, 0, 0, &hf_021_070, I021_070_PARTS_v0_2, { NULL } };
-static const AsterixField I021_071 = { FIXED, 3, 0, 0, &hf_021_071, IXXX_TOD, { NULL } };
-static const AsterixField I021_072 = { FIXED, 3, 0, 0, &hf_021_072, IXXX_TOD, { NULL } };
-static const AsterixField I021_073 = { FIXED, 3, 0, 0, &hf_021_073, IXXX_TOD, { NULL } };
-static const AsterixField I021_074 = { FIXED, 4, 0, 0, &hf_021_074, I021_074_PARTS, { NULL } };
-static const AsterixField I021_075 = { FIXED, 3, 0, 0, &hf_021_075, IXXX_TOD, { NULL } };
-static const AsterixField I021_076 = { FIXED, 4, 0, 0, &hf_021_076, I021_076_PARTS, { NULL } };
-static const AsterixField I021_077 = { FIXED, 3, 0, 0, &hf_021_077, IXXX_TOD, { NULL } };
-static const AsterixField I021_080 = { FIXED, 3, 0, 0, &hf_021_080, IXXX_AA_PARTS, { NULL } };
-static const AsterixField I021_090 = { FX, 1, 0, 0, &hf_021_090, I021_090_PARTS, { NULL } };
-static const AsterixField I021_090_v0_2 = { FIXED, 2, 0, 0, &hf_021_090_v0_2, I021_090_PARTS_v0_2, { NULL } };
-static const AsterixField I021_095 = { FIXED, 1, 0, 0, &hf_021_095, I021_095_PARTS, { NULL} };
-static const AsterixField I021_110_01 = { FX, 1, 0, 0, &hf_021_110_01, I021_110_01_PARTS, { NULL } };
-static const AsterixField I021_110_02 = { REPETITIVE, 15, 1, 0, &hf_021_110_02, I021_110_02_PARTS, { NULL } };
-static const AsterixField I021_110 = { COMPOUND, 0, 0, 0, &hf_021_110, NULL, { &I021_110_01,
- &I021_110_02,
- NULL} };
-static const AsterixField I021_130 = { FIXED, 6, 0, 0, &hf_021_130, I021_130_PARTS, { NULL } };
-static const AsterixField I021_130_v0_2 = { FIXED, 8, 0, 0, &hf_021_130, I021_130_PARTS_v0_2, { NULL } };
-static const AsterixField I021_131 = { FIXED, 8, 0, 0, &hf_021_131, I021_131_PARTS, { NULL } };
-static const AsterixField I021_131_v0_2 = { FIXED, 1, 0, 0, &hf_021_131_v0_2, I021_131_PARTS_v0_2, { NULL } };
-static const AsterixField I021_132 = { FIXED, 1, 0, 0, &hf_021_132, I021_132_PARTS, { NULL } };
-static const AsterixField I021_140 = { FIXED, 2, 0, 0, &hf_021_140, I021_140_PARTS, { NULL } };
-static const AsterixField I021_140_v0_2 = {FIXED, 2, 0, 0, &hf_021_140_v0_2, I021_140_PARTS_v0_2, { NULL } };
-static const AsterixField I021_145 = { FIXED, 2, 0, 0, &hf_021_145, I021_145_PARTS, { NULL } };
-static const AsterixField I021_146 = { FIXED, 2, 0, 0, &hf_021_146, I021_146_PARTS, { NULL } };
-static const AsterixField I021_146_v0_2 = { FIXED, 2, 0, 0, &hf_021_146_v0_2, I021_146_PARTS_v0_2, { NULL }};
-static const AsterixField I021_148 = { FIXED, 2, 0, 0, &hf_021_148, I021_148_PARTS, { NULL } };
-static const AsterixField I021_148_v0_2 = { FIXED, 2, 0, 0, &hf_021_148, I021_148_PARTS_V0_2, { NULL } };
-static const AsterixField I021_150 = { FIXED, 2, 0, 0, &hf_021_150, I021_150_PARTS, { NULL } };
-static const AsterixField I021_151 = { FIXED, 2, 0, 0, &hf_021_151, I021_151_PARTS, { NULL } };
-static const AsterixField I021_151_v0_2 = { FIXED, 2, 0, 0, &hf_021_151, I021_151_PARTS_v0_2, {NULL } };
-static const AsterixField I021_152 = { FIXED, 2, 0, 0, &hf_021_152, I021_152_PARTS, { NULL } };
-static const AsterixField I021_155 = { FIXED, 2, 0, 0, &hf_021_155, I021_155_PARTS, { NULL } };
-static const AsterixField I021_155_v0_2 = { FIXED, 2, 0, 0, &hf_021_155, I021_155_PARTS_v0_2, { NULL } };
-static const AsterixField I021_157 = { FIXED, 2, 0, 0, &hf_021_157, I021_157_PARTS, { NULL } };
-static const AsterixField I021_157_v0_2 = { FIXED, 2, 0, 0, &hf_021_157, I021_157_PARTS_v0_2, { NULL } };
-static const AsterixField I021_160 = { FIXED, 4, 0, 0, &hf_021_160, I021_160_PARTS, { NULL } };
-static const AsterixField I021_160_v0_2 = { FIXED, 4, 0, 0, &hf_021_160_v0_2, I021_160_PARTS_v0_2, { NULL } };
-static const AsterixField I021_161 = { FIXED, 2, 0, 0, &hf_021_161, I021_161_PARTS, { NULL } };
-static const AsterixField I021_165 = { FIXED, 2, 0, 0, &hf_021_165, I021_165_PARTS, { NULL } };
-static const AsterixField I021_165_v0_2 = { FX, 1, 0, 0, &hf_021_165_v0_2, I021_165_PARTS_v0_2, { NULL } };
-static const AsterixField I021_170 = { FIXED, 6, 0, 0, &hf_021_170, IXXX_AI_PARTS, { NULL } };
-static const AsterixField I021_200 = { FIXED, 1, 0, 0, &hf_021_200, I021_200_PARTS, { NULL } };
-static const AsterixField I021_200_v2_1 = { FIXED, 1, 0, 0, &hf_021_200, I021_200_PARTS_v2_1, { NULL } };
-static const AsterixField I021_200_v0_2 = { FIXED, 1, 0, 0, &hf_021_200, I021_200_PARTS_v0_2, { NULL } };
-static const AsterixField I021_210 = { FIXED, 1, 0, 0, &hf_021_210, I021_210_PARTS, { NULL } };
-static const AsterixField I021_210_v0_2 = { FIXED, 1, 0, 0, &hf_021_210_v0_2, I021_210_PARTS_v0_2, { NULL } };
-static const AsterixField I021_220_01 = { FIXED, 2, 0, 0, &hf_021_220_01, I021_220_01_PARTS, { NULL } };
-static const AsterixField I021_220_02 = { FIXED, 2, 0, 0, &hf_021_220_02, I021_220_02_PARTS, { NULL } };
-static const AsterixField I021_220_03 = { FIXED, 2, 0, 0, &hf_021_220_03, I021_220_03_PARTS, { NULL } };
-static const AsterixField I021_220_04 = { FIXED, 1, 0, 0, &hf_021_220_04, I021_220_04_PARTS, { NULL } };
-static const AsterixField I021_220 = { COMPOUND, 0, 0, 0, &hf_021_220, NULL, { &I021_220_01,
- &I021_220_02,
- &I021_220_03,
- &I021_220_04,
- NULL} };
-static const AsterixField I021_230 = { FIXED, 2, 0, 0, &hf_021_230, I021_230_PARTS, { NULL } };
-static const AsterixField I021_250 = { REPETITIVE, 8, 1, 0, &hf_021_250, IXXX_MB, { NULL } };
-static const AsterixField I021_260 = { FIXED, 7, 0, 0, &hf_021_260, I021_260_PARTS, { NULL } };
-static const AsterixField I021_271 = { FX, 1, 0, 0, &hf_021_271, I021_271_PARTS, { NULL } };
-static const AsterixField I021_271_v2_1 = { FX_1, 1, 0, 0, &hf_021_271, I021_271_PARTS_v2_1, { NULL } };
-static const AsterixField I021_295_01 = { FIXED, 1, 0, 0, &hf_021_295_01, I021_295_01_PARTS, { NULL } };
-static const AsterixField I021_295_02 = { FIXED, 1, 0, 0, &hf_021_295_02, I021_295_02_PARTS, { NULL } };
-static const AsterixField I021_295_03 = { FIXED, 1, 0, 0, &hf_021_295_03, I021_295_03_PARTS, { NULL } };
-static const AsterixField I021_295_04 = { FIXED, 1, 0, 0, &hf_021_295_04, I021_295_04_PARTS, { NULL } };
-static const AsterixField I021_295_05 = { FIXED, 1, 0, 0, &hf_021_295_05, I021_295_05_PARTS, { NULL } };
-static const AsterixField I021_295_06 = { FIXED, 1, 0, 0, &hf_021_295_06, I021_295_06_PARTS, { NULL } };
-static const AsterixField I021_295_07 = { FIXED, 1, 0, 0, &hf_021_295_07, I021_295_07_PARTS, { NULL } };
-static const AsterixField I021_295_08 = { FIXED, 1, 0, 0, &hf_021_295_08, I021_295_08_PARTS, { NULL } };
-static const AsterixField I021_295_09 = { FIXED, 1, 0, 0, &hf_021_295_09, I021_295_09_PARTS, { NULL } };
-static const AsterixField I021_295_10 = { FIXED, 1, 0, 0, &hf_021_295_10, I021_295_10_PARTS, { NULL } };
-static const AsterixField I021_295_11 = { FIXED, 1, 0, 0, &hf_021_295_11, I021_295_11_PARTS, { NULL } };
-static const AsterixField I021_295_12 = { FIXED, 1, 0, 0, &hf_021_295_12, I021_295_12_PARTS, { NULL } };
-static const AsterixField I021_295_13 = { FIXED, 1, 0, 0, &hf_021_295_13, I021_295_13_PARTS, { NULL } };
-static const AsterixField I021_295_14 = { FIXED, 1, 0, 0, &hf_021_295_14, I021_295_14_PARTS, { NULL } };
-static const AsterixField I021_295_15 = { FIXED, 1, 0, 0, &hf_021_295_15, I021_295_15_PARTS, { NULL } };
-static const AsterixField I021_295_16 = { FIXED, 1, 0, 0, &hf_021_295_16, I021_295_16_PARTS, { NULL } };
-static const AsterixField I021_295_17 = { FIXED, 1, 0, 0, &hf_021_295_17, I021_295_17_PARTS, { NULL } };
-static const AsterixField I021_295_18 = { FIXED, 1, 0, 0, &hf_021_295_18, I021_295_18_PARTS, { NULL } };
-static const AsterixField I021_295_19 = { FIXED, 1, 0, 0, &hf_021_295_19, I021_295_19_PARTS, { NULL } };
-static const AsterixField I021_295_20 = { FIXED, 1, 0, 0, &hf_021_295_20, I021_295_20_PARTS, { NULL } };
-static const AsterixField I021_295_21 = { FIXED, 1, 0, 0, &hf_021_295_21, I021_295_21_PARTS, { NULL } };
-static const AsterixField I021_295_22 = { FIXED, 1, 0, 0, &hf_021_295_22, I021_295_22_PARTS, { NULL } };
-static const AsterixField I021_295_23 = { FIXED, 1, 0, 0, &hf_021_295_23, I021_295_23_PARTS, { NULL } };
-static const AsterixField I021_295 = { COMPOUND, 0, 0, 0, &hf_021_295, NULL, { &I021_295_01,
- &I021_295_02,
- &I021_295_03,
- &I021_295_04,
- &I021_295_05,
- &I021_295_06,
- &I021_295_07,
- &I021_295_08,
- &I021_295_09,
- &I021_295_10,
- &I021_295_11,
- &I021_295_12,
- &I021_295_13,
- &I021_295_14,
- &I021_295_15,
- &I021_295_16,
- &I021_295_17,
- &I021_295_18,
- &I021_295_19,
- &I021_295_20,
- &I021_295_21,
- &I021_295_22,
- &I021_295_23,
- NULL} };
-static const AsterixField I021_400 = { FIXED, 1, 0, 0, &hf_021_400, I021_400_PARTS, { NULL } };
-static const AsterixField I021_RE_BPS = { FIXED, 2, 0, 0, &hf_021_RE_BPS, I021_RE_BPS_PARTS, { NULL } };
-static const AsterixField I021_RE_SelH = { FIXED, 2, 0, 0, &hf_021_RE_SelH, I021_RE_SelH_PARTS, { NULL } };
-static const AsterixField I021_RE_NAV = { FIXED, 1, 0, 0, &hf_021_RE_NAV, I021_RE_NAV_PARTS, { NULL } };
-static const AsterixField I021_RE_GAO = { FIXED, 1, 0, 0, &hf_021_RE_GAO, I021_RE_GAO_PARTS, { NULL } };
-static const AsterixField I021_RE_SGV = { FX, 1, 0, 1, &hf_021_RE_SGV, I021_RE_SGV_PARTS, { NULL } };
-static const AsterixField I021_RE_STA = { FX, 1, 0, 0, &hf_021_RE_STA, I021_RE_STA_PARTS, { NULL } };
-static const AsterixField I021_RE_TNH = { FIXED, 2, 0, 0, &hf_021_RE_TNH, I021_RE_TNH_PARTS, { NULL } };
-static const AsterixField I021_RE_MES_01 = { FX, 1, 0, 0, &hf_021_RE_MES_01, I021_RE_MES_01_PARTS, { NULL } };
-static const AsterixField I021_RE_MES_02 = { FIXED, 4, 0, 0, &hf_021_RE_MES_02, I021_RE_MES_02_PARTS, { NULL } };
-static const AsterixField I021_RE_MES_03 = { FIXED, 2, 0, 0, &hf_021_RE_MES_03, I021_RE_MES_03_PARTS, { NULL } };
-static const AsterixField I021_RE_MES_04 = { FIXED, 1, 0, 0, &hf_021_RE_MES_04, I021_RE_MES_04_PARTS, { NULL } };
-static const AsterixField I021_RE_MES_05 = { FIXED, 1, 0, 0, &hf_021_RE_MES_05, I021_RE_MES_05_PARTS, { NULL } };
-static const AsterixField I021_RE_MES_06 = { FIXED, 2, 0, 0, &hf_021_RE_MES_06, I021_RE_MES_06_PARTS, { NULL } };
-static const AsterixField I021_RE_MES = { COMPOUND, 0, 0, 0, &hf_021_RE_MES, NULL, { &I021_RE_MES_01,
- &I021_RE_MES_02,
- &I021_RE_MES_03,
- &I021_RE_MES_04,
- &I021_RE_MES_05,
- &I021_RE_MES_06,
- NULL } };
-static const AsterixField I021_RE = { RE, 0, 0, 1, &hf_021_RE, NULL, { &I021_RE_BPS,
- &I021_RE_SelH,
- &I021_RE_NAV,
- &I021_RE_GAO,
- &I021_RE_SGV,
- &I021_RE_STA,
- &I021_RE_TNH,
- &I021_RE_MES,
- NULL } };
-static const AsterixField I021_SP = { SP, 0, 0, 1, &hf_021_SP, NULL, { NULL } };
-
-static const AsterixField *I021_v2_3_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_v2_1_uap[] = { &I021_010, &I021_040_v2_1, &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_v2_1, &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_v2_1, &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_v0_26_uap[] = { &I021_010, &I021_040_v0_2, &I021_030, &I021_130_v0_2, &I021_080, &I021_140_v0_2, &I021_090_v0_2,
- &I021_210_v0_2, &I021_230, &I021_145, &I021_150, &I021_151_v0_2, &I021_152, &I021_155_v0_2,
- &I021_157_v0_2, &I021_160_v0_2, &I021_165_v0_2, &I021_170, &I021_095, &I021_032, &I021_200_v0_2,
- &I021_020_v0_2, &I021_220, &I021_146_v0_2, &I021_148_v0_2, &I021_110, &I021_070_v0_2, &I021_131_v0_2,
- &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_RE, &I021_SP, NULL };
-static const AsterixField *I021_v0_23_uap[] = { &I021_010, &I021_040_v0_2, &I021_030, &I021_130, &I021_080, &I021_140_v0_2, &I021_090_v0_2,
- &I021_210_v0_2, &I021_230, &I021_145, &I021_150, &I021_151_v0_2, &I021_152, &I021_155_v0_2,
- &I021_157_v0_2, &I021_160_v0_2, &I021_165_v0_2, &I021_170, &I021_095, &I021_032, &I021_200_v0_2,
- &I021_020_v0_2, &I021_220, &I021_146_v0_2, &I021_148_v0_2, &I021_110, &IX_SPARE, &IX_SPARE,
- &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I021_RE, &I021_SP, NULL };
-static const AsterixField **I021_v2_3[] = { I021_v2_3_uap, NULL };
-static const AsterixField **I021_v2_1[] = { I021_v2_1_uap, NULL };
-static const AsterixField **I021_v0_26[] = { I021_v0_26_uap, NULL };
-static const AsterixField **I021_v0_23[] = { I021_v0_23_uap, NULL };
-static const AsterixField ***I021[] = { I021_v2_3, I021_v2_1, I021_v0_26, I021_v0_23 };
-DIAG_ON_PEDANTIC
-
-static const enum_val_t I021_versions[] = {
- { "I021_v2_3", "Version 2.3", 0 },
- { "I021_v2_1", "Version 2.1", 1 },
- { "I021_v0_26", "Version 0.26", 2 },
- { "I021_v0_23", "Version 0.23", 3 },
- { NULL, NULL, 0 }
+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
};
-
-/* *********************** */
-/* Category 023 */
-/* *********************** */
-/* Fields */
-
-/* Report Type */
-static const value_string valstr_023_000_RT[] = {
- { 1, "Ground Station Status report" },
- { 2, "Service Status report" },
- { 3, "Service Statistics report" },
+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_000_RT = { 8, 1.0, FIELD_PART_UINT, &hf_023_000_RT, NULL };
-static const FieldPart *I023_000_PARTS[] = { &I023_000_RT, NULL };
-
-/* Tpe of Service */
+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" },
@@ -8140,58 +30682,91 @@ static const value_string valstr_023_015_STYP[] = {
{ 9, "MLT" },
{ 0, NULL }
};
-static const FieldPart I023_015_SID = { 4, 1.0, FIELD_PART_UINT, &hf_023_015_SID, NULL };
-static const FieldPart I023_015_STYPE = { 4, 1.0, FIELD_PART_UINT, &hf_023_015_STYPE, NULL };
-static const FieldPart *I023_015_PARTS[] = { &I023_015_SID, &I023_015_STYPE, NULL };
-
-/* Ground Station Status */
+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_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_NOGO, NULL };
-static const FieldPart I023_100_ODP = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_ODP, NULL };
-static const FieldPart I023_100_OXT = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_OXT, NULL };
-static const FieldPart I023_100_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_MSC, NULL };
-static const FieldPart I023_100_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_TSV, NULL };
-static const FieldPart I023_100_SPO = { 1, 1.0, FIELD_PART_UINT, &hf_023_100_SPO, 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 };
-
-/* Service Configuration */
+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" },
@@ -8203,13 +30778,21 @@ static const value_string valstr_023_101_SC[] = {
{ 7, "Reserved for future use" },
{ 0, NULL }
};
-static const FieldPart I023_101_RP = { 8, 0.5, FIELD_PART_UFLOAT, &hf_023_101_RP, NULL };
-static const FieldPart I023_101_SC = { 3, 1, FIELD_PART_UINT, &hf_023_101_SC, 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 };
-
-/* Service Status */
+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" },
@@ -8220,125 +30803,1038 @@ static const value_string valstr_023_110_STAT[] = {
{ 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 };
-
-/* Service Statistics */
+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" },
+ { 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" },
+ { 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" },
+ { 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_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_023_120_TYPE, NULL };
static const FieldPart I023_120_REF = { 1, 1.0, FIELD_PART_UINT, &hf_023_120_REF, NULL };
-static const FieldPart I023_120_COUNTER = { 32, 1.0, FIELD_PART_UINT, &hf_023_120_COUNTER, NULL };
-static const FieldPart *I023_120_PARTS[] = { &I023_120_TYPE, &I023_120_REF, &IXXX_7bit_spare, &I023_120_COUNTER, NULL };
-
-/* Operational Range */
-static const FieldPart I023_200_RANGE = { 8, 1.0, FIELD_PART_UFLOAT, &hf_023_200_RANGE, NULL };
-static const FieldPart *I023_200_PARTS[] = { &I023_200_RANGE, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I023_000 = { FIXED, 1, 0, 0, &hf_023_000, I023_000_PARTS, { NULL } };
-static const AsterixField I023_010 = { FIXED, 2, 0, 0, &hf_023_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I023_015 = { FIXED, 1, 0, 0, &hf_023_015, I023_015_PARTS, { NULL } };
-static const AsterixField I023_070 = { FIXED, 3, 0, 0, &hf_023_070, IXXX_TOD, { NULL } };
-static const AsterixField I023_100 = { FX, 1, 0, 0, &hf_023_100, I023_100_PARTS, { NULL } };
-static const AsterixField I023_101 = { FX, 1, 0, 1, &hf_023_101, I023_101_PARTS, { NULL } };
-static const AsterixField I023_110 = { FX, 1, 0, 0, &hf_023_110, I023_110_PARTS, { 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 const AsterixField I023_RE = { RE, 0, 0, 1, &hf_023_RE, NULL, { NULL } };
-static const AsterixField I023_SP = { SP, 0, 0, 1, &hf_023_SP, NULL, { 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 } };
-static const AsterixField *I023_v1_2_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_v1_2[] = { I023_v1_2_uap, NULL };
-static const AsterixField ***I023[] = { I023_v1_2 };
+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
-static const enum_val_t I023_versions[] = {
- { "I023_v1_2", "Version 1.2", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/* Fields */
-
-/* Report Type */
-static const value_string valstr_025_000_RT[] = {
- { 1, "Service and System Status report" },
- { 2, "Component Status report" },
- { 3, "Service Statistics report" },
+/* 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_RT = { 7, 1.0, FIELD_PART_UINT, &hf_025_000_RT, 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_RT, &I025_000_RG, NULL };
-
-/* Service Identification */
-static const FieldPart I025_015_SID = { 8, 1.0, FIELD_PART_UINT, &hf_025_015_SID, NULL };
-static const FieldPart *I025_015_PARTS[] = { &I025_015_SID, NULL };
-
-/* Service Designator */
-static const FieldPart I025_020_SD = { 48, 1.0, FIELD_PART_CALLSIGN, &hf_025_020_SD, NULL };
-static const FieldPart *I025_020_PARTS[] = { &I025_020_SD, NULL };
-
-/* System and Service Status */
+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" },
+ { 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_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_025_100_NOGO, NULL };
-static const FieldPart I025_100_OPS = { 2, 1.0, FIELD_PART_UINT, &hf_025_100_OPS, NULL };
static const FieldPart I025_100_SSTAT = { 4, 1.0, FIELD_PART_UINT, &hf_025_100_SSTAT, NULL };
-static const FieldPart *I025_100_PARTS[] = { &I025_100_NOGO, &I025_100_OPS, &I025_100_SSTAT, &IXXX_FX, NULL };
-
-/* System and Service Error Codes */
-static const value_string valstr_025_105_ERR[] = {
+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" },
@@ -8349,522 +31845,2320 @@ static const value_string valstr_025_105_ERR[] = {
{ 7, "System stopped by operator" },
{ 8, "CBIT failed" },
{ 9, "Test Target Failure" },
- { 0, NULL }
+ { 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 FieldPart I025_105_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_025_105_ERR, NULL };
-static const FieldPart *I025_105_PARTS[] = { &I025_105_ERR, NULL };
-
-/* Component Status */
-static const value_string valstr_025_120_EC[] = {
+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" },
- { 0, NULL }
-};
+ { 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" },
+ { 3, "Reserved" },
{ 0, NULL }
};
-static const FieldPart I025_120_CID = { 16, 1.0, FIELD_PART_UINT, &hf_025_120_CID, NULL };
-static const FieldPart I025_120_EC = { 6, 1.0, FIELD_PART_UINT, &hf_025_120_EC, 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_EC, &I025_120_CS, NULL };
-
-/* Service Statistics */
+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" },
+ { 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_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_025_140_TYPE, NULL };
static const FieldPart I025_140_REF = { 1, 1.0, FIELD_PART_UINT, &hf_025_140_REF, NULL };
-static const FieldPart I025_140_COUNTER = { 32, 1.0, FIELD_PART_UINT, &hf_025_140_COUNTER, NULL };
-static const FieldPart *I025_140_PARTS[] = { &I025_140_TYPE, &I025_140_REF, &IXXX_7bit_spare, &I025_140_COUNTER, NULL };
-
-/* Message Identification */
-static const FieldPart I025_200_MID = { 24, 1.0, FIELD_PART_UINT, &hf_025_200_MID, NULL };
-static const FieldPart *I025_200_PARTS[] = { &I025_200_MID, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I025_000 = { FIXED, 1, 0, 0, &hf_025_000, I025_000_PARTS, { NULL } };
-static const AsterixField I025_010 = { FIXED, 2, 0, 0, &hf_025_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I025_015 = { FIXED, 1, 0, 0, &hf_025_015, I025_015_PARTS, { NULL } };
-static const AsterixField I025_020 = { FIXED, 6, 0, 0, &hf_025_020, I025_020_PARTS, { NULL } };
-static const AsterixField I025_070 = { FIXED, 3, 0, 0, &hf_025_070, IXXX_TOD, { NULL } };
-static const AsterixField I025_100 = { FX, 1, 0, 0, &hf_025_100, I025_100_PARTS, { NULL } };
-static const AsterixField I025_105 = { REPETITIVE, 1, 1, 0, &hf_025_105, I025_105_PARTS, { NULL } };
-static const AsterixField I025_120 = { REPETITIVE, 3, 1, 0, &hf_025_120, I025_120_PARTS, { 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 const AsterixField I025_SP = { SP, 0, 0, 1, &hf_025_SP, NULL, { 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 } };
-static const AsterixField *I025_v1_1_uap[] = { &I025_010, &I025_000, &I025_200, &I025_015, &I025_020, &I025_070, &I025_100,
- &I025_105, &I025_120, &I025_140, &I025_SP, NULL };
-static const AsterixField **I025_v1_1[] = { I025_v1_1_uap, NULL };
-static const AsterixField ***I025[] = { I025_v1_1 };
+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
-static const enum_val_t I025_versions[] = {
- { "I025_v1_1", "Version 1.1", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-static const value_string valstr_032_035_NAT[] = {
- { 1, "Flight Plan to Track Initial Correlation" },
- { 2, "Miniplan Update" },
- { 3, "End of Correlation" },
+/* 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 value_string valstr_032_420_GAT[] = {
+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" },
+ { 3, "Not applicable" },
{ 0, NULL }
};
-
-static const value_string valstr_032_420_FR[] = {
- { 0, "Instrument Flight Rules"},
- { 1, "Visual Flight Rules"},
- { 2, "Not Applicable"},
- { 3, "Controlled Visual Flight Rules"},
- { 0, NULL}
-};
-
-static const value_string valstr_032_435_CAT[] = {
- { 76, "L: Light" },
- { 77, "M: Medium" },
- { 78, "H: Heavy" },
- { 79, "J: Super" },
+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 value_string valstr_032_500_PLN[] = {
+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" },
+ { 1, "Unit 1 internal flight number" },
+ { 2, "Unit 2 internal flight number" },
+ { 3, "Unit 3 internal flight number" },
{ 0, NULL }
};
-
-static const value_string valstr_032_500_RVSM[] = {
+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" },
+ { 3, "Not approved" },
{ 0, NULL }
};
-
-static const value_string valstr_032_500_HPR[] = {
+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 value_string valstr_032_500_TYP[] = {
+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" },
+ { 4, "Predicted Time at Runway Hold" },
{ 5, "Actual Time at Runway Hold" },
- { 6, "Actual Line-up Time" },
+ { 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" },
+ { 11, "Actual Time off Runway" },
+ { 12, "Predicted Time to Gate" },
+ { 13, "Actual On-Block Time" },
{ 0, NULL }
};
-
-static const value_string valstr_032_500_DAY[] = {
+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 value_string valstr_032_500_STS_EMP[] = {
+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 value_string valstr_032_500_STS_AVL[] = {
+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" },
+ { 1, "Not available" },
{ 2, "Unknown" },
{ 3, "Invalid" },
{ 0, NULL }
};
-
-static const value_string valstr_032_500_AVS[] = {
- { 0, "Seconds Available" },
- { 1, "Seconds Not Available" },
- { 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
};
-
-/* Fields */
-/* I032/015 - User Number */
-static const FieldPart I032_015_USR = { 16, 1.0, FIELD_PART_UINT, &hf_032_015_UN, NULL };
-static const FieldPart *I032_015_PARTS[] = { &I032_015_USR, NULL };
-
-/* I032/035 - Type of Message */
-static const FieldPart I032_035_FAM = { 4, 1.0, FIELD_PART_UINT, &hf_032_035_FAM, NULL };
-static const FieldPart I032_035_NAT = { 4, 1.0, FIELD_PART_UINT, &hf_032_035_NAT, NULL };
-static const FieldPart *I032_035_PARTS[] = { &I032_035_FAM, &I032_035_NAT, NULL };
-
-/* I032/040 - Track Number */
-static const FieldPart I032_040_TRK = { 12, 1.0, FIELD_PART_UINT, &hf_032_040_TRK, NULL };
-static const FieldPart *I032_040_PARTS[] = { &I032_040_TRK, NULL };
-
-/* I032/050 - Composed Track Number */
-static const FieldPart I032_050_SUI = { 8, 1.0, FIELD_PART_UINT, &hf_032_050_SUI, NULL };
-static const FieldPart I032_050_STN = { 11, 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 };
-
-/* I032/060 - Track Mode 3A */
-static const FieldPart I032_060_MD3 = { 12, 1.0, FIELD_PART_SQUAWK, &hf_032_060_M3, NULL };
-static const FieldPart *I032_060_PARTS[] = { &I032_060_MD3, NULL };
-
-/* I032/400 - Callsign */
-static const FieldPart I032_400_CAL = { 56, 1.0, FIELD_PART_ASCII, &hf_032_400_CALL, NULL };
-static const FieldPart *I032_400_PARTS[] = { &I032_400_CAL, NULL };
-
-/* I032/410 - Plan Number */
-static const FieldPart I032_410_PLN = { 16, 1.0, FIELD_PART_UINT, &hf_032_410_PLN, NULL };
-static const FieldPart *I032_410_PARTS[] = { &I032_410_PLN, NULL };
-
-/* I032/420 - Flight Category */
-static const FieldPart I032_420_GAT = { 2, 1.0, FIELD_PART_UINT, &hf_032_420_GAT, NULL };
-static const FieldPart I032_420_FR = { 2, 1.0, FIELD_PART_UINT, &hf_032_420_FR, NULL };
-static const FieldPart I032_420_SP = { 3, 1.0, FIELD_PART_UINT, &hf_032_420_SP, NULL };
-static const FieldPart *I032_420_PARTS[] = { &I032_420_GAT, &I032_420_FR, &I032_420_SP, NULL };
-
-/* I032/430 - Type of Aircraft */
-static const FieldPart I032_430_TYP = { 32, 1.0, FIELD_PART_ASCII, &hf_032_430_TYP, NULL };
-static const FieldPart *I032_430_PARTS[] = { &I032_430_TYP, NULL };
-
-/* I032/435 - Category of Turbulence */
-static const FieldPart I032_435_TURB = { 8, 1.0, FIELD_PART_UINT, &hf_032_435_TUR, NULL };
-static const FieldPart *I032_435_PARTS[] = { &I032_435_TURB, NULL };
-
-/* I032/440 - Departure Airport */
-static const FieldPart I032_440_DEP = { 32, 1.0, FIELD_PART_ASCII, &hf_032_440_DEP, NULL };
-static const FieldPart *I032_440_PARTS[] = { &I032_440_DEP, NULL };
-
-/* I032/450 - Destination Airport */
-static const FieldPart I032_450_DEST = { 32, 1.0, FIELD_PART_ASCII, &hf_032_450_DEST, NULL };
-static const FieldPart *I032_450_PARTS[] = { &I032_450_DEST, NULL };
-
-/* I032/460 - Allocated SSR Codes */
-static const FieldPart I032_460_SSR = { 12, 1.0, FIELD_PART_SQUAWK, &hf_032_460_SSR, NULL };
-static const FieldPart *I032_460_PARTS[] = { &IXXX_4bit_spare, &I032_460_SSR, NULL };
-
-/* I032/480 - Current Cleared Flight Level */
-static const FieldPart I032_480_CCFL = { 16, 25, FIELD_PART_UINT, &hf_032_480_CFL, NULL };
-static const FieldPart *I032_480_PARTS[] = { &I032_480_CCFL, NULL };
-
-/* I032/490 - Current Control Position */
-static const FieldPart I032_490_CEN = { 4, 1.0, FIELD_PART_UINT, &hf_032_490_CEN, NULL };
-static const FieldPart I032_490_POS = { 4, 1.0, FIELD_PART_UINT, &hf_032_490_POS, NULL };
-static const FieldPart *I032_490_PARTS[] = { &I032_490_CEN, &I032_490_POS, NULL };
-
-/* I032/500/1 - IFPS Flight ID */
-static const FieldPart I032_500_IFI_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_IFI_TYP, NULL };
-static const FieldPart I032_500_IFI_NBR = { 30, 1.0, FIELD_PART_UINT, &hf_032_500_IFI_NBR, NULL };
-static const FieldPart *I032_500_IFI_PARTS[] = { &I032_500_IFI_TYP, &I032_500_IFI_NBR, NULL };
-
-/* I032/500/2 - RVSM & Flight Priority */
-static const FieldPart I032_500_RVSM_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_RVSM_RVSM, NULL };
-static const FieldPart I032_500_RVSM_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_032_500_RVSM_HPR, NULL };
-static const FieldPart *I032_500_RVSM_PARTS[] = { &I032_500_RVSM_RVSM, &I032_500_RVSM_HPR, NULL };
-
-/* I032/500/3 - Runway Desigination */
-static const FieldPart I032_500_RUNWAY_NU1 = { 8, 1.0, FIELD_PART_ASCII, &hf_032_500_RUNWAY_NU1, NULL };
-static const FieldPart I032_500_RUNWAY_NU2 = { 8, 1.0, FIELD_PART_ASCII, &hf_032_500_RUNWAY_NU2, NULL };
-static const FieldPart I032_500_RUNWAY_LTR = { 8, 1.0, FIELD_PART_ASCII, &hf_032_500_RUNWAY_LTR, NULL };
-static const FieldPart *I032_500_RUNWAY_PARTS[] = { &I032_500_RUNWAY_NU1, &I032_500_RUNWAY_NU2, &I032_500_RUNWAY_LTR, NULL };
-
-/* I032/500/4 - Time of Departure Arrival */
-static const FieldPart I032_500_TIME_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_032_500_TIME_TYP, NULL };
-static const FieldPart I032_500_TIME_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_TIME_DAY, NULL };
-static const FieldPart I032_500_TIME_HOR = { 4, 1.0, FIELD_PART_UINT, &hf_032_500_TIME_HOR, NULL };
-static const FieldPart I032_500_TIME_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_032_500_TIME_MIN, NULL };
-static const FieldPart I032_500_TIME_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_032_500_TIME_AVS, NULL };
-static const FieldPart I032_500_TIME_SECS = { 5, 1.0, FIELD_PART_UINT, &hf_032_500_TIME_SEC, NULL };
-static const FieldPart *I032_500_TIME_PARTS[] = { &I032_500_TIME_TYP, &I032_500_TIME_DAY, &I032_500_TIME_HOR, &I032_500_TIME_MIN, &I032_500_TIME_AVS, &I032_500_TIME_SECS, NULL };
-
-/* I032/500/5 - Aircraft Stand */
-static const FieldPart I032_500_AIR_STD = { 48, 1.0, FIELD_PART_ASCII, &hf_032_500_AIR_STD, NULL };
-static const FieldPart *I032_500_AIR_STD_PARTS[] = { &I032_500_AIR_STD, NULL };
-
-/* I032/500/6 - Stand Status */
-static const FieldPart I032_500_STS_EMP = { 2, 1.0, FIELD_PART_UINT, &hf_032_500_STS_EMP, 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, NULL };
-
-/* I032/500/7 - Standard Instrument Departure */
-static const FieldPart I032_500_SID = { 56, 1.0, FIELD_PART_ASCII, &hf_032_500_SID, NULL };
-static const FieldPart *I032_500_SID_PARTS[] = { &I032_500_SID, NULL };
-
-/* I032/500/8 - Standard Instrument Arrival */
-static const FieldPart I032_500_SIA = { 56, 1.0, FIELD_PART_ASCII, &hf_032_500_SIA, NULL };
-static const FieldPart *I032_500_SIA_PARTS[] = { &I032_500_SIA, NULL };
-
-DIAG_OFF_PEDANTIC
-/*AsterixField Definitions*/
-static const AsterixField I032_010 = { FIXED, 2, 0, 0, &hf_032_010, IXXX_SAC_SIC, { NULL } };
static const AsterixField I032_015 = { FIXED, 2, 0, 0, &hf_032_015, I032_015_PARTS, { NULL } };
-static const AsterixField I032_018 = { FIXED, 2, 0, 0, &hf_032_018, IXXX_SAC_SIC, { 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 const AsterixField I032_020 = { FIXED, 3, 0, 0, &hf_032_020, IXXX_TOD, { 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 const AsterixField I032_430 = { FIXED, 4, 0, 0, &hf_032_430, I032_430_PARTS, { NULL } };
-static const AsterixField I032_435 = { FIXED, 1, 0, 0, &hf_032_435, I032_435_PARTS, { NULL } };
-static const AsterixField I032_460 = { REPETITIVE, 2, 1, 0, &hf_032_460, I032_460_PARTS, { NULL } };
-static const AsterixField I032_500_01 = { FIXED, 4, 0, 0, &hf_032_500_01, I032_500_IFI_PARTS, { NULL } };
-static const AsterixField I032_500_02 = { FIXED, 1, 0, 0, &hf_032_500_02, I032_500_RVSM_PARTS, { NULL } };
-static const AsterixField I032_500_03 = { FIXED, 3, 0, 0, &hf_032_500_03, I032_500_RUNWAY_PARTS, { NULL } };
-static const AsterixField I032_500_04 = { REPETITIVE, 4, 1, 0, &hf_032_500_04, I032_500_TIME_PARTS, { NULL } };
-static const AsterixField I032_500_05 = { FIXED, 6, 0, 0, &hf_032_500_05, I032_500_AIR_STD_PARTS, { NULL } };
-static const AsterixField I032_500_06 = { FIXED, 1, 0, 0, &hf_032_500_06, I032_500_STS_PARTS, { NULL } };
-static const AsterixField I032_500_07 = { FIXED, 7, 0, 0, &hf_032_500_07, I032_500_SID_PARTS, { NULL } };
-static const AsterixField I032_500_08 = { FIXED, 7, 0, 0, &hf_032_500_08, I032_500_SIA_PARTS, { NULL } };
-static const AsterixField I032_500 = { COMPOUND, 0, 0, 0, &hf_032_500, NULL, { &I032_500_01,
- &I032_500_02,
- &I032_500_03,
- &I032_500_04,
- &I032_500_05,
- &I032_500_06,
- &I032_500_07,
- &I032_500_08,
- NULL } };
-static const AsterixField I032_RE = { RE, 0, 0, 1, &hf_032_RE, NULL, { NULL } };
-
-/* Define the UAP */
-static const AsterixField *I032_v1_0_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_v1_0[] = { I032_v1_0_uap, NULL };
-static const AsterixField ***I032[] = { I032_v1_0 };
+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
-static const enum_val_t I032_versions[] = {
- { "I032_v1_0", "Version 1.0", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/* Fields */
-
-/* Message Type */
-static const value_string valstr_034_000_MT[] = {
- { 1, "North Marker message" },
+/* 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" },
+ { 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_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_034_000_MT, NULL };
-static const FieldPart *I034_000_PARTS[] = { &I034_000_MT, NULL };
-
-/* Sector Number */
-static const FieldPart I034_020_SN = { 8, 360.0/256.0, FIELD_PART_UFLOAT, &hf_034_020_SN, NULL };
-static const FieldPart *I034_020_PARTS[] = { &I034_020_SN, 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 } };
-/* Antenna Rotation Speed */
-static const FieldPart I034_041_ARS = { 16, 1.0/128.0, FIELD_PART_UFLOAT, &hf_034_041_ARS, NULL };
-static const FieldPart *I034_041_PARTS[] = { &I034_041_ARS, 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
-/* System Configuration and Status */
-static const value_string valstr_034_050_01_NOGO[] = {
+/* 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 value_string valstr_034_050_01_RDPC[] = {
+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 value_string valstr_034_050_01_RDPR[] = {
+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 value_string valstr_034_050_01_OVL_RDP[] = {
+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 value_string valstr_034_050_01_OVL_XMT[] = {
+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 value_string valstr_034_050_01_MSC[] = {
+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 value_string valstr_034_050_01_TSV[] = {
+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 value_string valstr_034_050_02_ANT[] = {
+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 value_string valstr_034_050_02_CHAB[] = {
+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" },
+ { 3, "Diversity mode ; Channel A and B selected" },
{ 0, NULL }
};
-static const value_string valstr_034_050_02_OVL[] = {
+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 value_string valstr_034_050_02_MSC[] = {
+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 value_string valstr_034_050_03_ANT[] = {
+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 value_string valstr_034_050_03_CHAB[] = {
+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 value_string valstr_034_050_03_OVL[] = {
+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 value_string valstr_034_050_03_MSC[] = {
+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 value_string valstr_034_050_04_ANT[] = {
+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 value_string valstr_034_050_04_CHAB[] = {
+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 value_string valstr_034_050_04_OVL_SUR[] = {
+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 value_string valstr_034_050_04_MSC[] = {
+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 value_string valstr_034_050_04_SCF[] = {
+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 value_string valstr_034_050_04_DLF[] = {
+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 value_string valstr_034_050_04_OVL_SCF[] = {
+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 value_string valstr_034_050_04_OVL_DLF[] = {
+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_050_01_NOGO = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_01_NOGO, NULL };
-static const FieldPart I034_050_01_RDPC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_01_RDPC, NULL };
-static const FieldPart I034_050_01_RDPR = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_01_RDPR, NULL };
-static const FieldPart I034_050_01_OVL_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_01_OVL_RDP, NULL };
-static const FieldPart I034_050_01_OVL_XMT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_01_OVL_XMT, NULL };
-static const FieldPart I034_050_01_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_01_MSC, NULL };
-static const FieldPart I034_050_01_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_01_TSV, NULL };
-static const FieldPart *I034_050_01_PARTS[] = { &I034_050_01_NOGO, &I034_050_01_RDPC, &I034_050_01_RDPR, &I034_050_01_OVL_RDP, &I034_050_01_OVL_XMT, &I034_050_01_MSC, &I034_050_01_TSV, NULL };
-static const FieldPart I034_050_02_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_02_ANT, NULL };
-static const FieldPart I034_050_02_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_050_02_CHAB, NULL };
-static const FieldPart I034_050_02_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_02_OVL, NULL };
-static const FieldPart I034_050_02_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_02_MSC, NULL };
-static const FieldPart *I034_050_02_PARTS[] = { &I034_050_02_ANT, &I034_050_02_CHAB, &I034_050_02_OVL, &I034_050_02_MSC, NULL };
-static const FieldPart I034_050_03_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_03_ANT, NULL };
-static const FieldPart I034_050_03_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_050_03_CHAB, NULL };
-static const FieldPart I034_050_03_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_03_OVL, NULL };
-static const FieldPart I034_050_03_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_03_MSC, NULL };
-static const FieldPart *I034_050_03_PARTS[] = { &I034_050_03_ANT, &I034_050_03_CHAB, &I034_050_03_OVL, &I034_050_03_MSC, NULL };
-static const FieldPart I034_050_04_ANT = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_04_ANT, NULL };
-static const FieldPart I034_050_04_CHAB = { 2, 1.0, FIELD_PART_UINT, &hf_034_050_04_CHAB, NULL };
-static const FieldPart I034_050_04_OVL_SUR = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_04_OVL_SUR, NULL };
-static const FieldPart I034_050_04_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_04_MSC, NULL };
-static const FieldPart I034_050_04_SCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_04_SCF, NULL };
-static const FieldPart I034_050_04_DLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_04_DLF, NULL };
-static const FieldPart I034_050_04_OVL_SCF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_04_OVL_SCF, NULL };
-static const FieldPart I034_050_04_OVL_DLF = { 1, 1.0, FIELD_PART_UINT, &hf_034_050_04_OVL_DLF, NULL };
-static const FieldPart *I034_050_04_PARTS[] = { &I034_050_04_ANT, &I034_050_04_CHAB, &I034_050_04_OVL_SUR, &I034_050_04_MSC, &I034_050_04_SCF, &I034_050_04_DLF, &I034_050_04_OVL_SCF,
- &I034_050_04_OVL_DLF, NULL };
-
-/* System Processing Mode */
-static const value_string valstr_034_060_RED[] = {
+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" },
@@ -8875,48 +34169,128 @@ static const value_string valstr_034_060_RED[] = {
{ 7, "Reduction step 7 active" },
{ 0, NULL }
};
-static const value_string valstr_034_060_02_POL[] = {
+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 value_string valstr_034_060_02_STC[] = {
+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 value_string valstr_034_060_04_CLU[] = {
+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_060_01_RED_RDP = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_01_RED_RDP, NULL };
-static const FieldPart I034_060_01_RED_XMT = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_01_RED_XMT, NULL };
-static const FieldPart *I034_060_01_PARTS[] = { &IXXX_1bit_spare, &I034_060_01_RED_RDP, &I034_060_01_RED_XMT, NULL };
-static const FieldPart I034_060_02_POL = { 1, 1.0, FIELD_PART_UINT, &hf_034_060_02_POL, NULL };
-static const FieldPart I034_060_02_RED_RAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_02_RED_RAD, NULL };
-static const FieldPart I034_060_02_STC = { 2, 1.0, FIELD_PART_UINT, &hf_034_060_02_STC, NULL };
-static const FieldPart *I034_060_02_PARTS[] = { &I034_060_02_POL, &I034_060_02_RED_RAD, &I034_060_02_STC, NULL };
-static const FieldPart I034_060_03_RED_RAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_03_RED_RAD, NULL };
-static const FieldPart *I034_060_03_PARTS[] = { &I034_060_03_RED_RAD, NULL };
-static const FieldPart I034_060_04_RED_RAD = { 3, 1.0, FIELD_PART_UINT, &hf_034_060_04_RED_RAD, NULL };
-static const FieldPart I034_060_04_CLU = { 1, 1.0, FIELD_PART_UINT, &hf_034_060_04_CLU, NULL };
-static const FieldPart *I034_060_04_PARTS[] = { &I034_060_04_RED_RAD, &I034_060_04_CLU, NULL };
-
-/* Plot Count Values */
-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" },
+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" },
@@ -8924,26 +34298,52 @@ static const value_string valstr_034_070_TYP[] = {
{ 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_070_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_034_070_TYP, NULL };
-static const FieldPart I034_070_COUNTER = { 11, 1.0, FIELD_PART_UINT, &hf_034_070_COUNTER, NULL };
-static const FieldPart *I034_070_PARTS[] = { &I034_070_TYP, &I034_070_COUNTER, NULL };
-
-/* Collimation Error */
-static const FieldPart I034_090_RE = { 8, 1.0/128.0, FIELD_PART_FLOAT, &hf_034_090_RE, NULL };
-static const FieldPart I034_090_AE = { 8, 360.0/16384.0, FIELD_PART_FLOAT, &hf_034_090_AE, NULL };
-static const FieldPart *I034_090_PARTS[] = { &I034_090_RE, &I034_090_AE, NULL };
-
-/* Dynamic Window - Type 1 */
-static const FieldPart I034_100_RHOS = { 16, 1.0/256.0, FIELD_PART_UFLOAT, &hf_034_100_RHOS, NULL };
-static const FieldPart I034_100_RHOE = { 16, 1.0/256.0, FIELD_PART_UFLOAT, &hf_034_100_RHOE, NULL };
-static const FieldPart I034_100_THETAS = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_034_100_THETAS, NULL };
-static const FieldPart I034_100_THETAE = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_034_100_THETAE, NULL };
-static const FieldPart *I034_100_PARTS[] = { &I034_100_RHOS, &I034_100_RHOE, &I034_100_THETAS, &I034_100_THETAE, NULL };
-
-/* Data Filter */
-static const value_string valstr_034_110_TYP[] = {
+ { 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" },
@@ -8956,69 +34356,6361 @@ static const value_string valstr_034_110_TYP[] = {
{ 9, "Filter for PSR+Enhanced Surveillance + all SSR/Mode S data" },
{ 0, NULL }
};
-static const FieldPart I034_110_TYP = { 8, 1.0, FIELD_PART_UINT, &hf_034_110_TYP, NULL };
-static const FieldPart *I034_110_PARTS[] = { &I034_110_TYP, NULL };
-
-/* 3-D Position of Data Source */
-static const FieldPart I034_120_H = { 16, 1.0, FIELD_PART_FLOAT, &hf_034_120_H, NULL };
-static const FieldPart I034_120_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_034_120_LAT, NULL };
-static const FieldPart I034_120_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_034_120_LON, NULL };
-static const FieldPart *I034_120_PARTS[] = { &I034_120_H, &I034_120_LAT, &I034_120_LON, 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 } };
-/* Items */
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 const AsterixField I034_010 = { FIXED, 2, 0, 0, &hf_034_010, IXXX_SAC_SIC, { 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 const AsterixField I034_030 = { FIXED, 3, 0, 0, &hf_034_030, IXXX_TOD, { 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 const AsterixField I034_050_01 = { FIXED, 1, 0, 0, &hf_034_050_01, I034_050_01_PARTS, { NULL } };
-static const AsterixField I034_050_02 = { FIXED, 1, 0, 0, &hf_034_050_02, I034_050_02_PARTS, { NULL } };
-static const AsterixField I034_050_03 = { FIXED, 1, 0, 0, &hf_034_050_03, I034_050_03_PARTS, { NULL } };
-static const AsterixField I034_050_04 = { FIXED, 2, 0, 0, &hf_034_050_04, I034_050_04_PARTS, { NULL } };
-static const AsterixField I034_050 = { COMPOUND, 0, 0, 0, &hf_034_050, NULL, { &I034_050_01,
- &IX_SPARE,
- &IX_SPARE,
- &I034_050_02,
- &I034_050_03,
- &I034_050_04,
- NULL} };
-static const AsterixField I034_060_01 = { FIXED, 1, 0, 0, &hf_034_060_01, I034_060_01_PARTS, { NULL } };
-static const AsterixField I034_060_02 = { FIXED, 1, 0, 0, &hf_034_060_02, I034_060_02_PARTS, { NULL } };
-static const AsterixField I034_060_03 = { FIXED, 1, 0, 0, &hf_034_060_03, I034_060_03_PARTS, { NULL } };
-static const AsterixField I034_060_04 = { FIXED, 1, 0, 0, &hf_034_060_04, I034_060_04_PARTS, { NULL } };
-static const AsterixField I034_060 = { COMPOUND, 0, 0, 0, &hf_034_060, NULL, { &I034_060_01,
- &IX_SPARE,
- &IX_SPARE,
- &I034_060_02,
- &I034_060_03,
- &I034_060_04,
- 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 const AsterixField I034_RE = { RE, 0, 0, 1, &hf_034_RE, NULL, { NULL } };
-static const AsterixField I034_SP = { SP, 0, 0, 1, &hf_034_SP, NULL, { 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 } };
-static const AsterixField *I034_v1_27_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_v1_27[] = { I034_v1_27_uap, NULL };
-static const AsterixField ***I034[] = { I034_v1_27 };
+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
-static const enum_val_t I034_versions[] = {
- { "I034_v1_27", "Version 1.27", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/* Fields */
+/* 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 } };
-/* Target report descriptor */
+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" },
@@ -9027,91 +40719,123 @@ static const value_string valstr_048_020_TYP[] = {
{ 4, "Single ModeS All-Call" },
{ 5, "Single ModeS Roll-Call" },
{ 6, "ModeS All-Call + PSR" },
- { 7, "ModeS Roll-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, "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 value_string valstr_048_020_FOE[] = {
+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_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_048_020_TYP, NULL };
-static const FieldPart I048_020_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_SIM, NULL };
-static const FieldPart I048_020_RDP = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_RDP, NULL };
-static const FieldPart I048_020_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_SPI, NULL };
-static const FieldPart I048_020_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_RAB, NULL };
-static const FieldPart I048_020_TST = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_TST, NULL };
-static const FieldPart I048_020_ERR = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_ERR, NULL }; /* v1.23 */
-static const FieldPart I048_020_XPP = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_XPP, NULL }; /* v1.21 */
-static const FieldPart I048_020_ME = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_ME, NULL };
-static const FieldPart I048_020_MI = { 1, 1.0, FIELD_PART_UINT, &hf_048_020_MI, NULL };
-static const FieldPart I048_020_FOE = { 2, 1.0, FIELD_PART_UINT, &hf_048_020_FOE, 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_FOE, &IXXX_FX, NULL };
-static const FieldPart *I048_020_PARTS_v1_21[] = { &I048_020_TYP, &I048_020_SIM, &I048_020_RDP, &I048_020_SPI, &I048_020_RAB, &IXXX_FX,
- &I048_020_TST, &IXXX_1bit_spare, &I048_020_XPP, &I048_020_ME, &I048_020_MI, &I048_020_FOE, &IXXX_FX, NULL };
-static const FieldPart *I048_020_PARTS_v1_17[] = { &I048_020_TYP, &I048_020_SIM, &I048_020_RDP, &I048_020_SPI, &I048_020_RAB, &IXXX_FX,
- &I048_020_TST, &IXXX_2bit_spare, &I048_020_ME, &I048_020_MI, &I048_020_FOE, &IXXX_FX, NULL };
-
-/* Warning/Error Conditions */
-static const value_string valstr_048_030_WE[] = {
- { 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" },
+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" },
@@ -9123,368 +40847,786 @@ static const value_string valstr_048_030_WE[] = {
{ 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" },
+ { 21, "Mode-1 was present in original reply" },
+ { 22, "Mode-2 was present in original reply" },
{ 23, "Plot potentially caused by Wind Turbine" },
- { 0, NULL }
-};
-/* Note: I048/030 is an FX field that has no limit on the number of extensions.
- * There is currently no function available for us to deal dynamically with that so we
- * will just hardcode support for a maximum of 10 extensions.
- **/
-static const FieldPart I048_030_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_WE, NULL };
-static const FieldPart I048_030_1_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_1_WE, NULL };
-static const FieldPart I048_030_2_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_2_WE, NULL };
-static const FieldPart I048_030_3_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_3_WE, NULL };
-static const FieldPart I048_030_4_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_4_WE, NULL };
-static const FieldPart I048_030_5_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_5_WE, NULL };
-static const FieldPart I048_030_6_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_6_WE, NULL };
-static const FieldPart I048_030_7_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_7_WE, NULL };
-static const FieldPart I048_030_8_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_8_WE, NULL };
-static const FieldPart I048_030_9_WE = { 7, 1.0, FIELD_PART_UINT, &hf_048_030_9_WE, NULL };
+ { 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_WE, &IXXX_FX,
- &I048_030_1_WE, &IXXX_FX,
- &I048_030_2_WE, &IXXX_FX,
- &I048_030_3_WE, &IXXX_FX,
- &I048_030_4_WE, &IXXX_FX,
- &I048_030_5_WE, &IXXX_FX,
- &I048_030_6_WE, &IXXX_FX,
- &I048_030_7_WE, &IXXX_FX,
- &I048_030_8_WE, &IXXX_FX,
- &I048_030_9_WE, &IXXX_FX,
- NULL };
-
-/* Measured Position in Polar Co-ordinates */
-static const FieldPart I048_040_RHO = { 16, 1.0/256.0, FIELD_PART_UFLOAT, &hf_048_040_RHO, NULL };
-static const FieldPart I048_040_THETA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_048_040_THETA, NULL };
-static const FieldPart *I048_040_PARTS[] = { &I048_040_RHO, &I048_040_THETA, NULL };
-
-/* Cartesian position */
-static const FieldPart I048_042_X = { 16, 1.0/128.0, FIELD_PART_FLOAT, &hf_048_042_X, NULL };
-static const FieldPart I048_042_Y = { 16, 1.0/128.0, FIELD_PART_FLOAT, &hf_048_042_Y, NULL };
-static const FieldPart *I048_042_PARTS[] = { &I048_042_X, &I048_042_Y, NULL };
-
-/* Mode-2 Code */
+ &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_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_050_V, NULL };
-static const FieldPart I048_050_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_050_G, NULL };
static const FieldPart I048_050_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_050_L, NULL };
-static const FieldPart I048_050_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_050_SQUAWK, NULL };
-static const FieldPart *I048_050_PARTS[] = { &I048_050_V, &I048_050_G, &I048_050_L, &IXXX_1bit_spare, &I048_050_SQUAWK, NULL };
-
-/* Mode-1 Code */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_055_V, NULL };
-static const FieldPart I048_055_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_055_G, NULL };
static const FieldPart I048_055_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_055_L, NULL };
-static const FieldPart I048_055_CODE = { 5, 1.0, FIELD_PART_SQUAWK, &hf_048_055_CODE, NULL };
-static const FieldPart *I048_055_PARTS[] = { &I048_055_V, &I048_055_G, &I048_055_L, &I048_055_CODE, NULL };
-
-/* Mode-2 Code Confidence Indicator */
-static const value_string valstr_048_060_QA[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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 };
-
-/* Mode-1 Code Confidence Indicator */
-static const value_string valstr_048_065_QA[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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 };
-
-/* Mode-3/A Code */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_070_V, NULL };
-static const FieldPart I048_070_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_070_G, NULL };
static const FieldPart I048_070_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_070_L, NULL };
-static const FieldPart I048_070_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_048_070_SQUAWK, NULL };
-static const FieldPart *I048_070_PARTS[] = { &I048_070_V, &I048_070_G, &I048_070_L, &IXXX_1bit_spare, &I048_070_SQUAWK, NULL };
-
-/* Mode 3/A Confidence Indicator */
-static const value_string valstr_048_080_QA[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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 };
-
-/* Flight level */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_090_V, NULL };
static const FieldPart I048_090_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_090_G, NULL };
-static const FieldPart I048_090_FL = { 14, 1.0/4.0, FIELD_PART_FLOAT, &hf_048_090_FL, NULL };
-static const FieldPart *I048_090_PARTS[] = { &I048_090_V, &I048_090_G, &I048_090_FL, NULL };
-
-/* Mode-C Code and Code Confidence Indicator */
+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 value_string valstr_048_100_QA[] = {
- { 0, "High quality pulse" },
- { 1, "Low quality pulse" },
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_V, NULL };
-static const FieldPart I048_100_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_G, NULL };
-static const FieldPart I048_100_A4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_A4, NULL };
-static const FieldPart I048_100_A2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_A2, NULL };
-static const FieldPart I048_100_A1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_A1, NULL };
-static const FieldPart I048_100_B4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_B4, NULL };
-static const FieldPart I048_100_B2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_B2, NULL };
-static const FieldPart I048_100_B1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_B1, NULL };
-static const FieldPart I048_100_C4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_C4, NULL };
-static const FieldPart I048_100_C2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_C2, NULL };
-static const FieldPart I048_100_C1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_C1, NULL };
-static const FieldPart I048_100_D4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_D4, NULL };
-static const FieldPart I048_100_D2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_D2, NULL };
-static const FieldPart I048_100_D1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_D1, NULL };
-static const FieldPart I048_100_QA4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QA4, NULL };
-static const FieldPart I048_100_QA2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QA2, NULL };
static const FieldPart I048_100_QA1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QA1, NULL };
-static const FieldPart I048_100_QB4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QB4, NULL };
-static const FieldPart I048_100_QB2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QB2, NULL };
-static const FieldPart I048_100_QB1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QB1, NULL };
-static const FieldPart I048_100_QC4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QC4, 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 const FieldPart I048_100_QC1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QC1, NULL };
-static const FieldPart I048_100_QD4 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QD4, NULL };
-static const FieldPart I048_100_QD2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_100_QD2, 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 const FieldPart *I048_100_PARTS[] = { &I048_100_V, &I048_100_G, &IXXX_2bit_spare,
- &I048_100_C1, &I048_100_A1, &I048_100_C2, &I048_100_A2,
- &I048_100_C4, &I048_100_A4, &I048_100_B1, &I048_100_D1,
- &I048_100_B2, &I048_100_D2, &I048_100_B4, &I048_100_D4,
- &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 };
-
-/* Height Measured by a 3D Radar */
-static const FieldPart I048_110_3DHEIGHT = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_110_3DHEIGHT, NULL };
-static const FieldPart *I048_110_PARTS[] = { &IXXX_2bit_spare, &I048_110_3DHEIGHT, NULL };
-
-/* Radial Doppler Speed */
-static const value_string valstr_048_120_01_D[] = {
+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_01_D = { 1, 1.0, FIELD_PART_UINT, &hf_048_120_01_D, NULL };
-static const FieldPart I048_120_01_CAL = { 10, 1.0, FIELD_PART_INT, &hf_048_120_01_CAL, NULL };
-static const FieldPart *I048_120_01_PARTS[] = { &I048_120_01_D, &IXXX_5bit_spare, &I048_120_01_CAL, NULL };
-
-static const FieldPart I048_120_02_DOP = { 16, 1.0, FIELD_PART_INT, &hf_048_120_02_DOP, NULL };
-static const FieldPart I048_120_02_AMB = { 16, 1.0, FIELD_PART_UINT, &hf_048_120_02_AMB, NULL };
-static const FieldPart I048_120_02_FRQ = { 16, 1.0, FIELD_PART_UINT, &hf_048_120_02_FRQ, NULL };
-static const FieldPart *I048_120_02_PARTS[] = { &I048_120_02_DOP, &I048_120_02_AMB, &I048_120_02_FRQ, NULL };
-
-/* Radar Plot Characteristics */
-static const FieldPart I048_130_SRL_VAL = { 8, 360.0/8192.0, FIELD_PART_UFLOAT, &hf_048_130_01_SRL, NULL };
-static const FieldPart *I048_130_SRL[] = { &I048_130_SRL_VAL, NULL };
-static const FieldPart I048_130_SRR_VAL = { 8, 1.0, FIELD_PART_UINT, &hf_048_130_02_SRR, NULL };
-static const FieldPart *I048_130_SRR[] = { &I048_130_SRR_VAL, NULL };
-static const FieldPart I048_130_SAM_VAL = { 8, 1.0, FIELD_PART_INT, &hf_048_130_03_SAM, NULL };
-static const FieldPart *I048_130_SAM[] = { &I048_130_SAM_VAL, NULL };
-static const FieldPart I048_130_PRL_VAL = { 8, 360.0/8192.0, FIELD_PART_UFLOAT, &hf_048_130_04_PRL, NULL };
-static const FieldPart *I048_130_PRL[] = { &I048_130_PRL_VAL, NULL };
-static const FieldPart I048_130_PAM_VAL = { 8, 1.0, FIELD_PART_INT, &hf_048_130_05_PAM, NULL };
-static const FieldPart *I048_130_PAM[] = { &I048_130_PAM_VAL, NULL };
-static const FieldPart I048_130_RPD_VAL = { 8, 1.0/256.0, FIELD_PART_FLOAT, &hf_048_130_06_RPD, NULL };
-static const FieldPart *I048_130_RPD[] = { &I048_130_RPD_VAL, NULL };
-static const FieldPart I048_130_APD_VAL = { 8, 360.0/16384.0, FIELD_PART_FLOAT, &hf_048_130_07_APD, NULL };
-static const FieldPart *I048_130_APD[] = { &I048_130_APD_VAL, NULL };
-
-/* Track number */
-static const FieldPart I048_161_TN = { 12, 1.0, FIELD_PART_UINT, &hf_048_161_TN, NULL };
-static const FieldPart *I048_161_PARTS[] = { &IXXX_4bit_spare, &I048_161_TN, NULL };
-
-/* Track Status */
+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, "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, "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, "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, "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 value_string valstr_048_170_CDM_v1_21[] = {
- { 0, "Maintaining" } ,
- { 1, "Climbing" } ,
- { 2, "Descending" } ,
- { 3, "Invalid" } ,
+ { 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, "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, "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, "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, "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_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_CNF, NULL };
-static const FieldPart I048_170_RAD = { 2, 1.0, FIELD_PART_UINT, &hf_048_170_RAD, NULL };
-static const FieldPart I048_170_DOU = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_DOU, NULL };
-static const FieldPart I048_170_MAH = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_MAH, NULL };
-static const FieldPart I048_170_CDM = { 2, 1.0, FIELD_PART_UINT, &hf_048_170_CDM, NULL };
-static const FieldPart I048_170_CDM_v1_21 = { 2, 1.0, FIELD_PART_UINT, &hf_048_170_CDM_v1_21, NULL };
-static const FieldPart I048_170_TRE = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_TRE, NULL };
-static const FieldPart I048_170_GHO = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_GHO, NULL };
-static const FieldPart I048_170_SUP = { 1, 1.0, FIELD_PART_UINT, &hf_048_170_SUP, 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 FieldPart *I048_170_PARTS_v1_21[] = { &I048_170_CNF, &I048_170_RAD, &I048_170_DOU, &I048_170_MAH, &I048_170_CDM_v1_21, &IXXX_FX,
- &I048_170_TRE, &I048_170_GHO, &I048_170_SUP, &I048_170_TCC, &IXXX_3bit_spare, &IXXX_FX, NULL };
-
-/* Calculated Track Velocity in Polar Co-ordinates */
-static const FieldPart I048_200_GS = { 16, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_048_200_GS, NULL };
-static const FieldPart I048_200_HDG = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_048_200_HDG, NULL };
-static const FieldPart *I048_200_PARTS[] = { &I048_200_GS, &I048_200_HDG, NULL };
-
-/* Track Quality */
-static const FieldPart I048_210_X = { 8, 1.0/128.0, FIELD_PART_UFLOAT, &hf_048_210_X, NULL };
-static const FieldPart I048_210_Y = { 8, 1.0/128.0, FIELD_PART_UFLOAT, &hf_048_210_Y, NULL };
-static const FieldPart I048_210_V = { 8, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_048_210_V, NULL };
-static const FieldPart I048_210_H = { 8, 360.0/4096.0, FIELD_PART_UFLOAT, &hf_048_210_H, NULL };
-static const FieldPart *I048_210_PARTS[] = { &I048_210_X, &I048_210_Y, &I048_210_V, &I048_210_H, NULL };
-
-/* Communications/ACAS Capability and Flight Status */
+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" },
@@ -9493,6 +41635,8 @@ static const value_string valstr_048_230_COM[] = {
{ 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" },
@@ -9500,594 +41644,8994 @@ static const value_string valstr_048_230_STAT[] = {
{ 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_COM = { 3, 1.0, FIELD_PART_UINT, &hf_048_230_COM, NULL };
-static const FieldPart I048_230_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_048_230_STAT, NULL };
-static const FieldPart I048_230_SI = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_SI, NULL };
-static const FieldPart I048_230_MSSC = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_MSSC, NULL };
-static const FieldPart I048_230_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_ARC, NULL };
static const FieldPart I048_230_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_AIC, NULL };
-static const FieldPart I048_230_B1A = { 1, 1.0, FIELD_PART_UINT, &hf_048_230_B1A, NULL };
-static const FieldPart I048_230_B1B = { 4, 1.0, FIELD_PART_UINT, &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 };
-
-/* ACAS Resolution Advisory Report */
-static const FieldPart I048_260_ACAS = { 56, 1.0, FIELD_PART_HEX, &hf_048_260_ACAS, NULL };
-static const FieldPart *I048_260_PARTS[] = { &I048_260_ACAS, 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 } };
-/* Reserved Expansion Field */
+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
-/* MD5 - Mode 5 Reports */
+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
-/* Mode 5 Summary */
-static const value_string valstr_048_RE_MD5_01_M5[] = {
+/* 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 value_string valstr_048_RE_MD5_01_ID[] = {
- { 0, "No authenticated Mode 5 ID reply/report" },
- { 1, "Authenticated Mode 5 ID reply/report" },
+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 value_string valstr_048_RE_MD5_01_DA[] = {
- { 0, "No authenticated Mode 5 Data reply/report" },
- { 1, "Authenticated Mode 5 Data reply/report (i.e any valid Mode 5 reply type other than ID)" },
+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 value_string valstr_048_RE_MD5_01_M1[] = {
- { 0, "Mode 1 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 1 code from Mode 5 reply/report" },
+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 value_string valstr_048_RE_MD5_01_M2[] = {
- { 0, "Mode 2 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 2 code from Mode 5 reply/report." },
+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 value_string valstr_048_RE_MD5_01_M3[] = {
- { 0, "Mode 3 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 3 code from Mode 5 reply/report." },
+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 value_string valstr_048_RE_MD5_01_MC[] = {
- { 0, "Mode C altitude not present or not from Mode 5 reply/report" },
- { 1, "Mode C altitude from Mode 5 reply/report" },
+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 I048_RE_MD5_01_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_01_M5, NULL };
-static const FieldPart I048_RE_MD5_01_ID = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_01_ID, NULL };
-static const FieldPart I048_RE_MD5_01_DA = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_01_DA, NULL };
-static const FieldPart I048_RE_MD5_01_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_01_M1, NULL };
-static const FieldPart I048_RE_MD5_01_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_01_M2, NULL };
-static const FieldPart I048_RE_MD5_01_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_01_M3, NULL };
-static const FieldPart I048_RE_MD5_01_MC = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_01_MC, NULL };
-static const FieldPart *I048_RE_MD5_01_PARTS[] = { &I048_RE_MD5_01_M5,
- &I048_RE_MD5_01_ID,
- &I048_RE_MD5_01_DA,
- &I048_RE_MD5_01_M1,
- &I048_RE_MD5_01_M2,
- &I048_RE_MD5_01_M3,
- &I048_RE_MD5_01_MC,
- NULL };
-
-/* Mode 5 PIN /National Origin/ Mission Code */
-static const value_string valstr_048_RE_MD5_02_NAV[] = {
- { 0, "National Origin is valid" },
- { 1, "National Origin is invalid" },
+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 I048_RE_MD5_02_PIN = { 14, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_02_PIN, NULL };
-static const FieldPart I048_RE_MD5_02_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_02_NAV, NULL };
-static const FieldPart I048_RE_MD5_02_NAT = { 5, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_02_NAT, NULL };
-static const FieldPart I048_RE_MD5_02_MIS = { 6, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_02_MIS, NULL };
-static const FieldPart *I048_RE_MD5_02_PARTS[] = { &IXXX_2bit_spare,
- &I048_RE_MD5_02_PIN,
- &IXXX_2bit_spare,
- &I048_RE_MD5_02_NAV,
- &I048_RE_MD5_02_NAT,
- &IXXX_2bit_spare,
- &I048_RE_MD5_02_MIS,
- NULL };
-
-/* Mode 5 Reported Position */
-static const FieldPart I048_RE_MD5_03_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_048_RE_MD5_03_LAT, NULL };
-static const FieldPart I048_RE_MD5_03_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_048_RE_MD5_03_LON, NULL };
-static const FieldPart *I048_RE_MD5_03_PARTS[] = { &I048_RE_MD5_03_LAT,
- &I048_RE_MD5_03_LON,
- NULL };
-
-/* Mode 5 GNSS-derived Altitude */
-static const value_string valstr_048_RE_MD5_04_RES[] = {
+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 I048_RE_MD5_04_RES = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_04_RES, NULL };
-static const FieldPart I048_RE_MD5_04_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_RE_MD5_04_GA, NULL };
-static const FieldPart *I048_RE_MD5_04_PARTS[] = { &IXXX_1bit_spare,
- &I048_RE_MD5_04_RES,
- &I048_RE_MD5_04_GA,
- NULL };
-
-/* Extended Mode 1 Code in Octal Representation */
-static const value_string valstr_048_RE_MD5_05_V[] = {
- { 0, "Code not validated (see note 2)" },
- { 1, "Code validated (see note 2)" },
+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 value_string valstr_048_RE_MD5_05_G[] = {
+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 value_string valstr_048_RE_MD5_05_L[] = {
- { 0, "Mode-1 code derived from the reply of the transponder" },
- { 1, "Mode-1 code not extracted during the last scan" },
+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 I048_RE_MD5_05_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_05_V, NULL };
-static const FieldPart I048_RE_MD5_05_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_05_G, NULL };
-static const FieldPart I048_RE_MD5_05_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_05_L, NULL };
-static const FieldPart I048_RE_MD5_05_SQUAWK = { 12, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_05_SQUAWK, NULL };
-static const FieldPart *I048_RE_MD5_05_PARTS[] = { &I048_RE_MD5_05_V,
- &I048_RE_MD5_05_G,
- &I048_RE_MD5_05_L,
- &IXXX_1bit_spare,
- &I048_RE_MD5_05_SQUAWK,
- 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 } };
-/* Time Offset for POS and GA */
-static const FieldPart I048_RE_MD5_06_TOS = { 8, 1.0/128.0, FIELD_PART_FLOAT, &hf_048_RE_MD5_06_TOS, NULL };
-static const FieldPart *I048_RE_MD5_06_PARTS[] = { &I048_RE_MD5_06_TOS, 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
-/* X Pulse Presence */
-static const value_string valstr_048_RE_MD5_07_XP[] = {
- { 0, "X-Pulse not present" },
- { 1, "X-pulse present" },
+/* 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 value_string valstr_048_RE_MD5_07_X5[] = {
+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 value_string valstr_048_RE_MD5_07_XC[] = {
+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 value_string valstr_048_RE_MD5_07_X3[] = {
+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 value_string valstr_048_RE_MD5_07_X2[] = {
+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 value_string valstr_048_RE_MD5_07_X1[] = {
+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 I048_RE_MD5_07_XP = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_07_XP, NULL };
-static const FieldPart I048_RE_MD5_07_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_07_X5, NULL };
-static const FieldPart I048_RE_MD5_07_XC = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_07_XC, NULL };
-static const FieldPart I048_RE_MD5_07_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_07_X3, NULL };
-static const FieldPart I048_RE_MD5_07_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_07_X2, NULL };
-static const FieldPart I048_RE_MD5_07_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_MD5_07_X1, NULL };
-static const FieldPart *I048_RE_MD5_07_PARTS[] = { &IXXX_2bit_spare,
- &I048_RE_MD5_07_XP,
- &I048_RE_MD5_07_X5,
- &I048_RE_MD5_07_XC,
- &I048_RE_MD5_07_X3,
- &I048_RE_MD5_07_X2,
- &I048_RE_MD5_07_X1,
- NULL };
-
-/* M5N - Mode 5 Reports, New Format */
-
-/* Mode 5 Summary */
-static const value_string valstr_048_RE_M5N_01_M5[] = {
- { 0, "No Mode 5 interrogation" },
- { 1, "Mode 5 interrogation" },
+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 value_string valstr_048_RE_M5N_01_ID[] = {
- { 0, "No authenticated Mode 5 ID reply/report" },
- { 1, "Authenticated Mode 5 ID reply/report" },
+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 value_string valstr_048_RE_M5N_01_DA[] = {
- { 0, "No authenticated Mode 5 Data reply/report" },
- { 1, "Authenticated Mode 5 Data reply/report (i.e any valid Mode 5 reply type other than ID)" },
+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 value_string valstr_048_RE_M5N_01_M1[] = {
- { 0, "Mode 1 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 1 code from Mode 5 reply/report" },
+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 value_string valstr_048_RE_M5N_01_M2[] = {
- { 0, "Mode 2 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 2 code from Mode 5 reply/report." },
+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 value_string valstr_048_RE_M5N_01_M3[] = {
- { 0, "Mode 3 code not present or not from Mode 5 reply/report" },
- { 1, "Mode 3 code from Mode 5 reply/report." },
+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 value_string valstr_048_RE_M5N_01_MC[] = {
- { 0, "Mode C altitude not present or not from Mode 5 reply/report" },
- { 1, "Mode C altitude from Mode 5 reply/report" },
+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 I048_RE_M5N_01_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_01_M5, NULL };
-static const FieldPart I048_RE_M5N_01_ID = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_01_ID, NULL };
-static const FieldPart I048_RE_M5N_01_DA = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_01_DA, NULL };
-static const FieldPart I048_RE_M5N_01_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_01_M1, NULL };
-static const FieldPart I048_RE_M5N_01_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_01_M2, NULL };
-static const FieldPart I048_RE_M5N_01_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_01_M3, NULL };
-static const FieldPart I048_RE_M5N_01_MC = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_01_MC, NULL };
-static const FieldPart *I048_RE_M5N_01_PARTS[] = { &I048_RE_M5N_01_M5,
- &I048_RE_M5N_01_ID,
- &I048_RE_M5N_01_DA,
- &I048_RE_M5N_01_M1,
- &I048_RE_M5N_01_M2,
- &I048_RE_M5N_01_M3,
- &I048_RE_M5N_01_MC,
- NULL };
-
-/* Mode 5 PIN /National Origin/ Mission Code */
-static const value_string valstr_048_RE_M5N_02_NOV[] = {
- { 0, "National Origin is valid" },
- { 1, "National Origin is invalid" },
+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 I048_RE_M5N_02_PIN = { 14, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_02_PIN, NULL };
-static const FieldPart I048_RE_M5N_02_NOV = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_02_NOV, NULL };
-static const FieldPart I048_RE_M5N_02_NO = { 11, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_02_NO, NULL };
-static const FieldPart *I048_RE_M5N_02_PARTS[] = { &IXXX_2bit_spare,
- &I048_RE_M5N_02_PIN,
- &IXXX_4bit_spare,
- &I048_RE_M5N_02_NOV,
- &I048_RE_M5N_02_NO,
- 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 } };
-/* Mode 5 Reported Position */
-static const FieldPart I048_RE_M5N_03_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_048_RE_M5N_03_LAT, NULL };
-static const FieldPart I048_RE_M5N_03_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_048_RE_M5N_03_LON, NULL };
-static const FieldPart *I048_RE_M5N_03_PARTS[] = { &I048_RE_M5N_03_LAT,
- &I048_RE_M5N_03_LON,
- 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
-/* Mode 5 GNSS-derived Altitude */
-static const value_string valstr_048_RE_M5N_04_RES[] = {
+/* 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 I048_RE_M5N_04_RES = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_04_RES, NULL };
-static const FieldPart I048_RE_M5N_04_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_048_RE_M5N_04_GA, NULL };
-static const FieldPart *I048_RE_M5N_04_PARTS[] = { &IXXX_1bit_spare,
- &I048_RE_M5N_04_RES,
- &I048_RE_M5N_04_GA,
- NULL };
-
-/* Extended Mode 1 Code in Octal Representation */
-static const value_string valstr_048_RE_M5N_05_V[] = {
- { 0, "Code not validated (see note 2)" },
- { 1, "Code validated (see note 2)" },
+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 value_string valstr_048_RE_M5N_05_G[] = {
+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 value_string valstr_048_RE_M5N_05_L[] = {
- { 0, "Mode-1 code derived from the reply of the transponder" },
- { 1, "Mode-1 code not extracted during the last scan" },
+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 I048_RE_M5N_05_V = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_05_V, NULL };
-static const FieldPart I048_RE_M5N_05_G = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_05_G, NULL };
-static const FieldPart I048_RE_M5N_05_L = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_05_L, NULL };
-static const FieldPart I048_RE_M5N_05_SQUAWK = { 12, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_05_SQUAWK, NULL };
-static const FieldPart *I048_RE_M5N_05_PARTS[] = { &I048_RE_M5N_05_V,
- &I048_RE_M5N_05_G,
- &I048_RE_M5N_05_L,
- &IXXX_1bit_spare,
- &I048_RE_M5N_05_SQUAWK,
- 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 } };
-/* Time Offset for POS and GA */
-static const FieldPart I048_RE_M5N_06_TOS = { 8, 1.0/128.0, FIELD_PART_FLOAT, &hf_048_RE_M5N_06_TOS, NULL };
-static const FieldPart *I048_RE_M5N_06_PARTS[] = { &I048_RE_M5N_06_TOS, 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
-/* X Pulse Presence */
-static const value_string valstr_048_RE_M5N_07_XP[] = {
- { 0, "X-Pulse not present" },
- { 1, "X-pulse present" },
+/* 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 value_string valstr_048_RE_M5N_07_X5[] = {
+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 value_string valstr_048_RE_M5N_07_XC[] = {
+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 value_string valstr_048_RE_M5N_07_X3[] = {
+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 value_string valstr_048_RE_M5N_07_X2[] = {
+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 value_string valstr_048_RE_M5N_07_X1[] = {
+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 I048_RE_M5N_07_XP = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_07_XP, NULL };
-static const FieldPart I048_RE_M5N_07_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_07_X5, NULL };
-static const FieldPart I048_RE_M5N_07_XC = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_07_XC, NULL };
-static const FieldPart I048_RE_M5N_07_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_07_X3, NULL };
-static const FieldPart I048_RE_M5N_07_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_07_X2, NULL };
-static const FieldPart I048_RE_M5N_07_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_07_X1, NULL };
-static const FieldPart *I048_RE_M5N_07_PARTS[] = { &IXXX_2bit_spare,
- &I048_RE_M5N_07_XP,
- &I048_RE_M5N_07_X5,
- &I048_RE_M5N_07_XC,
- &I048_RE_M5N_07_X3,
- &I048_RE_M5N_07_X2,
- &I048_RE_M5N_07_X1,
- NULL };
-
-/* Figure of Merit */
-static const FieldPart I048_RE_M5N_08_FOM = { 5, 1.0, FIELD_PART_UINT, &hf_048_RE_M5N_08_FOM, NULL };
-static const FieldPart *I048_RE_M5N_08_PARTS[] = { &IXXX_3bit_spare,
- &I048_RE_M5N_08_FOM,
- NULL };
-
-/* M4E - Extended Mode 4 Report */
-static const value_string valstr_048_RE_M4E_FOE_FRI[] = {
- { 0, "No Mode 4 identification" },
- { 1, "Possibly friendly target" },
- { 2, "Probably friendly target" },
- { 3, "Friendly target" },
- { 0, NULL }
-};
-static const FieldPart I048_RE_M4E_FOE_FRI = { 2, 1.0, FIELD_PART_UINT, &hf_048_RE_M4E_FOE_FRI, NULL };
-static const FieldPart *I048_RE_M4E_PARTS[] = { &IXXX_5bit_spare,
- &I048_RE_M4E_FOE_FRI,
- &IXXX_FX,
- NULL };
-
-/* Radar Plot Characteristics */
-
-/* Score */
-static const FieldPart I048_RE_RPC_01_SCO = { 8, 1.0, FIELD_PART_UINT, &hf_048_RE_RPC_01_SCO, NULL };
-static const FieldPart *I048_RE_RPC_01_PARTS[] = { &I048_RE_RPC_01_SCO, NULL };
-
-/* Signal / Clutter Ratio */
-static const FieldPart I048_RE_RPC_02_SCR = { 16, 0.1, FIELD_PART_UFLOAT, &hf_048_RE_RPC_02_SCR, NULL };
-static const FieldPart *I048_RE_RPC_02_PARTS[] = { &I048_RE_RPC_02_SCR, NULL };
-
-/* Range Width */
-static const FieldPart I048_RE_RPC_03_RW = { 16, 1.0/256.0, FIELD_PART_UFLOAT, &hf_048_RE_RPC_03_RW, NULL };
-static const FieldPart *I048_RE_RPC_03_PARTS[] = { &I048_RE_RPC_03_RW, NULL };
-
-/* Ambiguous Range */
-static const FieldPart I048_RE_RPC_04_AR = { 16, 1.0/256.0, FIELD_PART_UFLOAT, &hf_048_RE_RPC_04_AR, NULL };
-static const FieldPart *I048_RE_RPC_04_PARTS[] = { &I048_RE_RPC_04_AR, NULL };
-
-/* Extended Range Report */
-static const FieldPart I048_RE_ERR_RHO = { 24, 1.0/256.0, FIELD_PART_UFLOAT, &hf_048_RE_ERR_RHO, NULL };
-static const FieldPart *I048_RE_ERR_PARTS[] = { &I048_RE_ERR_RHO, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I048_010 = { FIXED, 2, 0, 0, &hf_048_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I048_020 = { FX, 1, 0, 0, &hf_048_020, I048_020_PARTS, { NULL } };
-static const AsterixField I048_020_v1_21 = { FX, 1, 0, 0, &hf_048_020, I048_020_PARTS_v1_21, { NULL } };
-static const AsterixField I048_020_v1_17 = { FX, 1, 0, 0, &hf_048_020, I048_020_PARTS_v1_17, { NULL } };
-static const AsterixField I048_030 = { FX, 1, 0, 0, &hf_048_030, I048_030_PARTS, { NULL } };
-static const AsterixField I048_040 = { FIXED, 4, 0, 0, &hf_048_040, I048_040_PARTS, { NULL } };
-static const AsterixField I048_042 = { FIXED, 4, 0, 0, &hf_048_042, I048_042_PARTS, { NULL } };
-static const AsterixField I048_050 = { FIXED, 2, 0, 0, &hf_048_050, I048_050_PARTS, { NULL } };
-static const AsterixField I048_055 = { FIXED, 1, 0, 0, &hf_048_055, I048_055_PARTS, { NULL } };
-static const AsterixField I048_060 = { FIXED, 2, 0, 0, &hf_048_060, I048_060_PARTS, { NULL } };
-static const AsterixField I048_065 = { FIXED, 1, 0, 0, &hf_048_065, I048_065_PARTS, { NULL } };
-static const AsterixField I048_070 = { FIXED, 2, 0, 0, &hf_048_070, I048_070_PARTS, { NULL } };
-static const AsterixField I048_080 = { FIXED, 2, 0, 0, &hf_048_080, I048_080_PARTS, { NULL } };
-static const AsterixField I048_090 = { FIXED, 2, 0, 0, &hf_048_090, I048_090_PARTS, { NULL } };
-static const AsterixField I048_100 = { FIXED, 4, 0, 0, &hf_048_100, I048_100_PARTS, { NULL } };
-static const AsterixField I048_110 = { FIXED, 2, 0, 0, &hf_048_110, I048_110_PARTS, { NULL } };
-static const AsterixField I048_120_01 = { FIXED, 2, 0, 0, &hf_048_120_01, I048_120_01_PARTS, { NULL } };
-static const AsterixField I048_120_02 = { REPETITIVE, 6, 1, 0, &hf_048_120_02, I048_120_02_PARTS, { NULL } };
-static const AsterixField I048_120 = { COMPOUND, 0, 0, 0, &hf_048_120, NULL, { &I048_120_01,
- &I048_120_02,
- NULL } };
-static const AsterixField I048_130_01 = { FIXED, 1, 0, 0, &hf_048_130_01, I048_130_SRL, { NULL } };
-static const AsterixField I048_130_02 = { FIXED, 1, 0, 0, &hf_048_130_02, I048_130_SRR, { NULL } };
-static const AsterixField I048_130_03 = { FIXED, 1, 0, 0, &hf_048_130_03, I048_130_SAM, { NULL } };
-static const AsterixField I048_130_04 = { FIXED, 1, 0, 0, &hf_048_130_04, I048_130_PRL, { NULL } };
-static const AsterixField I048_130_05 = { FIXED, 1, 0, 0, &hf_048_130_05, I048_130_PAM, { NULL } };
-static const AsterixField I048_130_06 = { FIXED, 1, 0, 0, &hf_048_130_06, I048_130_RPD, { NULL } };
-static const AsterixField I048_130_07 = { FIXED, 1, 0, 0, &hf_048_130_07, I048_130_APD, { NULL } };
-static const AsterixField I048_130 = { COMPOUND, 0, 0, 0, &hf_048_130, NULL, { &I048_130_01,
- &I048_130_02,
- &I048_130_03,
- &I048_130_04,
- &I048_130_05,
- &I048_130_06,
- &I048_130_07,
- NULL } };
-static const AsterixField I048_140 = { FIXED, 3, 0, 0, &hf_048_140, IXXX_TOD, { NULL } };
-static const AsterixField I048_161 = { FIXED, 2, 0, 0, &hf_048_161, I048_161_PARTS, { NULL } };
-static const AsterixField I048_170 = { FX, 1, 0, 0, &hf_048_170, I048_170_PARTS, { NULL } };
-static const AsterixField I048_170_v1_21 = { FX, 1, 0, 0, &hf_048_170, I048_170_PARTS_v1_21, { NULL } };
-static const AsterixField I048_200 = { FIXED, 4, 0, 0, &hf_048_200, I048_200_PARTS, { NULL } };
-static const AsterixField I048_210 = { FIXED, 4, 0, 0, &hf_048_210, I048_210_PARTS, { NULL } };
-static const AsterixField I048_220 = { FIXED, 3, 0, 0, &hf_048_220, IXXX_AA_PARTS, { NULL } };
-static const AsterixField I048_230 = { FIXED, 2, 0, 0, &hf_048_230, I048_230_PARTS, { NULL } };
-static const AsterixField I048_240 = { FIXED, 6, 0, 0, &hf_048_240, IXXX_AI_PARTS, { NULL } };
-static const AsterixField I048_250 = { REPETITIVE, 8, 1, 0, &hf_048_250, IXXX_MB, { NULL } };
-static const AsterixField I048_260 = { FIXED, 7, 0, 0, &hf_048_260, I048_260_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5_01 = { FX, 1, 0, 0, &hf_048_RE_MD5_01, I048_RE_MD5_01_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5_02 = { FIXED, 4, 0, 0, &hf_048_RE_MD5_02, I048_RE_MD5_02_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5_03 = { FIXED, 6, 0, 0, &hf_048_RE_MD5_03, I048_RE_MD5_03_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5_04 = { FIXED, 2, 0, 0, &hf_048_RE_MD5_04, I048_RE_MD5_04_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5_05 = { FIXED, 2, 0, 0, &hf_048_RE_MD5_05, I048_RE_MD5_05_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5_06 = { FIXED, 1, 0, 0, &hf_048_RE_MD5_06, I048_RE_MD5_06_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5_07 = { FIXED, 1, 0, 0, &hf_048_RE_MD5_07, I048_RE_MD5_07_PARTS, { NULL } };
-static const AsterixField I048_RE_MD5 = { COMPOUND, 0, 0, 0, &hf_048_RE_MD5, NULL, { &I048_RE_MD5_01,
- &I048_RE_MD5_02,
- &I048_RE_MD5_03,
- &I048_RE_MD5_04,
- &I048_RE_MD5_05,
- &I048_RE_MD5_06,
- &I048_RE_MD5_07,
- NULL } };
-static const AsterixField I048_RE_M5N_01 = { FX, 1, 0, 0, &hf_048_RE_M5N_01, I048_RE_M5N_01_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N_02 = { FIXED, 4, 0, 0, &hf_048_RE_M5N_02, I048_RE_M5N_02_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N_03 = { FIXED, 6, 0, 0, &hf_048_RE_M5N_03, I048_RE_M5N_03_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N_04 = { FIXED, 2, 0, 0, &hf_048_RE_M5N_04, I048_RE_M5N_04_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N_05 = { FIXED, 2, 0, 0, &hf_048_RE_M5N_05, I048_RE_M5N_05_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N_06 = { FIXED, 1, 0, 0, &hf_048_RE_M5N_06, I048_RE_M5N_06_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N_07 = { FIXED, 1, 0, 0, &hf_048_RE_M5N_07, I048_RE_M5N_07_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N_08 = { FIXED, 1, 0, 0, &hf_048_RE_M5N_08, I048_RE_M5N_08_PARTS, { NULL } };
-static const AsterixField I048_RE_M5N = { COMPOUND, 0, 0, 0, &hf_048_RE_M5N, NULL, { &I048_RE_M5N_01,
- &I048_RE_M5N_02,
- &I048_RE_M5N_03,
- &I048_RE_M5N_04,
- &I048_RE_M5N_05,
- &I048_RE_M5N_06,
- &I048_RE_M5N_07,
- &I048_RE_M5N_08,
- NULL } };
-static const AsterixField I048_RE_M4E = { FX, 1, 0, 0, &hf_048_RE_M4E, I048_RE_M4E_PARTS, { NULL } };
-static const AsterixField I048_RE_RPC_01 = { FIXED, 1, 0, 0, &hf_048_RE_RPC_01, I048_RE_RPC_01_PARTS, { NULL } };
-static const AsterixField I048_RE_RPC_02 = { FIXED, 2, 0, 0, &hf_048_RE_RPC_02, I048_RE_RPC_02_PARTS, { NULL } };
-static const AsterixField I048_RE_RPC_03 = { FIXED, 2, 0, 0, &hf_048_RE_RPC_03, I048_RE_RPC_03_PARTS, { NULL } };
-static const AsterixField I048_RE_RPC_04 = { FIXED, 2, 0, 0, &hf_048_RE_RPC_04, I048_RE_RPC_04_PARTS, { NULL } };
-static const AsterixField I048_RE_RPC = { COMPOUND, 0, 0, 0, &hf_048_RE_RPC, NULL, { &I048_RE_RPC_01,
- &I048_RE_RPC_02,
- &I048_RE_RPC_03,
- &I048_RE_RPC_04,
- NULL } };
-static const AsterixField I048_RE_ERR = { FIXED, 3, 0, 0, &hf_048_RE_ERR, I048_RE_ERR_PARTS, { NULL } };
-static const AsterixField I048_RE = { RE, 0, 0, 1, &hf_048_RE, NULL, { &I048_RE_MD5, &I048_RE_M5N, &I048_RE_M4E, &I048_RE_RPC, &I048_RE_ERR, NULL } };
-static const AsterixField I048_SP = { SP, 0, 0, 1, &hf_048_SP, NULL, { NULL } };
-
-static const AsterixField *I048_v1_23_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_v1_21_uap[] = { &I048_010, &I048_140, &I048_020_v1_21, &I048_040, &I048_070, &I048_090, &I048_130,
- &I048_220, &I048_240, &I048_250, &I048_161, &I048_042, &I048_200, &I048_170_v1_21,
- &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_v1_17_uap[] = { &I048_010, &I048_140, &I048_020_v1_17, &I048_040, &I048_070, &I048_090, &I048_130,
- &I048_220, &I048_240, &I048_250, &I048_161, &I048_042, &I048_200, &I048_170_v1_21,
- &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_v1_23[] = { I048_v1_23_uap, NULL };
-static const AsterixField **I048_v1_21[] = { I048_v1_21_uap, NULL };
-static const AsterixField **I048_v1_17[] = { I048_v1_17_uap, NULL };
-static const AsterixField ***I048[] = { I048_v1_23, I048_v1_21, I048_v1_17 };
-DIAG_ON_PEDANTIC
-
-static const enum_val_t I048_versions[] = {
- { "I048_v1_23", "Version 1.23", 0 },
- { "I048_v1_21", "Version 1.21", 1 },
- { "I048_v1_17", "Version 1.17", 2 },
- { NULL, NULL, 0 }
+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 }
};
-
-/* *********************** */
-/* Category 062 */
-/* *********************** */
-/* Fields */
-
-/* Service Identification */
-static const FieldPart I062_015_SI = { 8, 1.0, FIELD_PART_UINT, &hf_062_015_SI, NULL };
-static const FieldPart *I062_015_PARTS[] = { &I062_015_SI, NULL };
-
-/* Track Mode 3/A Code */
+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_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_060_V, NULL };
-static const FieldPart I062_060_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_060_G, NULL };
static const FieldPart I062_060_CH = { 1, 1.0, FIELD_PART_UINT, &hf_062_060_CH, NULL };
-static const FieldPart I062_060_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_060_SQUAWK, NULL };
-static const FieldPart *I062_060_PARTS[] = { &I062_060_V, &I062_060_G, &I062_060_CH, &IXXX_1bit_spare, &I062_060_SQUAWK, NULL };
-static const FieldPart *I062_060_PARTS_v1_16[] = { &IXXX_2bit_spare, &I062_060_CH, &IXXX_1bit_spare, &I062_060_SQUAWK, NULL };
-static const FieldPart *I062_060_PARTS_v0_17[] = { &IXXX_4bit_spare, &I062_060_SQUAWK, NULL };
-
-/* Track Status */
+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" },
- { 1, "Monosensor track track" },
+ { 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" },
@@ -10099,51 +50643,71 @@ static const value_string valstr_062_080_SRC[] = {
{ 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" },
@@ -10151,16 +50715,22 @@ static const value_string valstr_062_080_MD4[] = {
{ 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" },
@@ -10168,41 +50738,57 @@ static const value_string valstr_062_080_MD5[] = {
{ 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" },
@@ -10210,6 +50796,8 @@ static const value_string valstr_062_080_SDS[] = {
{ 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" },
@@ -10217,293 +50805,392 @@ static const value_string valstr_062_080_EMS[] = {
{ 3, "Minimum fuel" },
{ 4, "No communications" },
{ 5, "Unlawful interference" },
- { 6, "\"Downed\" Aircraft" },
+ { 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, "Default value" },
+ { 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 value_string valstr_062_080_FRIFOE[] = {
- { 0, "No Mode 4 interrogation" },
- { 1, "Friendly target" },
- { 2, "Unknown target" },
- { 3, "No reply" },
- { 0, NULL }
-};
-static const value_string valstr_062_080_COA[] = {
+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 track update is higher than system dependent threshold (coasting)" },
- { 0, NULL }
+ { 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 FieldPart I062_080_MON = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MON, NULL };
-static const FieldPart I062_080_SPI = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SPI, NULL };
-static const FieldPart I062_080_MRH = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MRH, NULL };
-static const FieldPart I062_080_SRC = { 3, 1.0, FIELD_PART_UINT, &hf_062_080_SRC, NULL };
-static const FieldPart I062_080_CNF = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_CNF, NULL };
-static const FieldPart I062_080_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SIM, NULL };
-static const FieldPart I062_080_TSE = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_TSE, NULL };
-static const FieldPart I062_080_TSB = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_TSB, NULL };
-static const FieldPart I062_080_FPC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_FPC, NULL };
-static const FieldPart I062_080_AFF = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_AFF, NULL };
-static const FieldPart I062_080_STP = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_STP, NULL };
-static const FieldPart I062_080_KOS = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_KOS, NULL };
-static const FieldPart I062_080_AMA = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_AMA, NULL };
-static const FieldPart I062_080_MD4 = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_MD4, NULL };
-static const FieldPart I062_080_ME = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_ME, NULL };
-static const FieldPart I062_080_MI = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MI, NULL };
-static const FieldPart I062_080_MD5 = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_MD5, NULL };
-static const FieldPart I062_080_CST = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_CST, NULL };
-static const FieldPart I062_080_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_PSR, NULL };
-static const FieldPart I062_080_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SSR, NULL };
-static const FieldPart I062_080_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_MDS, NULL };
-static const FieldPart I062_080_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_ADS, NULL };
-static const FieldPart I062_080_SUC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SUC, NULL };
-static const FieldPart I062_080_AAC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_AAC, NULL };
-static const FieldPart I062_080_SDS = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_SDS, NULL };
-static const FieldPart I062_080_EMS = { 3, 1.0, FIELD_PART_UINT, &hf_062_080_EMS, NULL };
-static const FieldPart I062_080_PFT = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_PFT, NULL };
-static const FieldPart I062_080_FPLT = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_FPLT, NULL };
-static const FieldPart I062_080_DUPT = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_DUPT, NULL };
-static const FieldPart I062_080_DUPF = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_DUPF, NULL };
-static const FieldPart I062_080_DUPM = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_DUPM, NULL };
-static const FieldPart I062_080_SFC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_SFC, NULL };
-static const FieldPart I062_080_IDD = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_IDD, NULL };
-static const FieldPart I062_080_IEC = { 1, 1.0, FIELD_PART_UINT, &hf_062_080_IEC, NULL };
-static const FieldPart I062_080_FRIFOE = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_FRIFOE, NULL };
-static const FieldPart I062_080_COA = { 2, 1.0, FIELD_PART_UINT, &hf_062_080_COA, 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, &IXXX_1bit_spare, &IXXX_FX, NULL };
-static const FieldPart *I062_080_PARTS_v1_17[] = { &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, &IXXX_4bit_spare, &IXXX_FX, NULL };
-static const FieldPart *I062_080_PARTS_v0_17[] = { &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, &IXXX_3bit_spare, &IXXX_FX,
- &I062_080_AMA, &I062_080_FRIFOE, &I062_080_ME, &I062_080_MI, &IXXX_2bit_spare, &IXXX_FX,
- &I062_080_COA, &I062_080_PSR, &I062_080_SSR, &I062_080_MDS, &I062_080_ADS, &I062_080_SUC, &I062_080_AAC, &IXXX_FX, NULL };
-
-/* Calculated Track Position. (Cartesian) */
+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_X_v0_17 = { 16, 1.0/64.0, FIELD_PART_FLOAT, &hf_062_100_X_v0_17, NULL };
-static const FieldPart I062_100_Y_v0_17 = { 16, 1.0/64.0, FIELD_PART_FLOAT, &hf_062_100_Y_v0_17, NULL };
-static const FieldPart *I062_100_PARTS[] = { &I062_100_X, &I062_100_Y, NULL };
-static const FieldPart *I062_100_PARTS_v0_17[] = { &I062_100_X_v0_17, &I062_100_Y_v0_17, NULL };
-
-/* Calculated Position in WGS-84 Co-ordinates */
-static const FieldPart I062_105_LAT = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_062_105_LAT, NULL };
-static const FieldPart I062_105_LON = { 32, 180.0/33554432.0, FIELD_PART_FLOAT, &hf_062_105_LON, NULL };
-static const FieldPart I062_105_LAT_v0_17 = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_105_LAT, NULL };
-static const FieldPart I062_105_LON_v0_17 = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_105_LON, NULL };
-static const FieldPart *I062_105_PARTS[] = { &I062_105_LAT, &I062_105_LON, NULL };
-static const FieldPart *I062_105_PARTS_v0_17[] = { &I062_105_LAT_v0_17, &I062_105_LON_v0_17, NULL };
-
-/* Mode 5 Data reports & Extended Mode 1 Code */
-static const value_string valstr_062_110_01_M5[] = {
+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 value_string valstr_062_110_01_ID[] = {
+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 value_string valstr_062_110_01_DA[] = {
+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 (ie any valid Mode 5 reply type other than ID)" },
+ { 1, "Authenticated Mode 5 Data reply or Report (i.e any valid Mode 5 reply type other than ID)" },
{ 0, NULL }
};
-static const value_string valstr_062_110_01_M1[] = {
+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 value_string valstr_062_110_01_M2[] = {
+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 value_string valstr_062_110_01_M3[] = {
+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 value_string valstr_062_110_01_MC[] = {
- { 0, "Mode C altitude not present or not from Mode 5 reply" },
+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 value_string valstr_062_110_01_X[] = {
+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_01_M5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_M5, NULL };
-static const FieldPart I062_110_01_ID = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_ID, NULL };
-static const FieldPart I062_110_01_DA = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_DA, NULL };
-static const FieldPart I062_110_01_M1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_M1, NULL };
-static const FieldPart I062_110_01_M2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_M2, NULL };
-static const FieldPart I062_110_01_M3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_M3, NULL };
-static const FieldPart I062_110_01_MC = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_MC, NULL };
-static const FieldPart I062_110_01_X = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_01_X, NULL };
-static const FieldPart *I062_110_01_PARTS[] = { &I062_110_01_M5, &I062_110_01_ID, &I062_110_01_DA, &I062_110_01_M1, &I062_110_01_M2, &I062_110_01_M3, &I062_110_01_MC, &I062_110_01_X, NULL };
-
-static const FieldPart I062_110_02_PIN = { 14, 1.0, FIELD_PART_UINT, &hf_062_110_02_PIN, NULL };
-static const FieldPart I062_110_02_NAT = { 5, 1.0, FIELD_PART_UINT, &hf_062_110_02_NAT, NULL };
-static const FieldPart I062_110_02_MIS = { 6, 1.0, FIELD_PART_UINT, &hf_062_110_02_MIS, NULL };
-static const FieldPart *I062_110_02_PARTS[] = { &IXXX_2bit_spare, &I062_110_02_PIN, &IXXX_3bit_spare, &I062_110_02_NAT, &IXXX_2bit_spare, &I062_110_02_MIS, NULL };
-
-static const FieldPart I062_110_03_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_110_03_LAT, NULL };
-static const FieldPart I062_110_03_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_110_03_LON, NULL };
-static const FieldPart *I062_110_03_PARTS[] = { &I062_110_03_LAT, &I062_110_03_LON, NULL };
-
-static const value_string valstr_062_110_04_RES[] = {
+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_04_RES = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_04_RES, NULL };
-static const FieldPart I062_110_04_GA = { 14, 25.0, FIELD_PART_FLOAT, &hf_062_110_04_GA, NULL };
-static const FieldPart *I062_110_04_PARTS[] = { &IXXX_1bit_spare, &I062_110_04_RES, &I062_110_04_GA, NULL };
-
-static const FieldPart I062_110_05_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_110_05_SQUAWK, NULL };
-static const FieldPart *I062_110_05_PARTS[] = { &IXXX_4bit_spare, &I062_110_05_SQUAWK, NULL };
-
-static const FieldPart I062_110_06_TOS = { 8, 1.0/128, FIELD_PART_FLOAT, &hf_062_110_06_TOS, NULL };
-static const FieldPart *I062_110_06_PARTS[] = { &I062_110_06_TOS, NULL };
-
-static const value_string valstr_062_110_07_X5[] = {
+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 value_string valstr_062_110_07_XC[] = {
+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 value_string valstr_062_110_07_X3[] = {
+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 value_string valstr_062_110_07_X2[] = {
+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 value_string valstr_062_110_07_X1[] = {
+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_07_X5 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_07_X5, NULL };
-static const FieldPart I062_110_07_XC = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_07_XC, NULL };
-static const FieldPart I062_110_07_X3 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_07_X3, NULL };
-static const FieldPart I062_110_07_X2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_07_X2, NULL };
-static const FieldPart I062_110_07_X1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_07_X1, NULL };
-static const FieldPart *I062_110_07_PARTS[] = { &IXXX_3bit_spare, &I062_110_07_X5, &I062_110_07_XC, &I062_110_07_X3, &I062_110_07_X2, &I062_110_07_X1, NULL };
-/* v0.17 */
-static const FieldPart I062_110_A4 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_A4, NULL };
-static const FieldPart I062_110_A2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_A2, NULL };
-static const FieldPart I062_110_A1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_A1, NULL };
-static const FieldPart I062_110_B2 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_B2, NULL };
-static const FieldPart I062_110_B1 = { 1, 1.0, FIELD_PART_UINT, &hf_062_110_B1, NULL };
-static const FieldPart *I062_110_PARTS_v0_17[] = { &IXXX_3bit_spare, &I062_110_A4, &I062_110_A2, &I062_110_A1, &I062_110_B2, &I062_110_B1, NULL };
-
-/* Track Mode 2 Code */
-static const FieldPart I062_120_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_120_SQUAWK, NULL };
-static const FieldPart *I062_120_PARTS[] = { &IXXX_4bit_spare, &I062_120_SQUAWK, NULL };
-
-/* Calculated Track Geometric Altitude */
-static const FieldPart I062_130_ALT = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_130_ALT, NULL };
-static const FieldPart *I062_130_PARTS[] = { &I062_130_ALT, NULL };
-
-/* Calculated Track Barometric Altitude */
+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 const FieldPart I062_135_ALT = { 15, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_135_ALT, NULL };
-static const FieldPart *I062_135_PARTS[] = { &I062_135_QNH, &I062_135_ALT, NULL };
-
-/* Measured Flight Level */
-static const FieldPart I062_136_MFL = { 16, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_136_MFL, NULL };
-static const FieldPart *I062_136_PARTS[] = { &I062_136_MFL, NULL };
-
-/* Calculated Track Velocity (Polar) */
-static const FieldPart I062_180_SPEED = { 16, 1.0/16384.0, FIELD_PART_FLOAT, &hf_062_180_SPEED, NULL };
-static const FieldPart I062_180_HEADING = { 16, 360.0/65536.0, FIELD_PART_FLOAT, &hf_062_180_HEADING, NULL };
-static const FieldPart *I062_180_PARTS[] = { &I062_180_SPEED, &I062_180_HEADING, NULL };
-
-/* Calculated Track Velocity (Cartesian) */
-static const FieldPart I062_185_VX = { 16, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_185_VX, NULL };
-static const FieldPart I062_185_VY = { 16, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_185_VY, NULL };
-static const FieldPart *I062_185_PARTS[] = { &I062_185_VX, &I062_185_VY, NULL };
-
-/* Mode of Movement */
+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" },
+ { 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" },
+ { 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" },
@@ -10511,34 +51198,44 @@ static const value_string valstr_062_200_VERT[] = {
{ 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_TRANS = { 2, 1.0, FIELD_PART_UINT, &hf_062_200_TRANS, NULL };
-static const FieldPart I062_200_LONG = { 2, 1.0, FIELD_PART_UINT, &hf_062_200_LONG, NULL };
-static const FieldPart I062_200_VERT = { 2, 1.0, FIELD_PART_UINT, &hf_062_200_VERT, 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, NULL };
-static const FieldPart *I062_200_PARTS_v0_17[] = { &I062_200_TRANS, &I062_200_LONG, &I062_200_VERT, NULL };
-
-/* Calculated Acceleration (Cartesian) */
-static const FieldPart I062_210_AX = { 8, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_210_AX, NULL };
-static const FieldPart I062_210_AY = { 8, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_210_AY, NULL };
-static const FieldPart I062_210_CLA = { 16, 1.0/4194304.0, FIELD_PART_FLOAT, &hf_062_210_CLA, NULL };
-static const FieldPart *I062_210_PARTS[] = { &I062_210_AX, &I062_210_AY, NULL };
-static const FieldPart *I062_210_PARTS_v0_17[] = { &I062_210_CLA, NULL };
-
-/* Calculated Rate Of Climb/Descent */
-static const FieldPart I062_220_ROCD = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_220_ROCD, NULL };
-static const FieldPart *I062_220_PARTS[] = { &I062_220_ROCD, NULL };
-
-/* Calculated Rate of Turn */
-static const FieldPart I062_240_ROT = { 8, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_240_ROT, NULL };
-static const FieldPart *I062_240_PARTS[] = { &I062_240_ROT, NULL };
-
-/* Target Identification */
+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" },
@@ -10547,133 +51244,377 @@ static const value_string valstr_062_245_STI[] = {
{ 0, NULL }
};
static const FieldPart I062_245_STI = { 2, 1.0, FIELD_PART_UINT, &hf_062_245_STI, NULL };
-static const FieldPart *I062_245_PARTS[] = { &I062_245_STI, &IXXX_6bit_spare, &IXXX_AI, NULL };
-
-/* Target Size & Orientation */
+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 const FieldPart I062_270_ORIENTATION = { 7, 360.0/128.0, FIELD_PART_UFLOAT, &hf_062_270_ORIENTATION, 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 };
-
-/* System Track Update Ages */
-static const FieldPart I062_290_01_TRK = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_01_TRK, NULL };
-static const FieldPart *I062_290_01_PARTS[] = { &I062_290_01_TRK, NULL };
-static const FieldPart I062_290_02_PSR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_02_PSR, NULL };
-static const FieldPart *I062_290_02_PARTS[] = { &I062_290_02_PSR, NULL };
-static const FieldPart I062_290_03_SSR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_03_SSR, NULL };
-static const FieldPart *I062_290_03_PARTS[] = { &I062_290_03_SSR, NULL };
-static const FieldPart I062_290_04_MDS = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_04_MDS, NULL };
-static const FieldPart *I062_290_04_PARTS[] = { &I062_290_04_MDS, NULL };
-static const FieldPart I062_290_05_ADS = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_290_05_ADS, NULL };
-static const FieldPart *I062_290_05_PARTS[] = { &I062_290_05_ADS, NULL };
-static const FieldPart I062_290_06_ES = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_06_ES, NULL };
-static const FieldPart *I062_290_06_PARTS[] = { &I062_290_06_ES, NULL };
-static const FieldPart I062_290_07_VDL = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_07_VDL, NULL };
-static const FieldPart *I062_290_07_PARTS[] = { &I062_290_07_VDL, NULL };
-static const FieldPart I062_290_08_UAT = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_08_UAT, NULL };
-static const FieldPart *I062_290_08_PARTS[] = { &I062_290_08_UAT, NULL };
-static const FieldPart I062_290_09_LOP = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_09_LOP, NULL };
-static const FieldPart *I062_290_09_PARTS[] = { &I062_290_09_LOP, NULL };
-static const FieldPart I062_290_10_MLT = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_10_MLT, NULL };
-static const FieldPart *I062_290_10_PARTS[] = { &I062_290_10_MLT, NULL };
-/* V0.17 */
-static const FieldPart I062_290_01_PSR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_01_PSR, NULL };
-static const FieldPart *I062_290_01_PARTS_v0_17[] = { &I062_290_01_PSR, NULL };
-static const FieldPart I062_290_02_SSR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_02_SSR, NULL };
-static const FieldPart *I062_290_02_PARTS_v0_17[] = { &I062_290_02_SSR, NULL };
-static const FieldPart I062_290_03_MDA = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_03_MDA, NULL };
-static const FieldPart *I062_290_03_PARTS_v0_17[] = { &I062_290_03_MDA, NULL };
-static const FieldPart I062_290_04_MFL = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_04_MFL, NULL };
-static const FieldPart *I062_290_04_PARTS_v0_17[] = { &I062_290_04_MFL, NULL };
-static const FieldPart I062_290_05_MDS = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_290_05_MDS, NULL };
-static const FieldPart *I062_290_05_PARTS_v0_17[] = { &I062_290_05_MDS, NULL };
-static const FieldPart I062_290_06_ADS = { 16, 0.25, FIELD_PART_UFLOAT, &hf_062_290_06_ADS, NULL };
-static const FieldPart *I062_290_06_PARTS_v0_17[] = { &I062_290_06_ADS, NULL };
-static const FieldPart I062_290_07_ADB = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_07_ADB, NULL };
-static const FieldPart *I062_290_07_PARTS_v0_17[] = { &I062_290_07_ADB, NULL };
-static const FieldPart I062_290_08_MD1 = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_08_MD1, NULL };
-static const FieldPart *I062_290_08_PARTS_v0_17[] = { &I062_290_08_MD1, NULL };
-static const FieldPart I062_290_09_MD2 = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_290_09_MD2, NULL };
-static const FieldPart *I062_290_09_PARTS_v0_17[] = { &I062_290_09_MD2, NULL };
-
-/* Track Data Ages */
-static const FieldPart I062_295_01_MFL = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_01_MFL, NULL };
-static const FieldPart *I062_295_01_PARTS[] = { &I062_295_01_MFL, NULL };
-static const FieldPart I062_295_02_MD1 = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_02_MD1, NULL };
-static const FieldPart *I062_295_02_PARTS[] = { &I062_295_02_MD1, NULL };
-static const FieldPart I062_295_03_MD2 = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_03_MD2, NULL };
-static const FieldPart *I062_295_03_PARTS[] = { &I062_295_03_MD2, NULL };
-static const FieldPart I062_295_04_MDA = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_04_MDA, NULL };
-static const FieldPart *I062_295_04_PARTS[] = { &I062_295_04_MDA, NULL };
-static const FieldPart I062_295_05_MD4 = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_05_MD4, NULL };
-static const FieldPart *I062_295_05_PARTS[] = { &I062_295_05_MD4, NULL };
-static const FieldPart I062_295_06_MD5 = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_06_MD5, NULL };
-static const FieldPart *I062_295_06_PARTS[] = { &I062_295_06_MD5, NULL };
-static const FieldPart I062_295_07_MHG = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_07_MHG, NULL };
-static const FieldPart *I062_295_07_PARTS[] = { &I062_295_07_MHG, NULL };
-static const FieldPart I062_295_08_IAS = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_08_IAS, NULL };
-static const FieldPart *I062_295_08_PARTS[] = { &I062_295_08_IAS, NULL };
-static const FieldPart I062_295_09_TAS = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_09_TAS, NULL };
-static const FieldPart *I062_295_09_PARTS[] = { &I062_295_09_TAS, NULL };
-static const FieldPart I062_295_10_SAL = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_10_SAL, NULL };
-static const FieldPart *I062_295_10_PARTS[] = { &I062_295_10_SAL, NULL };
-static const FieldPart I062_295_11_FSS = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_11_FSS, NULL };
-static const FieldPart *I062_295_11_PARTS[] = { &I062_295_11_FSS, NULL };
-static const FieldPart I062_295_12_TID = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_12_TID, NULL };
-static const FieldPart *I062_295_12_PARTS[] = { &I062_295_12_TID, NULL };
-static const FieldPart I062_295_13_COM = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_13_COM, NULL };
-static const FieldPart *I062_295_13_PARTS[] = { &I062_295_13_COM, NULL };
-static const FieldPart I062_295_14_SAB = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_14_SAB, NULL };
-static const FieldPart *I062_295_14_PARTS[] = { &I062_295_14_SAB, NULL };
-static const FieldPart I062_295_15_ACS = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_15_ACS, NULL };
-static const FieldPart *I062_295_15_PARTS[] = { &I062_295_15_ACS, NULL };
-static const FieldPart I062_295_16_BVR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_16_BVR, NULL };
-static const FieldPart *I062_295_16_PARTS[] = { &I062_295_16_BVR, NULL };
-static const FieldPart I062_295_17_GVR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_17_GVR, NULL };
-static const FieldPart *I062_295_17_PARTS[] = { &I062_295_17_GVR, NULL };
-static const FieldPart I062_295_18_RAN = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_18_RAN, NULL };
-static const FieldPart *I062_295_18_PARTS[] = { &I062_295_18_RAN, NULL };
-static const FieldPart I062_295_19_TAR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_19_TAR, NULL };
-static const FieldPart *I062_295_19_PARTS[] = { &I062_295_19_TAR, NULL };
-static const FieldPart I062_295_20_TAN = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_20_TAN, NULL };
-static const FieldPart *I062_295_20_PARTS[] = { &I062_295_20_TAN, NULL };
-static const FieldPart I062_295_21_GSP = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_21_GSP, NULL };
-static const FieldPart *I062_295_21_PARTS[] = { &I062_295_21_GSP, NULL };
-static const FieldPart I062_295_22_VUN = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_22_VUN, NULL };
-static const FieldPart *I062_295_22_PARTS[] = { &I062_295_22_VUN, NULL };
-static const FieldPart I062_295_23_MET = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_23_MET, NULL };
-static const FieldPart *I062_295_23_PARTS[] = { &I062_295_23_MET, NULL };
-static const FieldPart I062_295_24_EMC = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_24_EMC, NULL };
-static const FieldPart *I062_295_24_PARTS[] = { &I062_295_24_EMC, NULL };
-static const FieldPart I062_295_25_POS = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_25_POS, NULL };
-static const FieldPart *I062_295_25_PARTS[] = { &I062_295_25_POS, NULL };
-static const FieldPart I062_295_26_GAL = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_26_GAL, NULL };
-static const FieldPart *I062_295_26_PARTS[] = { &I062_295_26_GAL, NULL };
-static const FieldPart I062_295_27_PUN = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_27_PUN, NULL };
-static const FieldPart *I062_295_27_PARTS[] = { &I062_295_27_PUN, NULL };
-static const FieldPart I062_295_28_MB = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_28_MB, NULL };
-static const FieldPart *I062_295_28_PARTS[] = { &I062_295_28_MB, NULL };
-static const FieldPart I062_295_29_IAR = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_29_IAR, NULL };
-static const FieldPart *I062_295_29_PARTS[] = { &I062_295_29_IAR, NULL };
-static const FieldPart I062_295_30_MAC = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_30_MAC, NULL };
-static const FieldPart *I062_295_30_PARTS[] = { &I062_295_30_MAC, NULL };
-static const FieldPart I062_295_31_BPS = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_295_31_BPS, NULL };
-static const FieldPart *I062_295_31_PARTS[] = { &I062_295_31_BPS, NULL };
-
-/* Vehicle Fleet Identification */
-static const value_string valstr_062_300_VFI[] = {
- { 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" },
+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" },
@@ -10683,262 +51624,374 @@ static const value_string valstr_062_300_VFI[] = {
{ 16, "Flyco (follow me)" },
{ 0, NULL }
};
-static const FieldPart I062_300_VFI = { 8, 1.0, FIELD_PART_UINT, &hf_062_300_VFI, NULL };
-static const FieldPart *I062_300_PARTS[] = { &I062_300_VFI, NULL };
-
-/* Measured Information */
-/* Measured Position in Polar Co-ordinates */
-static const FieldPart I062_340_02_RHO = { 16, 1.0/256.0, FIELD_PART_UFLOAT, &hf_062_340_02_RHO, NULL };
-static const FieldPart I062_340_02_THETA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_062_340_02_THETA, NULL };
-static const FieldPart *I062_340_02_PARTS[] = { &I062_340_02_RHO, &I062_340_02_THETA, NULL };
-
-static const FieldPart I062_340_03_H = { 16, 25.0, FIELD_PART_FLOAT, &hf_062_340_03_H, NULL };
-static const FieldPart *I062_340_03_PARTS[] = { &I062_340_03_H, NULL };
-
-static const value_string valstr_062_340_04_V[] = {
+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 value_string valstr_062_340_04_G[] = {
+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_04_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_04_V, NULL };
-static const FieldPart I062_340_04_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_04_G, NULL };
-static const FieldPart I062_340_04_FL = { 14, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_340_04_FL, NULL };
-static const FieldPart *I062_340_04_PARTS[] = { &I062_340_04_V, &I062_340_04_G, &I062_340_04_FL, NULL, NULL };
-
-static const value_string valstr_062_340_05_V[] = {
+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 value_string valstr_062_340_05_G[] = {
+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 value_string valstr_062_340_05_L[] = {
- { 0, "MODE 3/A code as derived from the reply of the transponder" },
- { 1, "Smoothed MODE 3/A code as provided by a sensor local tracker" },
- { 0, NULL }
-};
-static const FieldPart I062_340_05_V = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_05_V, NULL };
-static const FieldPart I062_340_05_G = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_05_G, NULL };
-static const FieldPart I062_340_05_L = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_05_L, NULL };
-static const FieldPart I062_340_05_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_340_05_SQUAWK, NULL };
-static const FieldPart *I062_340_05_PARTS[] = { &I062_340_05_V, &I062_340_05_G, &I062_340_05_L, &IXXX_1bit_spare, &I062_340_05_SQUAWK, NULL };
-
-static const value_string valstr_062_340_06_TYP[] = {
+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 All-Call" },
- { 5, "Single Roll-Call" },
+ { 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 value_string valstr_062_340_06_SIM[] = {
+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 value_string valstr_062_340_06_RAB[] = {
+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 (fixed transponder)" },
+ { 1, "Report from field monitor (item transponder)" },
{ 0, NULL }
};
-static const value_string valstr_062_340_06_TST[] = {
+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_06_TYP = { 3, 1.0, FIELD_PART_UINT, &hf_062_340_06_TYP, NULL };
-static const FieldPart I062_340_06_SIM = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_06_SIM, NULL };
-static const FieldPart I062_340_06_RAB = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_06_RAB, NULL };
-static const FieldPart I062_340_06_TST = { 1, 1.0, FIELD_PART_UINT, &hf_062_340_06_TST, NULL };
-static const FieldPart *I062_340_06_PARTS[] = { &I062_340_06_TYP, &I062_340_06_SIM, &I062_340_06_RAB, &I062_340_06_TST, NULL };
-
-/* Aircraft Derived Data */
-/* Magnetic Heading */
-static const FieldPart I062_380_03_MH = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_062_380_03_MH, NULL };
-static const FieldPart *I062_380_03_PARTS[] = { &I062_380_03_MH, NULL };
-
-/* Indicated Airspeed/Mach Number */
-/* The scaling factor of this field depends on IM field */
-static const FieldPart I062_380_04_IM = { 1, 1.0, FIELD_PART_IAS_IM, &hf_062_380_04_IM, NULL };
-static const FieldPart I062_380_04_IAS = { 15, 1.0, FIELD_PART_IAS_ASPD, &hf_062_380_04_IAS, NULL };
-static const FieldPart *I062_380_04_PARTS[] = { &I062_380_04_IM, &I062_380_04_IAS, NULL };
-
-/* v.0.17 */
-/* Communications / ACAS Capability and Flight Status */
-static const value_string valstr_062_380_04_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 value_string valstr_062_380_04_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 value_string valstr_062_380_04_SSC[] = {
- { 0, "No" },
- { 1, "Yes" },
- { 0, NULL }
-};
-static const value_string valstr_062_380_04_ARC[] = {
- { 0, "100 ft resolution" },
- { 1, "25 ft resolution" },
- { 0, NULL }
-};
-static const value_string valstr_062_380_04_AIC[] = {
- { 0, "No" },
- { 1, "Yes" },
- { 0, NULL }
-};
-static const FieldPart I062_380_04_COM = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_04_COM, NULL };
-static const FieldPart I062_380_04_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_04_STAT, NULL };
-static const FieldPart I062_380_04_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_04_SSC, NULL };
-static const FieldPart I062_380_04_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_04_ARC, NULL };
-static const FieldPart I062_380_04_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_04_AIC, NULL };
-static const FieldPart I062_380_04_B1A = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_04_B1A, NULL };
-static const FieldPart I062_380_04_B1B = { 4, 1.0, FIELD_PART_UINT, &hf_062_380_04_B1B, NULL };
-static const FieldPart *I062_380_04_PARTS_v0_17[] = { &I062_380_04_COM, &I062_380_04_STAT, &IXXX_2bit_spare, &I062_380_04_SSC, &I062_380_04_ARC, &I062_380_04_AIC, &I062_380_04_B1A, &I062_380_04_B1B, NULL };
-
-/* True Airspeed */
-static const FieldPart I062_380_05_TAS = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_05_TAS, NULL };
-static const FieldPart *I062_380_05_PARTS[] = { &I062_380_05_TAS, NULL };
-
-/* v.0.17 */
-/* ACAS Resolution Advisory Report */
-static const FieldPart I062_380_05_MB = { 56, 1.0, FIELD_PART_UINT, &hf_062_380_05_MB, NULL };
-static const FieldPart *I062_380_05_PARTS_v0_17[] = { &I062_380_05_MB, NULL };
-
-/* Selected Altitude */
-static const value_string valstr_062_380_06_SAS[] = {
+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" },
+ { 1, "Source information provided" },
{ 0, NULL }
};
-static const value_string valstr_062_380_06_SOURCE[] = {
+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_06_SAS = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_06_SAS, NULL };
-static const FieldPart I062_380_06_SOURCE = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_06_SOURCE, NULL };
-static const FieldPart I062_380_06_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_380_06_ALT, NULL };
-static const FieldPart *I062_380_06_PARTS[] = { &I062_380_06_SAS, &I062_380_06_SOURCE, &I062_380_06_ALT, NULL };
-
-/* Final State Selected Altitude */
-static const value_string valstr_062_380_07[] = {
+ { 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_07_MV = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_07_MV, NULL };
-static const FieldPart I062_380_07_AH = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_07_AH, NULL };
-static const FieldPart I062_380_07_AM = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_07_AM, NULL };
-static const FieldPart I062_380_07_ALT = { 13, 25.0, FIELD_PART_FLOAT, &hf_062_380_07_ALT, NULL };
-static const FieldPart *I062_380_07_PARTS[] = { &I062_380_07_MV, &I062_380_07_AH, &I062_380_07_AM, &I062_380_07_ALT, NULL };
-
-/* Trajectory Intent Status */
-static const value_string valstr_062_380_08_NAV[] = {
- { 0, "Trajectory Intent Data is available for this aircraft" },
- { 1, "Trajectory Intent Data is not available for this aircraft" },
+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 value_string valstr_062_380_08_NVB[] = {
- { 0, "Trajectory Intent Data is valid" },
- { 1, "Trajectory Intent Data is not valid" },
+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_08_NAV = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_08_NAV, NULL };
-static const FieldPart I062_380_08_NVB = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_08_NVB, NULL };
-static const FieldPart *I062_380_08_PARTS[] = { &I062_380_08_NAV, &I062_380_08_NVB, &IXXX_5bit_spare, &IXXX_FX, NULL };
-
-/* Trajectory Intent Data */
-static const value_string valstr_062_380_09_TCA[] = {
+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 value_string valstr_062_380_09_NC[] = {
+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 value_string valstr_062_380_09_PTYP[] = {
- { 0, "Unknown" },
- { 1, "Fly by waypoint " },
- { 2, "Fly over waypoint" },
- { 3, "Hold Pattern" },
- { 4, "Procedure hold" },
- { 5, "Procedure turn" },
- { 6, "RF leg" },
- { 7, "Top of climb" },
- { 8, "Top of descend"},
- { 9, "Start of level" },
- { 10, "Cross-over altitude" },
- { 11, "Transition altitude" },
+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 value_string valstr_062_380_09_TD[] = {
+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 value_string valstr_062_380_09_TRA[] = {
+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 value_string valstr_062_380_09_TOA[] = {
+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_09_TCA = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_09_TCA, NULL };
-static const FieldPart I062_380_09_NC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_09_NC, NULL };
-static const FieldPart I062_380_09_TCP = { 6, 1.0, FIELD_PART_UINT, &hf_062_380_09_TCP, NULL };
-static const FieldPart I062_380_09_ALT = { 16, 10.0, FIELD_PART_FLOAT, &hf_062_380_09_ALT, NULL };
-static const FieldPart I062_380_09_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_380_09_LAT, NULL };
-static const FieldPart I062_380_09_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_380_09_LON, NULL };
-static const FieldPart I062_380_09_PTYP = { 4, 1.0, FIELD_PART_UINT, &hf_062_380_09_PTYP, NULL };
-static const FieldPart I062_380_09_TD = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_09_TD, NULL };
-static const FieldPart I062_380_09_TRA = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_09_TRA, NULL };
-static const FieldPart I062_380_09_TOA = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_09_TOA, NULL };
-static const FieldPart I062_380_09_TOV = { 24, 1.0, FIELD_PART_UFLOAT, &hf_062_380_09_TOV, NULL };
-static const FieldPart I062_380_09_TTR = { 16, 0.01, FIELD_PART_UFLOAT, &hf_062_380_09_TTR, NULL };
-static const FieldPart *I062_380_09_PARTS[] = { &I062_380_09_TCA, &I062_380_09_NC, &I062_380_09_TCP, &I062_380_09_ALT, &I062_380_09_LAT, &I062_380_09_LON,
- &I062_380_09_PTYP, &I062_380_09_TD, &I062_380_09_TRA, &I062_380_09_TOA, &I062_380_09_TOV, &I062_380_09_TTR, NULL };
-
-/* Communications / ACAS Capability and Flight Status */
-static const value_string valstr_062_380_10_COM[] = {
+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 value_string valstr_062_380_10_STAT[] = {
+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" },
@@ -10949,158 +52002,240 @@ static const value_string valstr_062_380_10_STAT[] = {
{ 7, "Unknown or not yet extracted" },
{ 0, NULL }
};
-static const value_string valstr_062_380_10_SSC[] = {
+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 value_string valstr_062_380_10_ARC[] = {
+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 value_string valstr_062_380_10_AIC[] = {
+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_10_COM = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_10_COM, NULL };
-static const FieldPart I062_380_10_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_10_STAT, NULL };
-static const FieldPart I062_380_10_SSC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_10_SSC, NULL };
-static const FieldPart I062_380_10_ARC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_10_ARC, NULL };
-static const FieldPart I062_380_10_AIC = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_10_AIC, NULL };
-static const FieldPart I062_380_10_B1A = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_10_B1A, NULL };
-static const FieldPart I062_380_10_B1B = { 4, 1.0, FIELD_PART_UINT, &hf_062_380_10_B1B, NULL };
-static const FieldPart *I062_380_10_PARTS[] = { &I062_380_10_COM, &I062_380_10_STAT, &IXXX_2bit_spare, &I062_380_10_SSC, &I062_380_10_ARC, &I062_380_10_AIC, &I062_380_10_B1A, &I062_380_10_B1B, NULL };
-
-/* Status reported by ADS-B */
-static const value_string valstr_062_380_11_AC[] = {
+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 value_string valstr_062_380_11_MN[] = {
+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 value_string valstr_062_380_11_DC[] = {
+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 value_string valstr_062_380_11_GBS[] = {
- { 0, "Transponder Ground Bit not set or unknown" },
+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 value_string valstr_062_380_11_STAT[] = {
+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" },
+ { 6, "Downed Aircraft" },
{ 7, "Unknown" },
{ 0, NULL }
};
-static const FieldPart I062_380_11_AC = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_11_AC, NULL };
-static const FieldPart I062_380_11_MN = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_11_MN, NULL };
-static const FieldPart I062_380_11_DC = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_11_DC, NULL };
-static const FieldPart I062_380_11_GBS = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_11_GBS, NULL };
-static const FieldPart I062_380_11_STAT = { 3, 1.0, FIELD_PART_UINT, &hf_062_380_11_STAT, NULL };
-static const FieldPart *I062_380_11_PARTS[] = { &I062_380_11_AC, &I062_380_11_MN, &I062_380_11_DC, &I062_380_11_GBS, &IXXX_6bit_spare, &I062_380_11_STAT, NULL };
-
-/* ACAS Resolution Advisory Report */
-static const FieldPart I062_380_12_MB = { 56, 1.0, FIELD_PART_UINT, &hf_062_380_12_MB, NULL };
-static const FieldPart *I062_380_12_PARTS[] = { &I062_380_12_MB, NULL };
-
-/* Barometric Vertical Rate */
-static const FieldPart I062_380_13_BVR = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_380_13_BVR, NULL };
-static const FieldPart *I062_380_13_PARTS[] = { &I062_380_13_BVR, NULL };
-
-/* Geometric Vertical Rate */
-static const FieldPart I062_380_14_GVR = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_380_14_GVR, NULL };
-static const FieldPart *I062_380_14_PARTS[] = { &I062_380_14_GVR, NULL };
-
-/* Roll Angle */
-static const FieldPart I062_380_15_ROLL = { 16, 0.01, FIELD_PART_FLOAT, &hf_062_380_15_ROLL, NULL };
-static const FieldPart *I062_380_15_PARTS[] = { &I062_380_15_ROLL, NULL };
-
-/* Track Angle Rate */
-static const value_string valstr_062_380_16_TI[] = {
+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_16_TI = { 2, 1.0, FIELD_PART_UINT, &hf_062_380_16_TI, NULL };
-static const FieldPart I062_380_16_RATE = { 7, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_380_16_RATE, NULL };
-static const FieldPart *I062_380_16_PARTS[] = { &I062_380_16_TI, &IXXX_6bit_spare, &I062_380_16_RATE, NULL };
-
-/* Track Angle */
-static const FieldPart I062_380_17_TA = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_062_380_17_TA, NULL };
-static const FieldPart *I062_380_17_PARTS[] = { &I062_380_17_TA, NULL };
-
-/* Ground Speed */
-static const FieldPart I062_380_18_GS = { 16, 1.0/16384.0, FIELD_PART_FLOAT, &hf_062_380_18_GS, NULL };
-static const FieldPart *I062_380_18_PARTS[] = { &I062_380_18_GS, NULL };
-
-/* Velocity Uncertainty */
-static const FieldPart I062_380_19_VUC = { 8, 1.0, FIELD_PART_UINT, &hf_062_380_19_VUC, NULL };
-static const FieldPart *I062_380_19_PARTS[] = { &I062_380_19_VUC, NULL };
-
-/* Meteorological Data */
-static const value_string valstr_062_380_20_WS[] = {
+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 value_string valstr_062_380_20_WD[] = {
+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 value_string valstr_062_380_20_TMP[] = {
+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 value_string valstr_062_380_20_TRB[] = {
+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_20_WS = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_20_WS, NULL };
-static const FieldPart I062_380_20_WD = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_20_WD, NULL };
-static const FieldPart I062_380_20_TMP = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_20_TMP, NULL };
-static const FieldPart I062_380_20_TRB = { 1, 1.0, FIELD_PART_UINT, &hf_062_380_20_TRB, NULL };
-static const FieldPart I062_380_20_WS_VAL = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_20_WS_VAL, NULL };
-static const FieldPart I062_380_20_WD_VAL = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_20_WD_VAL, NULL };
-static const FieldPart I062_380_20_TMP_VAL = { 16, 1.0/4.0, FIELD_PART_FLOAT, &hf_062_380_20_TMP_VAL, NULL };
-static const FieldPart I062_380_20_TRB_VAL = { 8, 1.0, FIELD_PART_UINT, &hf_062_380_20_TRB_VAL, NULL };
-static const FieldPart *I062_380_20_PARTS[] = { &I062_380_20_WS, &I062_380_20_WD, &I062_380_20_TMP, &I062_380_20_TRB, &IXXX_4bit_spare,
- &I062_380_20_WS_VAL, &I062_380_20_WD_VAL, &I062_380_20_TMP_VAL, &I062_380_20_TRB_VAL, NULL };
-
-/* Emitter Category */
-static const value_string valstr_062_380_21_ECAT[] = {
- { 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" },
+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" },
@@ -11118,853 +52253,1482 @@ static const value_string valstr_062_380_21_ECAT[] = {
{ 24, "Reserved" },
{ 0, NULL }
};
-static const FieldPart I062_380_21_ECAT = { 8, 1.0, FIELD_PART_UINT, &hf_062_380_21_ECAT, NULL };
-static const FieldPart *I062_380_21_PARTS[] = { &I062_380_21_ECAT, NULL };
-
-/* Position Data */
-static const FieldPart I062_380_22_LAT = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_380_22_LAT, NULL };
-static const FieldPart I062_380_22_LON = { 24, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_380_22_LON, NULL };
-static const FieldPart *I062_380_22_PARTS[] = { &I062_380_22_LAT, &I062_380_22_LON, NULL };
-
-/* Geometric Altitude Data */
-static const FieldPart I062_380_23_ALT = { 16, 6.25, FIELD_PART_FLOAT, &hf_062_380_23_ALT, NULL };
-static const FieldPart *I062_380_23_PARTS[] = { &I062_380_23_ALT, NULL };
-
-/* Position Uncertainty Data */
-static const FieldPart I062_380_24_PUN = { 4, 1.0, FIELD_PART_UINT, &hf_062_380_24_PUN, NULL };
-static const FieldPart *I062_380_24_PARTS[] = { &IXXX_4bit_spare, &I062_380_24_PUN, NULL };
-
-/* Indicated Airspeed */
-static const FieldPart I062_380_26_IAS = { 16, 1.0, FIELD_PART_UFLOAT, &hf_062_380_26_IAS, NULL };
-static const FieldPart *I062_380_26_PARTS[] = { &I062_380_26_IAS, NULL };
-
-/* Mach Number */
-static const FieldPart I062_380_27_MACH = { 16, 0.008, FIELD_PART_UFLOAT, &hf_062_380_27_MACH, NULL };
-static const FieldPart *I062_380_27_PARTS[] = { &I062_380_27_MACH, NULL };
-
-/* Barometric Pressure Setting */
-static const FieldPart I062_380_28_BPS = { 12, 0.1, FIELD_PART_UFLOAT, &hf_062_380_28_BPS, NULL };
-static const FieldPart *I062_380_28_PARTS[] = { &IXXX_4bit_spare, &I062_380_28_BPS, NULL };
-
-/* Flight Plan Related Data */
-/* Callsign */
-static const FieldPart I062_390_02_CS = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_02_CS, NULL };
-static const FieldPart *I062_390_02_PARTS[] = { &I062_390_02_CS, NULL };
-
-/* IFPS_FLIGHT_ID */
-static const value_string valstr_062_390_03_TYP[] = {
+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_03_TYP = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_03_TYP, NULL };
-static const FieldPart I062_390_03_NBR = { 27, 1.0, FIELD_PART_UINT, &hf_062_390_03_NBR, NULL };
-static const FieldPart *I062_390_03_PARTS[] = { &I062_390_03_TYP, &IXXX_3bit_spare, &I062_390_03_NBR, NULL };
-
-/* Flight Category */
-static const value_string valstr_062_390_04_GAT_OAT[] = {
+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 value_string valstr_062_390_04_FR12[] = {
+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" },
+ { 1, "Visual Flight Rules" },
{ 2, "Not applicable" },
{ 3, "Controlled Visual Flight Rules" },
{ 0, NULL }
};
-static const value_string valstr_062_390_04_RVSM[] = {
+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 value_string valstr_062_390_04_HPR[] = {
+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_04_GAT_OAT = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_04_GAT_OAT, NULL };
-static const FieldPart I062_390_04_FR12 = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_04_FR12, NULL };
-static const FieldPart I062_390_04_RVSM = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_04_RVSM, NULL };
-static const FieldPart I062_390_04_HPR = { 1, 1.0, FIELD_PART_UINT, &hf_062_390_04_HPR, NULL };
-static const FieldPart *I062_390_04_PARTS[] = { &I062_390_04_GAT_OAT, &I062_390_04_FR12, &I062_390_04_RVSM, &I062_390_04_HPR, NULL };
-
-/* Type of Aircraft */
-static const FieldPart I062_390_05_ACTYP = { 32, 1.0, FIELD_PART_ASCII, &hf_062_390_05_ACTYP, NULL };
-static const FieldPart *I062_390_05_PARTS[] = { &I062_390_05_ACTYP, NULL };
-
-/* Wake Turbulence Category */
-static const FieldPart I062_390_06_WTC = { 8, 1.0, FIELD_PART_ASCII, &hf_062_390_06_WTC, NULL };
-static const FieldPart *I062_390_06_PARTS[] = { &I062_390_06_WTC, NULL };
-
-/* Departure Airport */
-static const FieldPart I062_390_07_ADEP = { 32, 1.0, FIELD_PART_ASCII, &hf_062_390_07_ADEP, NULL };
-static const FieldPart *I062_390_07_PARTS[] = { &I062_390_07_ADEP, NULL };
-
-/* Destination Airport */
-static const FieldPart I062_390_08_ADES = { 32, 1.0, FIELD_PART_ASCII, &hf_062_390_08_ADES, NULL };
-static const FieldPart *I062_390_08_PARTS[] = { &I062_390_08_ADES, NULL };
-
-/* Runway Designation */
-static const FieldPart I062_390_09_RWY = { 24, 1.0, FIELD_PART_ASCII, &hf_062_390_09_RWY, NULL };
-static const FieldPart *I062_390_09_PARTS[] = { &I062_390_09_RWY, NULL };
-
-/* Current Cleared Flight Level */
-static const FieldPart I062_390_10_CFL = { 16, 1.0/4.0, FIELD_PART_UFLOAT, &hf_062_390_10_CFL, NULL };
-static const FieldPart *I062_390_10_PARTS[] = { &I062_390_10_CFL, NULL };
-
-/* Current Control Position */
-static const FieldPart I062_390_11_CNTR = { 8, 1.0, FIELD_PART_UINT, &hf_062_390_11_CNTR, NULL };
-static const FieldPart I062_390_11_POS = { 8, 1.0, FIELD_PART_UINT, &hf_062_390_11_POS, NULL };
-static const FieldPart *I062_390_11_PARTS[] = { &I062_390_11_CNTR, &I062_390_11_POS, NULL };
-
-/* Time of Departure / Arrival */
-static const value_string valstr_062_390_12_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" },
+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 value_string valstr_062_390_12_DAY[] = {
- { 00, "Today" },
- { 01, "Yesterday" },
- { 10, "Tomorrow" },
- { 11, "Invalid" },
+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 value_string valstr_062_390_12_AVS[] = {
+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_12_TYP = { 5, 1.0, FIELD_PART_UINT, &hf_062_390_12_TYP, NULL };
-static const FieldPart I062_390_12_DAY = { 2, 1.0, FIELD_PART_UINT, &hf_062_390_12_DAY, NULL };
-static const FieldPart I062_390_12_HOR = { 5, 1.0, FIELD_PART_UINT, &hf_062_390_12_HOR, NULL };
-static const FieldPart I062_390_12_MIN = { 6, 1.0, FIELD_PART_UINT, &hf_062_390_12_MIN, NULL };
-static const FieldPart I062_390_12_AVS = { 1, 1.0, FIELD_PART_UINT, &hf_062_390_12_AVS, NULL };
-static const FieldPart I062_390_12_SEC = { 6, 1.0, FIELD_PART_UINT, &hf_062_390_12_SEC, NULL };
-static const FieldPart *I062_390_12_PARTS[] = { &I062_390_12_TYP, &I062_390_12_DAY,
- &IXXX_4bit_spare, &I062_390_12_HOR,
- &IXXX_2bit_spare, &I062_390_12_MIN,
- &I062_390_12_AVS, &IXXX_1bit_spare, &I062_390_12_SEC, NULL };
-
-/* Aircraft Stand */
-static const FieldPart I062_390_13_STAND = { 48, 1.0, FIELD_PART_ASCII, &hf_062_390_13_STAND, NULL };
-static const FieldPart *I062_390_13_PARTS[] = { &I062_390_13_STAND, NULL };
-
-/* Stand Status */
-static const value_string valstr_062_390_14_EMP[] = {
+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 value_string valstr_062_390_14_AVL[] = {
+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_14_EMP = { 1, 1.0, FIELD_PART_UINT, &hf_062_390_14_EMP, NULL };
-static const FieldPart I062_390_14_AVL = { 6, 1.0, FIELD_PART_UINT, &hf_062_390_14_AVL, NULL };
-static const FieldPart *I062_390_14_PARTS[] = { &I062_390_14_EMP, &I062_390_14_AVL, NULL };
-
-/* Standard Instrument Departure */
-static const FieldPart I062_390_15_SID = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_15_SID, NULL };
-static const FieldPart *I062_390_15_PARTS[] = { &I062_390_15_SID, NULL };
-
-/* Standard Instrument Arrival */
-static const FieldPart I062_390_16_STAR = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_16_STAR, NULL };
-static const FieldPart *I062_390_16_PARTS[] = { &I062_390_16_STAR, NULL };
-
-/* Pre-Emergency Mode 3/A */
-static const value_string valstr_062_390_17_VA[] = {
+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_17_VA = { 1, 1.0, FIELD_PART_UINT, &hf_062_390_17_VA, NULL };
-static const FieldPart I062_390_17_SQUAWK = { 12, 1.0, FIELD_PART_SQUAWK, &hf_062_390_17_SQUAWK, NULL };
-static const FieldPart *I062_390_17_PARTS[] = { &IXXX_3bit_spare, &I062_390_17_VA, &I062_390_17_SQUAWK, NULL };
-
-/* Pre-Emergency Callsign */
-static const FieldPart I062_390_18_CS = { 56, 1.0, FIELD_PART_ASCII, &hf_062_390_18_CS, NULL };
-static const FieldPart *I062_390_18_PARTS[] = { &I062_390_18_CS, NULL };
-
-/* Estimated Accuracies */
-/* Estimated Accuracy Of Track Position (Cartesian) */
-static const FieldPart I062_500_01_APCX = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_500_01_APCX, NULL };
-static const FieldPart I062_500_01_APCY = { 16, 0.5, FIELD_PART_UFLOAT, &hf_062_500_01_APCY, NULL };
-static const FieldPart *I062_500_01_PARTS[] = { &I062_500_01_APCX, &I062_500_01_APCY, NULL };
-/* v.0.17 */
-static const FieldPart I062_500_01_APCX_8bit = { 8, 1.0/64.0, FIELD_PART_UFLOAT, &hf_062_500_01_APCX_8bit, NULL };
-static const FieldPart I062_500_01_APCY_8bit = { 8, 1.0/64.0, FIELD_PART_UFLOAT, &hf_062_500_01_APCY_8bit, NULL };
-static const FieldPart *I062_500_01_PARTS_v0_17[] = { &I062_500_01_APCX_8bit, &I062_500_01_APCY_8bit, NULL };
-
-/* XY covariance component */
-static const FieldPart I062_500_02_COV = { 16, 0.5, FIELD_PART_FLOAT, &hf_062_500_02_COV, NULL };
-static const FieldPart *I062_500_02_PARTS[] = { &I062_500_02_COV, NULL };
-/* v.0.17 */
-/* Estimated Accuracy Of Track Position (WGS-84) */
-static const FieldPart I062_500_02_APWLAT = { 16, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_500_02_APWLAT, NULL };
-static const FieldPart I062_500_02_APWLON = { 16, 180.0/8388608.0, FIELD_PART_FLOAT, &hf_062_500_02_APWLON, NULL };
-static const FieldPart *I062_500_02_PARTS_v0_17[] = { &I062_500_02_APWLAT, &I062_500_02_APWLON, NULL };
-
-/* Estimated Accuracy Of Track Position (WGS-84) */
-static const FieldPart I062_500_03_APWLAT = { 16, 180.0/33554432.0, FIELD_PART_UFLOAT, &hf_062_500_03_APWLAT, NULL };
-static const FieldPart I062_500_03_APWLON = { 16, 180.0/33554432.0, FIELD_PART_UFLOAT, &hf_062_500_03_APWLON, NULL };
-static const FieldPart *I062_500_03_PARTS[] = { &I062_500_03_APWLAT, &I062_500_03_APWLON, NULL };
-/* v.0.17 */
-/* Estimated Accuracy Of Calculated Track Altitude */
-static const FieldPart I062_500_03_ATA = { 16, 6.25, FIELD_PART_UFLOAT, &hf_062_500_03_ATA, NULL };
-static const FieldPart *I062_500_03_PARTS_v0_17[] = { &I062_500_03_ATA, NULL };
-
-/* Estimated Accuracy Of Calculated Track Geometric Altitude */
-static const FieldPart I062_500_04_AGA = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_500_04_AGA, NULL };
-static const FieldPart *I062_500_04_PARTS[] = { &I062_500_04_AGA, NULL };
-/* v.0.17 */
-/* Estimated Accuracy Of Calculated Track Geometric Altitude */
-static const FieldPart I062_500_04_ATF = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_04_ATF, NULL };
-static const FieldPart *I062_500_04_PARTS_v0_17[] = { &I062_500_04_ATF, NULL };
-
-/* Estimated Accuracy Of Calculated Track Barometric Altitude */
-static const FieldPart I062_500_05_ABA = { 8, 1.0/4.0, FIELD_PART_UFLOAT, &hf_062_500_05_ABA, NULL };
-static const FieldPart *I062_500_05_PARTS[] = { &I062_500_05_ABA, NULL };
-/* v.0.17 */
-/* Estimated Accuracy Of Track Velocity (Polar) */
-static const FieldPart I062_500_05_ATVS = { 8, 1.0/16384.0, FIELD_PART_UFLOAT, &hf_062_500_05_ATVS, NULL };
-static const FieldPart I062_500_05_ATVH = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_062_500_05_ATVH, NULL };
-static const FieldPart *I062_500_05_PARTS_v0_17[] = { &I062_500_05_ATVS, &I062_500_05_ATVH, NULL };
-
-/* Estimated Accuracy Of Track Velocity (Cartesian) */
-static const FieldPart I062_500_06_ATVX = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_06_ATVX, NULL };
-static const FieldPart I062_500_06_ATVY = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_06_ATVY, NULL };
-static const FieldPart *I062_500_06_PARTS[] = { &I062_500_06_ATVX, &I062_500_06_ATVY, NULL };
-/* v.0.17 */
-/* Estimated Accuracy Of Rate Of Turn */
-static const FieldPart I062_500_06_ART = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_06_ART, NULL };
-static const FieldPart *I062_500_06_PARTS_v0_17[] = { &I062_500_06_ART, NULL };
-
-/* Estimated Accuracy Of Acceleration (Cartesian) */
-static const FieldPart I062_500_07_AAX = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_07_AAX, NULL };
-static const FieldPart I062_500_07_AAY = { 8, 0.25, FIELD_PART_UFLOAT, &hf_062_500_07_AAY, NULL };
-static const FieldPart *I062_500_07_PARTS[] = { &I062_500_07_AAX, &I062_500_07_AAY, NULL };
-/* v.0.17 */
-/* Estimated Accuracy Of Longitudinal Acceleration */
-static const FieldPart I062_500_07_ALA = { 16, 1.0/4194304.0, FIELD_PART_UFLOAT, &hf_062_500_07_ALA, NULL };
-static const FieldPart *I062_500_07_PARTS_v0_17[] = { &I062_500_07_ALA, NULL };
-
-/* Estimated Accuracy Of Rate Of Climb/Descent */
-static const FieldPart I062_500_08_ARC = { 8, 6.25, FIELD_PART_UFLOAT, &hf_062_500_08_ARC, NULL };
-static const FieldPart *I062_500_08_PARTS[] = { &I062_500_08_ARC, NULL };
-
-/* Note: I062/510 is an FX field that has no limit on the number of extensions.
- * There is currently no function available for us to deal dynamically with that so we
- * will just hardcode support for a maximum of 5 extensions (4 slaves).
- **/
-
-/* Composed Track Number */
-static const FieldPart I062_510_SUD = { 8, 1.0, FIELD_PART_UINT, &hf_062_510_SUD, NULL };
-static const FieldPart I062_510_STN = { 15, 1.0, FIELD_PART_UINT, &hf_062_510_STN, NULL };
-static const FieldPart I062_510_SLV_01_SUD = { 8, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_01_SUD, NULL };
-static const FieldPart I062_510_SLV_01_STN = { 15, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_01_STN, NULL };
-static const FieldPart I062_510_SLV_02_SUD = { 8, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_02_SUD, NULL };
-static const FieldPart I062_510_SLV_02_STN = { 15, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_02_STN, NULL };
-static const FieldPart I062_510_SLV_03_SUD = { 8, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_03_SUD, NULL };
-static const FieldPart I062_510_SLV_03_STN = { 15, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_03_STN, NULL };
-static const FieldPart I062_510_SLV_04_SUD = { 8, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_04_SUD, NULL };
-static const FieldPart I062_510_SLV_04_STN = { 15, 1.0, FIELD_PART_UINT, &hf_062_510_SLV_04_STN, 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_SUD, &I062_510_STN, &IXXX_3FX,
- &I062_510_SLV_01_SUD, &I062_510_SLV_01_STN, &IXXX_3FX,
- &I062_510_SLV_02_SUD, &I062_510_SLV_02_STN, &IXXX_3FX,
- &I062_510_SLV_03_SUD, &I062_510_SLV_03_STN, &IXXX_3FX,
- &I062_510_SLV_04_SUD, &I062_510_SLV_04_STN, &IXXX_3FX,
- NULL };
-
-/*Reserved Expansion*/
-static const value_string valstr_062_RE_CST_TYPE[] = {
- { 0, "No Detection"},
- { 1, "Single PSR Detection"},
- { 2, "Single SSR Detection"},
- { 3, "SSR+PSR Detection"},
- { 4, "Single Mode S All-Call"},
- { 5, "Single Mode S Roll-Call"},
- { 6, "Mode S All-Call + PSR"},
- { 7, "Mode S Roll-Call + PSR"},
- { 8, "ADS-B"},
- { 9, "WAM"},
- { 0, NULL}
-};
-
-static const value_string valstr_062_RE_STS_FDR[] = {
- { 0, "Flight Plan Data From Active FDPS"},
- { 1, "Flight Plan Data Retained From No Longer Active FDPS"},
- { 0, NULL}
-};
-
-/*Contributing Sensors with Local Track Numbers*/
-static const FieldPart I062_RE_CST_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_062_RE_CST_TYP, NULL };
-static const FieldPart I062_RE_CST_TRK_NUM = { 16, 1.0, FIELD_PART_UINT, &hf_062_RE_CST_TRK_NUM, NULL };
-static const FieldPart *I062_RE_CST_PARTS[] = { &IXXX_SAC, &IXXX_SIC, &I062_RE_CST_TYPE, &I062_RE_CST_TRK_NUM, NULL };
-
-/*Contributing Sensors with No Local Track Numbers*/
-static const FieldPart I062_RE_CSNT_TYPE = { 8, 1.0, FIELD_PART_UINT, &hf_062_RE_CSNT_TYP, NULL };
-static const FieldPart *I062_RE_CSNT_PARTS[] = { &IXXX_SAC, &IXXX_SIC, &I062_RE_CSNT_TYPE, NULL };
-
-/*Calculated Track Velocity Relative to System Reference Point*/
-static const FieldPart I062_RE_TVS_VX = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_RE_TVS_VX, NULL };
-static const FieldPart I062_RE_TVS_VY = { 16, 0.25, FIELD_PART_FLOAT, &hf_062_RE_TVS_VY, NULL };
-static const FieldPart *I062_RE_TVS_PARTS[] = { &I062_RE_TVS_VX, &I062_RE_TVS_VY, NULL };
-
-/*Supplementary Track Status*/
-static const FieldPart I062_RE_STS_FDR = { 1, 1.0, FIELD_PART_UINT, &hf_062_RE_STS_FDR, NULL };
-static const FieldPart *I062_RE_STS_PARTS[] = { &I062_RE_STS_FDR, &IXXX_6bit_spare, &IXXX_FX, NULL };
-
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I062_010 = { FIXED, 2, 0, 0, &hf_062_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I062_015 = { FIXED, 1, 0, 0, &hf_062_015, I062_015_PARTS, { NULL } };
-static const AsterixField I062_040 = { FIXED, 2, 0, 0, &hf_062_040, IXXX_TN_16_PARTS, { NULL } };
-static const AsterixField I062_060 = { FIXED, 2, 0, 0, &hf_062_060, I062_060_PARTS, { NULL } };
-static const AsterixField I062_060_v1_16 = { FIXED, 2, 0, 0, &hf_062_060, I062_060_PARTS_v1_16, { NULL } };
-static const AsterixField I062_060_v0_17 = { FIXED, 2, 0, 0, &hf_062_060, I062_060_PARTS_v0_17, { NULL } };
-static const AsterixField I062_070 = { FIXED, 3, 0, 0, &hf_062_070, IXXX_TOD, { NULL } };
-static const AsterixField I062_080 = { FX, 1, 0, 0, &hf_062_080, I062_080_PARTS, { NULL } };
-static const AsterixField I062_080_v1_17 = { FX, 1, 0, 0, &hf_062_080, I062_080_PARTS_v1_17, { NULL } };
-static const AsterixField I062_080_v0_17 = { FX, 1, 0, 0, &hf_062_080, I062_080_PARTS_v0_17, { NULL } };
-static const AsterixField I062_100 = { FIXED, 6, 0, 0, &hf_062_100, I062_100_PARTS, { NULL } };
-static const AsterixField I062_100_v0_17 = { FIXED, 4, 0, 0, &hf_062_100, I062_100_PARTS_v0_17, { NULL } };
-static const AsterixField I062_105 = { FIXED, 8, 0, 0, &hf_062_105, I062_105_PARTS, { NULL } };
-static const AsterixField I062_105_v0_17 = { FIXED, 6, 0, 0, &hf_062_105, I062_105_PARTS_v0_17, { NULL } };
-static const AsterixField I062_110_01 = { FIXED, 1, 0, 0, &hf_062_110_01, I062_110_01_PARTS, { NULL } };
-static const AsterixField I062_110_02 = { FIXED, 4, 0, 0, &hf_062_110_02, I062_110_02_PARTS, { NULL } };
-static const AsterixField I062_110_03 = { FIXED, 6, 0, 0, &hf_062_110_03, I062_110_03_PARTS, { NULL } };
-static const AsterixField I062_110_04 = { FIXED, 2, 0, 0, &hf_062_110_04, I062_110_04_PARTS, { NULL } };
-static const AsterixField I062_110_05 = { FIXED, 2, 0, 0, &hf_062_110_05, I062_110_05_PARTS, { NULL } };
-static const AsterixField I062_110_06 = { FIXED, 1, 0, 0, &hf_062_110_06, I062_110_06_PARTS, { NULL } };
-static const AsterixField I062_110_07 = { FIXED, 1, 0, 0, &hf_062_110_07, I062_110_07_PARTS, { NULL } };
-static const AsterixField I062_110 = { COMPOUND, 0, 0, 0, &hf_062_110, NULL, { &I062_110_01,
- &I062_110_02,
- &I062_110_03,
- &I062_110_04,
- &I062_110_05,
- &I062_110_06,
- &I062_110_07,
- NULL } };
-static const AsterixField I062_110_v0_17 = { FIXED, 1, 0, 0, &hf_062_110_v0_17, I062_110_PARTS_v0_17, { NULL } };
-static const AsterixField I062_120 = { FIXED, 2, 0, 0, &hf_062_120, I062_120_PARTS, { NULL } };
-static const AsterixField I062_130 = { FIXED, 2, 0, 0, &hf_062_130, I062_130_PARTS, { NULL } };
-static const AsterixField I062_135 = { FIXED, 2, 0, 0, &hf_062_135, I062_135_PARTS, { NULL } };
-static const AsterixField I062_136 = { FIXED, 2, 0, 0, &hf_062_136, I062_136_PARTS, { NULL } };
-static const AsterixField I062_180 = { FIXED, 4, 0, 0, &hf_062_180, I062_180_PARTS, { NULL } };
-static const AsterixField I062_185 = { FIXED, 4, 0, 0, &hf_062_185, I062_185_PARTS, { NULL } };
-static const AsterixField I062_200 = { FIXED, 1, 0, 0, &hf_062_200, I062_200_PARTS, { NULL } };
-static const AsterixField I062_200_v0_17 = { FIXED, 1, 0, 0, &hf_062_200, I062_200_PARTS_v0_17, { NULL } };
-static const AsterixField I062_210 = { FIXED, 2, 0, 0, &hf_062_210, I062_210_PARTS, { NULL } };
-static const AsterixField I062_210_v0_17 = { FIXED, 2, 0, 0, &hf_062_210_v0_17, I062_210_PARTS_v0_17, { NULL } };
-static const AsterixField I062_220 = { FIXED, 2, 0, 0, &hf_062_220, I062_220_PARTS, { NULL } };
-static const AsterixField I062_240 = { FIXED, 1, 0, 0, &hf_062_240, I062_240_PARTS, { NULL } };
-static const AsterixField I062_245 = { FIXED, 7, 0, 0, &hf_062_245, I062_245_PARTS, { NULL } };
-static const AsterixField I062_270 = { FX, 1, 0, 0, &hf_062_270, I062_270_PARTS, { NULL } };
-static const AsterixField I062_290_01 = { FIXED, 1, 0, 0, &hf_062_290_01, I062_290_01_PARTS, { NULL } };
-static const AsterixField I062_290_02 = { FIXED, 1, 0, 0, &hf_062_290_02, I062_290_02_PARTS, { NULL } };
-static const AsterixField I062_290_03 = { FIXED, 1, 0, 0, &hf_062_290_03, I062_290_03_PARTS, { NULL } };
-static const AsterixField I062_290_04 = { FIXED, 1, 0, 0, &hf_062_290_04, I062_290_04_PARTS, { NULL } };
-static const AsterixField I062_290_05 = { FIXED, 2, 0, 0, &hf_062_290_05, I062_290_05_PARTS, { NULL } };
-static const AsterixField I062_290_06 = { FIXED, 1, 0, 0, &hf_062_290_06, I062_290_06_PARTS, { NULL } };
-static const AsterixField I062_290_07 = { FIXED, 1, 0, 0, &hf_062_290_07, I062_290_07_PARTS, { NULL } };
-static const AsterixField I062_290_08 = { FIXED, 1, 0, 0, &hf_062_290_08, I062_290_08_PARTS, { NULL } };
-static const AsterixField I062_290_09 = { FIXED, 1, 0, 0, &hf_062_290_09, I062_290_09_PARTS, { NULL } };
-static const AsterixField I062_290_10 = { FIXED, 1, 0, 0, &hf_062_290_10, I062_290_10_PARTS, { NULL } };
-static const AsterixField I062_290 = { COMPOUND, 0, 0, 0, &hf_062_290, NULL, { &I062_290_01,
- &I062_290_02,
- &I062_290_03,
- &I062_290_04,
- &I062_290_05,
- &I062_290_06,
- &I062_290_07,
- &I062_290_08,
- &I062_290_09,
- &I062_290_10,
- NULL } };
-static const AsterixField I062_290_01_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_01_v0_17, I062_290_01_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_02_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_02_v0_17, I062_290_02_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_03_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_03_v0_17, I062_290_03_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_04_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_04_v0_17, I062_290_04_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_05_v0_17 = { FIXED, 2, 0, 0, &hf_062_290_05_v0_17, I062_290_05_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_06_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_06_v0_17, I062_290_06_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_07_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_07_v0_17, I062_290_07_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_08_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_08_v0_17, I062_290_08_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_09_v0_17 = { FIXED, 1, 0, 0, &hf_062_290_09_v0_17, I062_290_09_PARTS_v0_17, { NULL } };
-static const AsterixField I062_290_v0_17 = { COMPOUND, 0, 0, 0, &hf_062_290, NULL, { &I062_290_01_v0_17,
- &I062_290_02_v0_17,
- &I062_290_03_v0_17,
- &I062_290_04_v0_17,
- &I062_290_05_v0_17,
- &I062_290_06_v0_17,
- &I062_290_07_v0_17,
- &I062_290_08_v0_17,
- &I062_290_09_v0_17,
- NULL } };
-static const AsterixField I062_295_01 = { FIXED, 1, 0, 0, &hf_062_295_01, I062_295_01_PARTS, { NULL } };
-static const AsterixField I062_295_02 = { FIXED, 1, 0, 0, &hf_062_295_02, I062_295_02_PARTS, { NULL } };
-static const AsterixField I062_295_03 = { FIXED, 1, 0, 0, &hf_062_295_03, I062_295_03_PARTS, { NULL } };
-static const AsterixField I062_295_04 = { FIXED, 1, 0, 0, &hf_062_295_04, I062_295_04_PARTS, { NULL } };
-static const AsterixField I062_295_05 = { FIXED, 1, 0, 0, &hf_062_295_05, I062_295_05_PARTS, { NULL } };
-static const AsterixField I062_295_06 = { FIXED, 1, 0, 0, &hf_062_295_06, I062_295_06_PARTS, { NULL } };
-static const AsterixField I062_295_07 = { FIXED, 1, 0, 0, &hf_062_295_07, I062_295_07_PARTS, { NULL } };
-static const AsterixField I062_295_08 = { FIXED, 1, 0, 0, &hf_062_295_08, I062_295_08_PARTS, { NULL } };
-static const AsterixField I062_295_09 = { FIXED, 1, 0, 0, &hf_062_295_09, I062_295_09_PARTS, { NULL } };
-static const AsterixField I062_295_10 = { FIXED, 1, 0, 0, &hf_062_295_10, I062_295_10_PARTS, { NULL } };
-static const AsterixField I062_295_11 = { FIXED, 1, 0, 0, &hf_062_295_11, I062_295_11_PARTS, { NULL } };
-static const AsterixField I062_295_12 = { FIXED, 1, 0, 0, &hf_062_295_12, I062_295_12_PARTS, { NULL } };
-static const AsterixField I062_295_13 = { FIXED, 1, 0, 0, &hf_062_295_13, I062_295_13_PARTS, { NULL } };
-static const AsterixField I062_295_14 = { FIXED, 1, 0, 0, &hf_062_295_14, I062_295_14_PARTS, { NULL } };
-static const AsterixField I062_295_15 = { FIXED, 1, 0, 0, &hf_062_295_15, I062_295_15_PARTS, { NULL } };
-static const AsterixField I062_295_16 = { FIXED, 1, 0, 0, &hf_062_295_16, I062_295_16_PARTS, { NULL } };
-static const AsterixField I062_295_17 = { FIXED, 1, 0, 0, &hf_062_295_17, I062_295_17_PARTS, { NULL } };
-static const AsterixField I062_295_18 = { FIXED, 1, 0, 0, &hf_062_295_18, I062_295_18_PARTS, { NULL } };
-static const AsterixField I062_295_19 = { FIXED, 1, 0, 0, &hf_062_295_19, I062_295_19_PARTS, { NULL } };
-static const AsterixField I062_295_20 = { FIXED, 1, 0, 0, &hf_062_295_20, I062_295_20_PARTS, { NULL } };
-static const AsterixField I062_295_21 = { FIXED, 1, 0, 0, &hf_062_295_21, I062_295_21_PARTS, { NULL } };
-static const AsterixField I062_295_22 = { FIXED, 1, 0, 0, &hf_062_295_22, I062_295_22_PARTS, { NULL } };
-static const AsterixField I062_295_23 = { FIXED, 1, 0, 0, &hf_062_295_23, I062_295_23_PARTS, { NULL } };
-static const AsterixField I062_295_24 = { FIXED, 1, 0, 0, &hf_062_295_24, I062_295_24_PARTS, { NULL } };
-static const AsterixField I062_295_25 = { FIXED, 1, 0, 0, &hf_062_295_25, I062_295_25_PARTS, { NULL } };
-static const AsterixField I062_295_26 = { FIXED, 1, 0, 0, &hf_062_295_26, I062_295_26_PARTS, { NULL } };
-static const AsterixField I062_295_27 = { FIXED, 1, 0, 0, &hf_062_295_27, I062_295_27_PARTS, { NULL } };
-static const AsterixField I062_295_28 = { FIXED, 1, 0, 0, &hf_062_295_28, I062_295_28_PARTS, { NULL } };
-static const AsterixField I062_295_29 = { FIXED, 1, 0, 0, &hf_062_295_29, I062_295_29_PARTS, { NULL } };
-static const AsterixField I062_295_30 = { FIXED, 1, 0, 0, &hf_062_295_30, I062_295_30_PARTS, { NULL } };
-static const AsterixField I062_295_31 = { FIXED, 1, 0, 0, &hf_062_295_31, I062_295_31_PARTS, { NULL } };
-static const AsterixField I062_295 = { COMPOUND, 0, 0, 0, &hf_062_295, NULL, { &I062_295_01,
- &I062_295_02,
- &I062_295_03,
- &I062_295_04,
- &I062_295_05,
- &I062_295_06,
- &I062_295_07,
- &I062_295_08,
- &I062_295_09,
- &I062_295_10,
- &I062_295_11,
- &I062_295_12,
- &I062_295_13,
- &I062_295_14,
- &I062_295_15,
- &I062_295_16,
- &I062_295_17,
- &I062_295_18,
- &I062_295_19,
- &I062_295_20,
- &I062_295_21,
- &I062_295_22,
- &I062_295_23,
- &I062_295_24,
- &I062_295_25,
- &I062_295_26,
- &I062_295_27,
- &I062_295_28,
- &I062_295_29,
- &I062_295_30,
- &I062_295_31,
- NULL } };
-static const AsterixField I062_300 = { FIXED, 1, 0, 0, &hf_062_300, I062_300_PARTS, { NULL } };
-static const AsterixField I062_340_01 = { FIXED, 2, 0, 0, &hf_062_340_01, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I062_340_02 = { FIXED, 4, 0, 0, &hf_062_340_02, I062_340_02_PARTS, { NULL } };
-static const AsterixField I062_340_03 = { FIXED, 2, 0, 0, &hf_062_340_03, I062_340_03_PARTS, { NULL } };
-static const AsterixField I062_340_04 = { FIXED, 2, 0, 0, &hf_062_340_04, I062_340_04_PARTS, { NULL } };
-static const AsterixField I062_340_05 = { FIXED, 2, 0, 0, &hf_062_340_05, I062_340_05_PARTS, { NULL } };
-static const AsterixField I062_340_06 = { FIXED, 1, 0, 0, &hf_062_340_06, I062_340_06_PARTS, { NULL } };
-static const AsterixField I062_340 = { COMPOUND, 0, 0, 0, &hf_062_340, NULL, { &I062_340_01,
- &I062_340_02,
- &I062_340_03,
- &I062_340_04,
- &I062_340_05,
- &I062_340_06,
- NULL } };
-static const AsterixField I062_380_01 = { FIXED, 3, 0, 0, &hf_062_380_01, IXXX_AA_PARTS, { NULL } };
-static const AsterixField I062_380_02 = { FIXED, 6, 0, 0, &hf_062_380_02, IXXX_AI_PARTS, { NULL } };
-static const AsterixField I062_380_03 = { FIXED, 2, 0, 0, &hf_062_380_03, I062_380_03_PARTS, { NULL } };
-static const AsterixField I062_380_04 = { FIXED, 2, 0, 0, &hf_062_380_04, I062_380_04_PARTS, { NULL } };
-static const AsterixField I062_380_05 = { FIXED, 2, 0, 0, &hf_062_380_05, I062_380_05_PARTS, { NULL } };
-static const AsterixField I062_380_06 = { FIXED, 2, 0, 0, &hf_062_380_06, I062_380_06_PARTS, { NULL } };
-static const AsterixField I062_380_07 = { FIXED, 2, 0, 0, &hf_062_380_07, I062_380_07_PARTS, { NULL } };
-static const AsterixField I062_380_08 = { FX, 1, 0, 0, &hf_062_380_08, I062_380_08_PARTS, { NULL } };
-static const AsterixField I062_380_09 = { REPETITIVE, 15, 1, 0, &hf_062_380_09, I062_380_09_PARTS, { NULL } };
-static const AsterixField I062_380_10 = { FIXED, 2, 0, 0, &hf_062_380_10, I062_380_10_PARTS, { NULL } };
-static const AsterixField I062_380_11 = { FIXED, 2, 0, 0, &hf_062_380_11, I062_380_11_PARTS, { NULL } };
-static const AsterixField I062_380_12 = { FIXED, 7, 0, 0, &hf_062_380_12, I062_380_12_PARTS, { NULL } };
-static const AsterixField I062_380_13 = { FIXED, 2, 0, 0, &hf_062_380_13, I062_380_13_PARTS, { NULL } };
-static const AsterixField I062_380_14 = { FIXED, 2, 0, 0, &hf_062_380_14, I062_380_14_PARTS, { NULL } };
-static const AsterixField I062_380_15 = { FIXED, 2, 0, 0, &hf_062_380_15, I062_380_15_PARTS, { NULL } };
-static const AsterixField I062_380_16 = { FIXED, 2, 0, 0, &hf_062_380_16, I062_380_16_PARTS, { NULL } };
-static const AsterixField I062_380_17 = { FIXED, 2, 0, 0, &hf_062_380_17, I062_380_17_PARTS, { NULL } };
-static const AsterixField I062_380_18 = { FIXED, 2, 0, 0, &hf_062_380_18, I062_380_18_PARTS, { NULL } };
-static const AsterixField I062_380_19 = { FIXED, 1, 0, 0, &hf_062_380_19, I062_380_19_PARTS, { NULL } };
-static const AsterixField I062_380_20 = { FIXED, 8, 0, 0, &hf_062_380_20, I062_380_20_PARTS, { NULL } };
-static const AsterixField I062_380_21 = { FIXED, 1, 0, 0, &hf_062_380_21, I062_380_21_PARTS, { NULL } };
-static const AsterixField I062_380_22 = { FIXED, 6, 0, 0, &hf_062_380_22, I062_380_22_PARTS, { NULL } };
-static const AsterixField I062_380_23 = { FIXED, 2, 0, 0, &hf_062_380_23, I062_380_23_PARTS, { NULL } };
-static const AsterixField I062_380_24 = { FIXED, 1, 0, 0, &hf_062_380_24, I062_380_24_PARTS, { NULL } };
-static const AsterixField I062_380_25 = { REPETITIVE, 8, 1, 0, &hf_062_380_25, IXXX_MB, { NULL } };
-static const AsterixField I062_380_26 = { FIXED, 2, 0, 0, &hf_062_380_26, I062_380_26_PARTS, { NULL } };
-static const AsterixField I062_380_27 = { FIXED, 2, 0, 0, &hf_062_380_27, I062_380_27_PARTS, { NULL } };
-static const AsterixField I062_380_28 = { FIXED, 2, 0, 0, &hf_062_380_28, I062_380_28_PARTS, { NULL } };
-static const AsterixField I062_380 = { COMPOUND, 0, 0, 0, &hf_062_380, NULL, { &I062_380_01,
- &I062_380_02,
- &I062_380_03,
- &I062_380_04,
- &I062_380_05,
- &I062_380_06,
- &I062_380_07,
- &I062_380_08,
- &I062_380_09,
- &I062_380_10,
- &I062_380_11,
- &I062_380_12,
- &I062_380_13,
- &I062_380_14,
- &I062_380_15,
- &I062_380_16,
- &I062_380_17,
- &I062_380_18,
- &I062_380_19,
- &I062_380_20,
- &I062_380_21,
- &I062_380_22,
- &I062_380_23,
- &I062_380_24,
- &I062_380_25,
- &I062_380_26,
- &I062_380_27,
- &I062_380_28,
- NULL } };
-/* v.0.17 */
-static const AsterixField I062_380_01_v0_17 = { REPETITIVE, 8, 1, 0, &hf_062_380_01_v0_17, IXXX_MB, { NULL } };
-static const AsterixField I062_380_02_v0_17 = { FIXED, 3, 0, 0, &hf_062_380_02_v0_17, IXXX_AA_PARTS, { NULL } };
-static const AsterixField I062_380_03_v0_17 = { FIXED, 6, 0, 0, &hf_062_380_03_v0_17, IXXX_AI_PARTS, { NULL } };
-static const AsterixField I062_380_04_v0_17 = { FIXED, 2, 0, 0, &hf_062_380_04_v0_17, I062_380_04_PARTS_v0_17, { NULL } };
-static const AsterixField I062_380_05_v0_17 = { FIXED, 7, 0, 0, &hf_062_380_05_v0_17, I062_380_05_PARTS_v0_17, { NULL } };
-static const AsterixField I062_380_v0_17 = { COMPOUND, 0, 0, 0, &hf_062_380_v0_17, NULL, { &I062_380_01_v0_17,
- &I062_380_02_v0_17,
- &I062_380_03_v0_17,
- &I062_380_04_v0_17,
- &I062_380_05_v0_17,
- NULL } };
-static const AsterixField I062_390_01 = { FIXED, 2, 0, 0, &hf_062_390_01, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I062_390_02 = { FIXED, 7, 0, 0, &hf_062_390_02, I062_390_02_PARTS, { NULL } };
-static const AsterixField I062_390_03 = { FIXED, 4, 0, 0, &hf_062_390_03, I062_390_03_PARTS, { NULL } };
-static const AsterixField I062_390_04 = { FIXED, 1, 0, 0, &hf_062_390_04, I062_390_04_PARTS, { NULL } };
-static const AsterixField I062_390_05 = { FIXED, 4, 0, 0, &hf_062_390_05, I062_390_05_PARTS, { NULL } };
-static const AsterixField I062_390_06 = { FIXED, 1, 0, 0, &hf_062_390_06, I062_390_06_PARTS, { NULL } };
-static const AsterixField I062_390_07 = { FIXED, 4, 0, 0, &hf_062_390_07, I062_390_07_PARTS, { NULL } };
-static const AsterixField I062_390_08 = { FIXED, 4, 0, 0, &hf_062_390_08, I062_390_08_PARTS, { NULL } };
-static const AsterixField I062_390_09 = { FIXED, 3, 0, 0, &hf_062_390_09, I062_390_09_PARTS, { NULL } };
-static const AsterixField I062_390_10 = { FIXED, 2, 0, 0, &hf_062_390_10, I062_390_10_PARTS, { NULL } };
-static const AsterixField I062_390_11 = { FIXED, 2, 0, 0, &hf_062_390_11, I062_390_11_PARTS, { NULL } };
-static const AsterixField I062_390_12 = { REPETITIVE, 4, 1, 0, &hf_062_390_12, I062_390_12_PARTS, { NULL } };
-static const AsterixField I062_390_13 = { FIXED, 6, 0, 0, &hf_062_390_13, I062_390_13_PARTS, { NULL } };
-static const AsterixField I062_390_14 = { FIXED, 1, 0, 0, &hf_062_390_14, I062_390_14_PARTS, { NULL } };
-static const AsterixField I062_390_15 = { FIXED, 7, 0, 0, &hf_062_390_15, I062_390_15_PARTS, { NULL } };
-static const AsterixField I062_390_16 = { FIXED, 7, 0, 0, &hf_062_390_16, I062_390_16_PARTS, { NULL } };
-static const AsterixField I062_390_17 = { FIXED, 2, 0, 0, &hf_062_390_17, I062_390_17_PARTS, { NULL } };
-static const AsterixField I062_390_18 = { FIXED, 7, 0, 0, &hf_062_390_18, I062_390_18_PARTS, { NULL } };
-static const AsterixField I062_390 = { COMPOUND, 0, 0, 0, &hf_062_390, NULL, { &I062_390_01,
- &I062_390_02,
- &I062_390_03,
- &I062_390_04,
- &I062_390_05,
- &I062_390_06,
- &I062_390_07,
- &I062_390_08,
- &I062_390_09,
- &I062_390_10,
- &I062_390_11,
- &I062_390_12,
- &I062_390_13,
- &I062_390_14,
- &I062_390_15,
- &I062_390_16,
- &I062_390_17,
- &I062_390_18,
- NULL } };
-static const AsterixField I062_500_01 = { FIXED, 4, 0, 0, &hf_062_500_01, I062_500_01_PARTS, { NULL } };
-static const AsterixField I062_500_02 = { FIXED, 2, 0, 0, &hf_062_500_02, I062_500_02_PARTS, { NULL } };
-static const AsterixField I062_500_03 = { FIXED, 4, 0, 0, &hf_062_500_03, I062_500_03_PARTS, { NULL } };
-static const AsterixField I062_500_04 = { FIXED, 1, 0, 0, &hf_062_500_04, I062_500_04_PARTS, { NULL } };
-static const AsterixField I062_500_05 = { FIXED, 1, 0, 0, &hf_062_500_05, I062_500_05_PARTS, { NULL } };
-static const AsterixField I062_500_06 = { FIXED, 2, 0, 0, &hf_062_500_06, I062_500_06_PARTS, { NULL } };
-static const AsterixField I062_500_07 = { FIXED, 2, 0, 0, &hf_062_500_07, I062_500_07_PARTS, { NULL } };
-static const AsterixField I062_500_08 = { FIXED, 1, 0, 0, &hf_062_500_08, I062_500_08_PARTS, { NULL } };
-static const AsterixField I062_500 = { COMPOUND, 0, 0, 0, &hf_062_500, NULL, { &I062_500_01,
- &I062_500_02,
- &I062_500_03,
- &I062_500_04,
- &I062_500_05,
- &I062_500_06,
- &I062_500_07,
- &I062_500_08,
- NULL } };
-static const AsterixField I062_500_01_v0_17 = { FIXED, 2, 0, 0, &hf_062_500_01, I062_500_01_PARTS_v0_17, { NULL } };
-static const AsterixField I062_500_02_v0_17 = { FIXED, 4, 0, 0, &hf_062_500_02_v0_17, I062_500_02_PARTS_v0_17, { NULL } };
-static const AsterixField I062_500_03_v0_17 = { FIXED, 2, 0, 0, &hf_062_500_03_v0_17, I062_500_03_PARTS_v0_17, { NULL } };
-static const AsterixField I062_500_04_v0_17 = { FIXED, 1, 0, 0, &hf_062_500_04_v0_17, I062_500_04_PARTS_v0_17, { NULL } };
-static const AsterixField I062_500_05_v0_17 = { FIXED, 3, 0, 0, &hf_062_500_05_v0_17, I062_500_05_PARTS_v0_17, { NULL } };
-static const AsterixField I062_500_06_v0_17 = { FIXED, 1, 0, 0, &hf_062_500_06_v0_17, I062_500_06_PARTS_v0_17, { NULL } };
-static const AsterixField I062_500_07_v0_17 = { FIXED, 2, 0, 0, &hf_062_500_07_v0_17, I062_500_07_PARTS_v0_17, { NULL } };
-static const AsterixField I062_500_v0_17 = { COMPOUND, 0, 0, 0, &hf_062_500, NULL, { &I062_500_01_v0_17,
- &I062_500_02_v0_17,
- &I062_500_03_v0_17,
- &I062_500_04_v0_17,
- &I062_500_05_v0_17,
- &I062_500_06_v0_17,
- &I062_500_07_v0_17,
- &I062_500_08,
- NULL } };
+ &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 } };
-/*RE Field*/
-static const AsterixField I062_RE_CST = { REPETITIVE, 5, 1, 0, &hf_062_RE_CST, I062_RE_CST_PARTS, { NULL } };
-static const AsterixField I062_RE_CSNT = { REPETITIVE, 3, 1, 0, &hf_062_RE_CSNT, I062_RE_CSNT_PARTS, { NULL } };
-static const AsterixField I062_RE_TVS = { FIXED, 4, 0, 0, &hf_062_RE_TVS, I062_RE_TVS_PARTS, { NULL } };
-static const AsterixField I062_RE_STS = { FX, 1, 0, 0, &hf_062_RE_STS, I062_RE_STS_PARTS, { NULL } };
-static const AsterixField I062_RE = { RE, 0, 0, 1, &hf_062_RE, NULL, { &I062_RE_CST, &I062_RE_CSNT, &I062_RE_TVS, &I062_RE_STS, NULL } };
-static const AsterixField I062_SP = { SP, 0, 0, 1, &hf_062_SP, NULL, { NULL } };
-
-static const AsterixField *I062_v1_18_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_v1_17_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_v1_17, &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_v1_16_uap[] = { &I062_010, &IX_SPARE, &I062_015, &I062_070, &I062_105, &I062_100, &I062_185,
- &I062_210, &I062_060_v1_16, &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_v0_17_uap[] = { &I062_010, &I062_015, &I062_070, &I062_040, &I062_105_v0_17, &I062_100_v0_17, &I062_060_v0_17,
- &I062_130, &I062_135, &I062_136, &I062_180, &I062_200_v0_17, &I062_220, &I062_240,
- &I062_210_v0_17, &I062_080_v0_17, &I062_290_v0_17, &I062_340, &I062_380_v0_17, &I062_500_v0_17, &I062_390,
- &I062_110_v0_17, &I062_120, &I062_510, &IX_SPARE, &IX_SPARE, &I062_RE, &I062_SP, NULL };
-static const AsterixField **I062_v1_18[] = { I062_v1_18_uap, NULL };
-static const AsterixField **I062_v1_17[] = { I062_v1_17_uap, NULL };
-static const AsterixField **I062_v1_16[] = { I062_v1_16_uap, NULL };
-static const AsterixField **I062_v0_17[] = { I062_v0_17_uap, NULL };
-static const AsterixField ***I062[] = { I062_v1_18, I062_v1_17, I062_v1_16, I062_v0_17 };
-DIAG_ON_PEDANTIC
+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 } };
-static const enum_val_t I062_versions[] = {
- { "I062_v1_18", "Version 1.18", 0 },
- { "I062_v1_17", "Version 1.17", 1 },
- { "I062_v1_16", "Version 1.16", 2 },
- { "I062_v0_17", "Version 0.17", 3 },
- { NULL, NULL, 0 }
+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
-/* *********************** */
-/* Category 063 */
-/* *********************** */
-/* Fields */
-
-/* Service Identification */
-static const FieldPart I063_015_SI = { 8, 1.0, FIELD_PART_UINT, &hf_063_015_SI, NULL };
-static const FieldPart *I063_015_PARTS[] = { &I063_015_SI, NULL };
+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
-/* Sensor Configuration and Status */
+/* 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}
+ { 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}
+ { 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}
+ { 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, "Mode S GO"},
- { 1, "Mode S NOGO"},
- { 0, NULL}
+ { 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}
+ { 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}
+ { 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}
+ { 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}
+ { 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}
+ { 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}
+ { 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}
+ { 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}
+ { 0, "Default (no meaning)" },
+ { 1, "No plots being received" },
+ { 0, NULL }
};
-
-static const FieldPart I063_060_CON = { 2, 1.0, FIELD_PART_UINT, &hf_063_060_CON, NULL };
-static const FieldPart I063_060_PSR = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_PSR, NULL };
-static const FieldPart I063_060_SSR = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_SSR, NULL };
-static const FieldPart I063_060_MDS = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_MDS, NULL };
-static const FieldPart I063_060_ADS = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_ADS, NULL };
-static const FieldPart I063_060_MLT = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_MLT, NULL };
-static const FieldPart I063_060_OPS = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_OPS, NULL };
-static const FieldPart I063_060_ODP = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_ODP, NULL };
-static const FieldPart I063_060_OXT = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_OXT, NULL };
-static const FieldPart I063_060_MSC = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_MSC, NULL };
-static const FieldPart I063_060_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_063_060_TSV, 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 };
-
-/* Time Stamping Bias */
-static const FieldPart I063_070_TSB = { 16, 1.0, FIELD_PART_UFLOAT, &hf_063_070_TSB, NULL };
-static const FieldPart *I063_070_PARTS[] = { &I063_070_TSB, NULL };
-
-/* SSR / Mode S Range Gain and Bias */
-static const FieldPart I063_080_SRG = { 16, 0.00001, FIELD_PART_FLOAT, &hf_063_080_SRG, NULL };
-static const FieldPart I063_080_SRB = { 16, 1.0 / 128.0, FIELD_PART_FLOAT, &hf_063_080_SRB, NULL };
-static const FieldPart *I063_080_PARTS[] = { &I063_080_SRG, &I063_080_SRB, NULL };
-
-/* SSR / MOde S Azimuth Bias */
-static const FieldPart I063_081_SAB = { 16, 360.0 / 65536.0, FIELD_PART_FLOAT, &hf_063_081_SAB, NULL };
-static const FieldPart *I063_081_PARTS[] = { &I063_081_SAB, NULL };
-
-/* PSR Range Gain and Bias */
-static const FieldPart I063_090_PRG = { 16, 0.00001, FIELD_PART_FLOAT, &hf_063_090_PRG, NULL };
-static const FieldPart I063_090_PRB = { 16, 1.0 / 128.0, FIELD_PART_FLOAT, &hf_063_090_PRB, NULL };
-static const FieldPart *I063_090_PARTS[] = { &I063_090_PRG, &I063_090_PRB, NULL };
-
-/* PSR Azimuth Bias */
-static const FieldPart I063_091_PAB = { 16, 360.0 / 65536.0, FIELD_PART_FLOAT, &hf_063_091_PAB, NULL };
-static const FieldPart *I063_091_PARTS[] = { &I063_091_PAB, NULL };
-
-/* PSR Elevation Bias */
-static const FieldPart I063_092_PEB = { 16, 360.0 / 65536.0, FIELD_PART_FLOAT, &hf_063_092_PEB, NULL };
-static const FieldPart *I063_092_PARTS[] = { &I063_092_PEB, NULL };
-
-/* Items */
-DIAG_OFF_PEDANTIC
-static const AsterixField I063_010 = { FIXED, 2, 0, 0, &hf_063_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I063_015 = { FIXED, 1, 0, 0, &hf_063_015, I063_015_PARTS, { NULL } };
-static const AsterixField I063_030 = { FIXED, 3, 0, 0, &hf_063_030, IXXX_TOD, { NULL } };
-static const AsterixField I063_050 = { FIXED, 2, 0, 0, &hf_063_050, IXXX_SAC_SIC, { 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 const AsterixField I063_RE = { RE, 0, 0, 1, &hf_063_RE, NULL, { NULL } };
-static const AsterixField I063_SP = { SP, 0, 0, 1, &hf_063_SP, NULL, { 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 } };
-static const AsterixField *I063_v1_4_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_v1_4[] = { I063_v1_4_uap, NULL };
-static const AsterixField ***I063[] = { I063_v1_4 };
+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
-static const enum_val_t I063_versions[] = {
- { "I063_v1_4", "Version 1.4", 0 },
- { NULL, NULL, 0 }
+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 */
-/* *********************** */
-/* Fields */
-
-/* Message Type */
-static const value_string valstr_065_000_MT[] = {
- { 0, "Undefined" },
+/* 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 } };
-static const FieldPart I065_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_065_000_MT, NULL };
-static const FieldPart *I065_000_PARTS[] = { &I065_000_MT, 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
-/* Service Identification */
-static const FieldPart I065_015_SI = { 8, 1.0, FIELD_PART_UINT, &hf_065_015_SI, NULL };
-static const FieldPart *I065_015_PARTS[] = { &I065_015_SI, NULL };
+/* 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 } };
-/* Batch Number */
-static const FieldPart I065_020_BTN = { 8, 1.0, FIELD_PART_UINT, &hf_065_020_BTN, NULL };
-static const FieldPart *I065_020_PARTS[] = { &I065_020_BTN, 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
-/* SDPS Configuration and Status */
+/* 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" },
@@ -11972,19 +53736,22 @@ static const value_string valstr_065_040_NOGO[] = {
{ 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" },
+ { 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" },
@@ -11992,205 +53759,1632 @@ static const value_string valstr_065_040_PSS[] = {
{ 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 } };
-static const value_string valstr_065_040_STTN[] = {
- { 0, "Toggle OFF" },
- { 1, "Toggle ON" },
- { 0, 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
-static const FieldPart I065_040_NOGO = { 2, 1.0, FIELD_PART_UINT, &hf_065_040_NOGO, NULL };
-static const FieldPart I065_040_OVL = { 1, 1.0, FIELD_PART_UINT, &hf_065_040_OVL, NULL };
-static const FieldPart I065_040_TSV = { 1, 1.0, FIELD_PART_UINT, &hf_065_040_TSV, NULL };
-static const FieldPart I065_040_PSS = { 2, 1.0, FIELD_PART_UINT, &hf_065_040_PSS, NULL };
-static const FieldPart I065_040_STTN = { 1, 1.0, FIELD_PART_UINT, &hf_065_040_STTN, NULL };
-static const FieldPart *I065_040_PARTS_v1_3[] = { &I065_040_NOGO, &I065_040_OVL, &I065_040_TSV, &I065_040_PSS, &IXXX_2bit_spare, NULL };
-static const FieldPart *I065_040_PARTS_v1_4[] = { &I065_040_NOGO, &I065_040_OVL, &I065_040_TSV, &I065_040_PSS, &I065_040_STTN, &IXXX_1bit_spare, NULL };
-
-/* Service Status Report */
-static const value_string valstr_065_050_REP[] = {
- { 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_REP = { 8, 1.0, FIELD_PART_UINT, &hf_065_050_REP, NULL };
-static const FieldPart *I065_050_PARTS[] = { &I065_050_REP, NULL };
-
-/* Position of the System Reference Point */
-static const FieldPart I065_RE_SRP_Latitude = { 32, 180.0/1073741824.0, FIELD_PART_FLOAT, &hf_065_RE_SRP_Latitude, NULL };
-static const FieldPart I065_RE_SRP_Longitude = { 32, 180.0/1073741824.0, FIELD_PART_FLOAT, &hf_065_RE_SRP_Longitude, NULL };
-
-static const FieldPart *I065_RE_SRP_PARTS[] = { &I065_RE_SRP_Latitude, &I065_RE_SRP_Longitude, NULL };
-
-/* ASTERIX Record Length */
-static const FieldPart I065_RE_ARL_ARL = { 16, 1.0, FIELD_PART_UINT, &hf_065_RE_ARL_ARL, NULL };
-static const FieldPart *I065_RE_ARL_PARTS[] = { &I065_RE_ARL_ARL, NULL };
-
-/* Items */
DIAG_OFF_PEDANTIC
-static const AsterixField I065_000 = { FIXED, 1, 0, 0, &hf_065_000, I065_000_PARTS, { NULL } };
-static const AsterixField I065_010 = { FIXED, 2, 0, 0, &hf_065_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I065_015 = { FIXED, 1, 0, 0, &hf_065_015, I065_015_PARTS, { NULL } };
-static const AsterixField I065_020 = { FIXED, 1, 0, 0, &hf_065_020, I065_020_PARTS, { NULL } };
-static const AsterixField I065_030 = { FIXED, 3, 0, 0, &hf_065_030, IXXX_TOD, { NULL } };
-static const AsterixField I065_040_v1_3 = { FIXED, 1, 0, 0, &hf_065_040, I065_040_PARTS_v1_3, { NULL } };
-static const AsterixField I065_040_v1_4 = { FIXED, 1, 0, 0, &hf_065_040, I065_040_PARTS_v1_4, { NULL } };
-static const AsterixField I065_050 = { FIXED, 1, 0, 0, &hf_065_050, I065_050_PARTS, { NULL } };
-static const AsterixField I065_RE_SRP = { FIXED, 4, 0, 0, &hf_065_RE_SRP, I065_RE_SRP_PARTS, { NULL } };
-static const AsterixField I065_RE_ARL = { FIXED, 2, 0, 0, &hf_065_RE_ARL, I065_RE_ARL_PARTS, { NULL } };
-static const AsterixField I065_RE = { RE, 0, 0, 1, &hf_065_RE, NULL, { &I065_RE_SRP, &I065_RE_ARL, NULL } };
-static const AsterixField I065_SP = { SP, 0, 0, 1, &hf_065_SP, NULL, { NULL } };
-
-static const AsterixField *I065_v1_3_uap[] = { &I065_010, &I065_000, &I065_015, &I065_030, &I065_020, &I065_040_v1_3, &I065_050,
- &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I065_RE, &I065_SP, NULL };
-static const AsterixField *I065_v1_4_uap[] = { &I065_010, &I065_000, &I065_015, &I065_030, &I065_020, &I065_040_v1_4, &I065_050,
- &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &IX_SPARE, &I065_RE, &I065_SP, NULL };
-static const AsterixField **I065_v1_3[] = { I065_v1_3_uap, NULL };
-static const AsterixField **I065_v1_4[] = { I065_v1_4_uap, NULL };
-static const AsterixField ***I065[] = { I065_v1_4, I065_v1_3 };
+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
-static const enum_val_t I065_versions[] = {
- { "I065_v1_4", "Version 1.4", 0 },
- { "I065_v1_3", "Version 1.3", 1 },
- { NULL, NULL, 0 }
+/* 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
-/* *********************** */
-/* Category 240 */
-/* *********************** */
-/* Fields */
+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
-/* Message Type */
-static const value_string valstr_240_000_MT[] = {
- { 1, "Video Summary messagee" },
+/* 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 } };
-static const FieldPart I240_000_MT = { 8, 1.0, FIELD_PART_UINT, &hf_240_000_MT, NULL };
-static const FieldPart *I240_000_PARTS[] = { &I240_000_MT, 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
-/* Video Record Header*/
-static const FieldPart I240_020_VRH = { 32, 1.0, FIELD_PART_UINT, &hf_240_020_VRH, NULL };
-static const FieldPart *I240_020_PARTS[] = { &I240_020_VRH, NULL };
+/* 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 } };
-/* Video Summary */
-static const FieldPart I240_030_CHAR = { 8, 1.0, FIELD_PART_ASCII, &hf_240_030_CHAR, NULL };
-static const FieldPart *I240_030_PARTS[] = { &I240_030_CHAR, 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
-/* Video Header Nano */
-static const FieldPart I240_040_START_AZ = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_240_040_START_AZ, NULL };
-static const FieldPart I240_040_END_AZ = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_240_040_END_AZ, NULL };
-static const FieldPart I240_040_START_RG = { 32, 1.0, FIELD_PART_UINT, &hf_240_040_START_RG, NULL};
-static const FieldPart I240_040_CELL_DUR = { 32, 1.0, FIELD_PART_UINT, &hf_240_040_CELL_DUR, NULL};
-static const FieldPart *I240_040_PARTS[] = { &I240_040_START_AZ, &I240_040_END_AZ, &I240_040_START_RG, &I240_040_CELL_DUR, NULL };
+/* 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 } };
-/* Video Header Femto */
-static const FieldPart I240_041_START_AZ = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_240_041_START_AZ, NULL };
-static const FieldPart I240_041_END_AZ = { 16, 360.0/65536.0, FIELD_PART_UFLOAT, &hf_240_041_END_AZ, NULL };
-static const FieldPart I240_041_START_RG = { 32, 1.0, FIELD_PART_UINT, &hf_240_041_START_RG, NULL};
-static const FieldPart I240_041_CELL_DUR = { 32, 1.0, FIELD_PART_UINT, &hf_240_041_CELL_DUR, NULL};
-static const FieldPart *I240_041_PARTS[] = { &I240_041_START_AZ, &I240_041_END_AZ, &I240_041_START_RG, &I240_041_CELL_DUR, 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
-/* Format Cell duration in Femto Seconds*/
-static void formatCellDurationNanoSeconds(gchar *s, guint32 value)
-{
- gdouble nanoSeconds = (gdouble)value * 1e-9;
- gdouble meters = nanoSeconds * 299792458.;
+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
- g_snprintf(s, ITEM_LABEL_LENGTH, "%g ns (%g m)", nanoSeconds, meters);
-}
+DIAG_OFF_PEDANTIC
+static const AsterixField ***I001all[] = { I001, I001_V1_4, I001_V1_3, I001_V1_2 };
+DIAG_ON_PEDANTIC
-/* Format Cell duration in Femto Seconds*/
-static void formatCellDurationFemtoSeconds(gchar *s, guint32 value)
-{
- gdouble femtoSeconds = (gdouble)value * 1e-15;
- gdouble meters = femtoSeconds * 299792458.;
+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 }
+};
- g_snprintf(s, ITEM_LABEL_LENGTH, "%g fs (%g m)", femtoSeconds, meters);
-}
+DIAG_OFF_PEDANTIC
+static const AsterixField ***I002all[] = { I002, I002_V1_1, I002_V1_0 };
+DIAG_ON_PEDANTIC
-/* Video Cells Resolution & Data Compression Indicator */
-static const value_string valstr_240_048_C[] = {
- { 0, "No compression applied" },
- { 1, "Compression applied" },
- { 0, NULL }
+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 }
};
-static const value_string valstr_240_048_RES[] = {
- { 1, "Monobit Resolution - 1 bit" },
- { 2, "Low Resolution - 2 bit" },
- { 3, "Medium Resolution - 4 bit" },
- { 4, "High Resolution - 8 bit" },
- { 5, "Very High Resolution - 16 bit" },
- { 6, "Ultra High Resolution - 32 bit" },
- { 0, NULL }
+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 }
};
-static const FieldPart I240_048_C = { 1, 1.0, FIELD_PART_UINT, &hf_240_048_C, 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, &I240_048_RES, NULL };
+DIAG_OFF_PEDANTIC
+static const AsterixField ***I008all[] = { I008, I008_V1_3, I008_V1_2 };
+DIAG_ON_PEDANTIC
-/* Video Octets & Video Cells Counters */
-static const FieldPart I240_049_NB_VB = { 16, 1.0, FIELD_PART_UINT, &hf_240_049_NB_VB, NULL};
-static const FieldPart I240_049_NB_CELLS = { 24, 1.0, FIELD_PART_UINT, &hf_240_049_NB_CELLS, NULL};
-static const FieldPart *I240_049_PARTS[] = { &I240_049_NB_VB, &I240_049_NB_CELLS, NULL };
+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 }
+};
-/* Video Block Low Data Volume */
-static const FieldPart *I240_050_PARTS[] = { NULL };
+DIAG_OFF_PEDANTIC
+static const AsterixField ***I009all[] = { I009, I009_V2_1 };
+DIAG_ON_PEDANTIC
-/* Video Block Medium Data Volume */
-static const FieldPart *I240_051_PARTS[] = { NULL };
+static const enum_val_t I009_versions[] = {
+ { "I009", "Version 2.1 (latest)", 0 },
+ { "I009_v2_1", "Version 2.1", 1 },
+ { NULL, NULL, 0 }
+};
-/* Video Block High Data Volume */
-static const FieldPart *I240_052_PARTS[] = { NULL };
+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 }
+};
-/* Items */
DIAG_OFF_PEDANTIC
-static const AsterixField I240_000 = { FIXED, 1, 0, 0, &hf_240_000, I240_000_PARTS, { NULL } };
-static const AsterixField I240_010 = { FIXED, 2, 0, 0, &hf_240_010, IXXX_SAC_SIC, { NULL } };
-static const AsterixField I240_020 = { FIXED, 4, 0, 0, &hf_240_020, I240_020_PARTS, { NULL } };
-static const AsterixField I240_030 = { REPETITIVE, 1, 1, 0, &hf_240_030, I240_030_PARTS, { NULL } };
-static const AsterixField I240_040 = { FIXED, 12, 0, 0, &hf_240_040, I240_040_PARTS, { NULL } };
-static const AsterixField I240_041 = { FIXED, 12, 0, 0, &hf_240_041, I240_041_PARTS, { NULL } };
-static const AsterixField I240_048 = { FIXED, 2, 0, 0, &hf_240_048, I240_048_PARTS, { NULL } };
-static const AsterixField I240_049 = { FIXED, 5, 0, 0, &hf_240_049, I240_049_PARTS, { NULL } };
-static const AsterixField I240_050 = { REPETITIVE, 4, 1, 0, &hf_240_050, I240_050_PARTS, { NULL } };
-static const AsterixField I240_051 = { REPETITIVE, 64, 1, 0, &hf_240_051, I240_051_PARTS, { NULL } };
-static const AsterixField I240_052 = { REPETITIVE, 256, 1, 0, &hf_240_052, I240_052_PARTS, { NULL } };
-static const AsterixField I240_140 = { FIXED, 3, 0, 0, &hf_240_140, IXXX_TOD, { NULL } };
-static const AsterixField I240_RE = { RE, 0, 0, 1, &hf_240_RE, NULL, { NULL } };
-static const AsterixField I240_SP = { SP, 0, 0, 1, &hf_240_SP, NULL, { NULL } };
-
-static const AsterixField *I240_v1_3_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_v1_3[] = { I240_v1_3_uap, NULL };
-static const AsterixField ***I240[] = { I240_v1_3 };
+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_v1_3", "Version 1.3", 0 },
+ { "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 gint global_categories_version[] = {
+static int global_categories_version[] = {
0, /* 000 */
0, /* 001 */
0, /* 002 */
@@ -12449,267 +55643,6 @@ static gint global_categories_version[] = {
0 /* 255 */
};
-/* all possible categories: When category is added it shall be added to this array. */
-static const AsterixField ****categories[] = {
- NULL, /* 000 */
- I001, /* 001 */
- I002, /* 002 */
- NULL, /* 003 */
- I004, /* 004 */
- NULL, /* 005 */
- NULL, /* 006 */
- NULL, /* 007 */
- I008, /* 008 */
- I009, /* 009 */
- I010, /* 010 */
- I011, /* 011 */
- NULL, /* 012 */
- NULL, /* 013 */
- NULL, /* 014 */
- NULL, /* 015 */
- NULL, /* 016 */
- NULL, /* 017 */
- NULL, /* 018 */
- I019, /* 019 */
- I020, /* 020 */
- I021, /* 021 */
- NULL, /* 022 */
- I023, /* 023 */
- NULL, /* 024 */
- I025, /* 025 */
- NULL, /* 026 */
- NULL, /* 027 */
- NULL, /* 028 */
- NULL, /* 029 */
- NULL, /* 030 */
- NULL, /* 031 */
- I032, /* 032 */
- NULL, /* 033 */
- I034, /* 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 */
- I048, /* 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 */
- I062, /* 062 */
- I063, /* 063 */
- NULL, /* 064 */
- I065, /* 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 */
- NULL, /* 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 */
- I240, /* 240 */
- NULL, /* 241 */
- NULL, /* 242 */
- NULL, /* 243 */
- NULL, /* 244 */
- NULL, /* 245 */
- NULL, /* 246 */
- NULL, /* 247 */
- NULL, /* 248 */
- NULL, /* 249 */
- NULL, /* 250 */
- NULL, /* 251 */
- NULL, /* 252 */
- NULL, /* 253 */
- NULL, /* 254 */
- NULL /* 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");
@@ -12724,9 +55657,9 @@ static int dissect_asterix (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
static void dissect_asterix_packet (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
- guint i;
- guint8 category;
- guint16 length;
+ unsigned i;
+ uint8_t category;
+ uint16_t length;
proto_item *asterix_packet_item;
proto_tree *asterix_packet_tree;
@@ -12776,9 +55709,9 @@ static void dissect_asterix_packet (tvbuff_t *tvb, packet_info *pinfo, proto_tre
}
}
-static void dissect_asterix_data_block (tvbuff_t *tvb, packet_info *pinfo, guint offset, proto_tree *tree, guint8 category, gint length)
+static void dissect_asterix_data_block (tvbuff_t *tvb, packet_info *pinfo, unsigned offset, proto_tree *tree, uint8_t category, int length)
{
- guint8 active_uap;
+ uint8_t active_uap;
int fspec_len, inner_offset, size, counter;
proto_item *asterix_message_item = NULL;
proto_tree *asterix_message_tree = NULL;
@@ -12807,10 +55740,10 @@ static void dissect_asterix_data_block (tvbuff_t *tvb, packet_info *pinfo, guint
}
}
-static gint dissect_asterix_fields (tvbuff_t *tvb, packet_info *pinfo, guint offset, proto_tree *tree, guint8 category, const AsterixField *current_uap[])
+static int dissect_asterix_fields (tvbuff_t *tvb, packet_info *pinfo, unsigned offset, proto_tree *tree, uint8_t category, const AsterixField *current_uap[])
{
- guint i, j, size, start, len, inner_offset, fspec_len;
- guint64 counter;
+ 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;
@@ -12845,7 +55778,8 @@ static gint dissect_asterix_fields (tvbuff_t *tvb, packet_info *pinfo, guint off
asterix_build_subtree (tvb, pinfo, offset + start + current_uap[i]->repetition_counter_size + inner_offset, asterix_field_tree2, current_uap[i]);
}
break;
- case RE:
+ /* 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);
@@ -12853,8 +55787,8 @@ static gint dissect_asterix_fields (tvbuff_t *tvb, packet_info *pinfo, guint off
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, SP, FX_UAP */
+ 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]);
@@ -12865,16 +55799,16 @@ static gint dissect_asterix_fields (tvbuff_t *tvb, packet_info *pinfo, guint off
return size;
}
-static void asterix_build_subtree (tvbuff_t *tvb, packet_info *pinfo, guint offset, proto_tree *parent, const AsterixField *field)
+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;
- gint i, inner_offset, offset_in_tvb, length_in_tvb;
- guint8 go_on;
- gint64 value;
+ 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;
- guint8 *air_speed_im_bit;
+ 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);
@@ -12903,7 +55837,7 @@ static void asterix_build_subtree (tvbuff_t *tvb, packet_info *pinfo, guint offs
// instead one would have to use
// { &hf_020_050_V, ... FT_UINT8, ... 0x80, ...
//
- bytes_in_type = ftype_length (hfi->type);
+ 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;
@@ -12942,7 +55876,7 @@ static void asterix_build_subtree (tvbuff_t *tvb, packet_info *pinfo, guint offs
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, guint8);
+ 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);
@@ -12950,7 +55884,7 @@ static void asterix_build_subtree (tvbuff_t *tvb, packet_info *pinfo, guint offs
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 = (guint8 *)p_get_proto_data (pinfo->pool, pinfo, proto_asterix, 21150);
+ 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
@@ -12964,34 +55898,34 @@ static void asterix_build_subtree (tvbuff_t *tvb, packet_info *pinfo, guint offs
} /* if not null */
}
-static guint8 asterix_bit (guint8 b, guint8 bitNo)
+static uint8_t asterix_bit (uint8_t b, uint8_t bitNo)
{
return bitNo < 8 && (b & (0x80 >> bitNo)) > 0;
}
-/* Function makes gint64 two's complement.
- * Only the bit_len bit are set in gint64. All more significant
+/* 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 (gint64 *v, guint8 bit_len)
+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 guint asterix_fspec_len (tvbuff_t *tvb, guint offset)
+static unsigned asterix_fspec_len (tvbuff_t *tvb, unsigned offset)
{
- guint i;
- guint max_length = tvb_reported_length (tvb) - 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 guint8 asterix_field_exists (tvbuff_t *tvb, guint offset, int bitIndex)
+static uint8_t asterix_field_exists (tvbuff_t *tvb, unsigned offset, int bitIndex)
{
- guint8 bitNo, i;
+ 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;
@@ -12999,11 +55933,11 @@ static guint8 asterix_field_exists (tvbuff_t *tvb, guint offset, int bitIndex)
return asterix_bit (tvb_get_guint8 (tvb, offset + i), bitNo % 8);
}
-static int asterix_field_length (tvbuff_t *tvb, guint offset, const AsterixField *field)
+static int asterix_field_length (tvbuff_t *tvb, unsigned offset, const AsterixField *field)
{
- guint size;
- guint64 count;
- guint8 i;
+ unsigned size;
+ uint64_t count;
+ uint8_t i;
size = 0;
switch(field->type) {
@@ -13013,21 +55947,12 @@ static int asterix_field_length (tvbuff_t *tvb, guint offset, const AsterixField
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 = (guint)(field->repetition_counter_size + count * field->length);
+ size = (unsigned)(field->repetition_counter_size + count * field->length);
break;
- case FX_UAP:
case FX:
for (size = field->length + field->header_length; tvb_get_guint8 (tvb, offset + size - 1) & 1; size += field->length);
break;
- case FX_1:
- size = field->length + field->header_length + ( ( tvb_get_guint8 (tvb, offset + size - 1) & 1 ) ? field->length : 0 );
- break;
- case RE:
- for (i = 0, size = 0; i < field->header_length; i++) {
- size = (size << 8) + tvb_get_guint8 (tvb, offset + i);
- }
- break;
- case SP:
+ case EXP:
for (i = 0, size = 0; i < field->header_length; i++) {
size = (size << 8) + tvb_get_guint8 (tvb, offset + i);
}
@@ -13047,7 +55972,7 @@ static int asterix_field_length (tvbuff_t *tvb, guint offset, const AsterixField
}
/* This works for category 001. For other it may require changes. */
-static guint8 asterix_get_active_uap (tvbuff_t *tvb, guint offset, guint8 category)
+static uint8_t asterix_get_active_uap (tvbuff_t *tvb, unsigned offset, uint8_t category)
{
int i, inner_offset;
AsterixField **current_uap;
@@ -13059,7 +55984,7 @@ static guint8 asterix_get_active_uap (tvbuff_t *tvb, guint offset, guint8 catego
inner_offset = asterix_fspec_len (tvb, offset);
for (i = 0; current_uap[i] != NULL; i++) {
if (asterix_field_exists (tvb, offset, i)) {
- if (current_uap[i]->type == FX_UAP) {
+ 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]);
@@ -13071,7 +55996,7 @@ static guint8 asterix_get_active_uap (tvbuff_t *tvb, guint offset, guint8 catego
return 0;
}
-static int asterix_field_offset (tvbuff_t *tvb, guint offset, const AsterixField *current_uap[], int field_index)
+static int asterix_field_offset (tvbuff_t *tvb, unsigned offset, const AsterixField *current_uap[], int field_index)
{
int i, inner_offset;
inner_offset = 0;
@@ -13085,7 +56010,7 @@ static int asterix_field_offset (tvbuff_t *tvb, guint offset, const AsterixField
return inner_offset;
}
-static int asterix_message_length (tvbuff_t *tvb, guint offset, guint8 category, guint8 active_uap)
+static int asterix_message_length (tvbuff_t *tvb, unsigned offset, uint8_t category, uint8_t active_uap)
{
int i, size;
AsterixField **current_uap;
@@ -13115,177 +56040,738 @@ void proto_register_asterix (void)
{ &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_SAC, { "SAC", "asterix.SAC", FT_UINT16, BASE_DEC, NULL, 0xff00, "SAC code of the source", HFILL } },
- { &hf_XXX_SIC, { "SIC", "asterix.SIC", FT_UINT16, BASE_DEC, NULL, 0x00ff, "SIC code of the source", HFILL } },
{ &hf_XXX_FX, { "FX", "asterix.FX", FT_UINT8, BASE_DEC, VALS (valstr_XXX_FX), 0x01, "Extension into next extent", HFILL } },
- /*{ &hf_XXX_2FX, { "FX", "asterix.FX", FT_UINT16, BASE_DEC, VALS (valstr_XXX_FX), 0x0001, "Extension into next extent", HFILL } },*/
- { &hf_XXX_3FX, { "FX", "asterix.FX", FT_UINT24, BASE_DEC, VALS (valstr_XXX_FX), 0x000001, "Extension into next extent", HFILL } },
- { &hf_XXX_TOD, { "[s]", "asterix.TOD", FT_DOUBLE, BASE_NONE, NULL, 0x0, "Time of day", HFILL } },
- { &hf_XXX_AA, { "Aircraft Address", "asterix.AA", FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL } },
- { &hf_XXX_AI, { "Aircraft Identification", "asterix.AI", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_XXX_MB_DATA, { "MB DATA", "asterix.MB_DATA", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_XXX_BDS1, { "BDS1", "asterix.BDS1", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } },
- { &hf_XXX_BDS2, { "BDS2", "asterix.BDS2", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } },
- { &hf_XXX_TN_16, { "TN", "asterix.TN", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- /* Category 001 */
- { &hf_001_010, { "010, Data Source Identifier", "asterix.001_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_020, { "020, Target Report Descriptor", "asterix.001_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, 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_SSR_PSR, { "SSR/PSR", "asterix.001_020_SSP_PSR", FT_UINT8, BASE_DEC, VALS (valstr_001_020_SSR_PSR), 0x30, 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_DS12, { "DS1/DS2", "asterix.001_020_DS12", FT_UINT8, BASE_DEC, VALS (valstr_001_020_DS12), 0x60, 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, 0x0, NULL, HFILL } },
- { &hf_001_030_WE, { "Warning/Error Condition", "asterix.001_030_WE", FT_UINT8, BASE_DEC, VALS (valstr_001_030_WE), 0xfe, NULL, HFILL } },
- { &hf_001_040, { "040, Measured Position in Polar Coordinates", "asterix.001_040", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_040_RHO, { "Rho[NM]", "asterix.001_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_040_THETA, { "Theta[deg]", "asterix.001_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_042, { "042, Calculated Position in Cartesian Coordinates", "asterix.001_042", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_042_X, { "X[NM]", "asterix.001_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_042_Y, { "Y[NM]", "asterix.001_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_050, { "050, Mode-2 Code in Octal Representation", "asterix.001_050", FT_NONE, BASE_NONE, NULL, 0x0, 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_SQUAWK, { "SQUAWK", "asterix.001_050_SQUAWK", 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, 0x0, NULL, HFILL } },
- { &hf_001_060_QA4, { "QA4", "asterix.001_060_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x08, NULL, HFILL } },
- { &hf_001_060_QA2, { "QA2", "asterix.001_060_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x04, NULL, HFILL } },
- { &hf_001_060_QA1, { "QA1", "asterix.001_060_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x02, NULL, HFILL } },
- { &hf_001_060_QB4, { "QB4", "asterix.001_060_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x01, NULL, HFILL } },
- { &hf_001_060_QB2, { "QB2", "asterix.001_060_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x80, NULL, HFILL } },
- { &hf_001_060_QB1, { "QB1", "asterix.001_060_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x40, NULL, HFILL } },
- { &hf_001_060_QC4, { "QC4", "asterix.001_060_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x20, NULL, HFILL } },
- { &hf_001_060_QC2, { "QC2", "asterix.001_060_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x10, NULL, HFILL } },
- { &hf_001_060_QC1, { "QC1", "asterix.001_060_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x08, NULL, HFILL } },
- { &hf_001_060_QD4, { "QD4", "asterix.001_060_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x04, NULL, HFILL } },
- { &hf_001_060_QD2, { "QD2", "asterix.001_060_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x02, NULL, HFILL } },
- { &hf_001_060_QD1, { "QD1", "asterix.001_060_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_060_Q), 0x01, NULL, HFILL } },
- { &hf_001_070, { "070, Mode-3/A Code in Octal Representation", "asterix.001_070", FT_NONE, BASE_NONE, NULL, 0x0, 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_SQUAWK, { "SQUAWK", "asterix.001_070_SQUAWK", 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, 0x0, NULL, HFILL } },
- { &hf_001_080_QA4, { "QA4", "asterix.001_080_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x08, NULL, HFILL } },
- { &hf_001_080_QA2, { "QA2", "asterix.001_080_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x04, NULL, HFILL } },
- { &hf_001_080_QA1, { "QA1", "asterix.001_080_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x02, NULL, HFILL } },
- { &hf_001_080_QB4, { "QB4", "asterix.001_080_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x01, NULL, HFILL } },
- { &hf_001_080_QB2, { "QB2", "asterix.001_080_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x80, NULL, HFILL } },
- { &hf_001_080_QB1, { "QB1", "asterix.001_080_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x40, NULL, HFILL } },
- { &hf_001_080_QC4, { "QC4", "asterix.001_080_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x20, NULL, HFILL } },
- { &hf_001_080_QC2, { "QC2", "asterix.001_080_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x10, NULL, HFILL } },
- { &hf_001_080_QC1, { "QC1", "asterix.001_080_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x08, NULL, HFILL } },
- { &hf_001_080_QD4, { "QD4", "asterix.001_080_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x04, NULL, HFILL } },
- { &hf_001_080_QD2, { "QD2", "asterix.001_080_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x02, NULL, HFILL } },
- { &hf_001_080_QD1, { "QD1", "asterix.001_080_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_080_Q), 0x01, NULL, HFILL } },
- { &hf_001_090, { "090, Mode-C Code in Binary Representation", "asterix.001_090", FT_NONE, BASE_NONE, NULL, 0x0, 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_FL, { "FL", "asterix.001_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.001_100", FT_NONE, BASE_NONE, NULL, 0x0, 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_C1, { "C1", "asterix.001_100_C1", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } },
- { &hf_001_100_A1, { "A1", "asterix.001_100_A1", FT_UINT8, BASE_DEC, NULL, 0x04, NULL, HFILL } },
- { &hf_001_100_C2, { "C2", "asterix.001_100_C2", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } },
- { &hf_001_100_A2, { "A2", "asterix.001_100_A2", FT_UINT8, BASE_DEC, NULL, 0x01, NULL, HFILL } },
- { &hf_001_100_C4, { "C4", "asterix.001_100_C4", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } },
- { &hf_001_100_A4, { "A4", "asterix.001_100_A4", FT_UINT8, BASE_DEC, NULL, 0x40, NULL, HFILL } },
- { &hf_001_100_B1, { "B1", "asterix.001_100_B1", FT_UINT8, BASE_DEC, NULL, 0x20, NULL, HFILL } },
- { &hf_001_100_D1, { "D1", "asterix.001_100_D1", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } },
- { &hf_001_100_B2, { "B2", "asterix.001_100_B2", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } },
- { &hf_001_100_D2, { "D2", "asterix.001_100_D2", FT_UINT8, BASE_DEC, NULL, 0x04, NULL, HFILL } },
- { &hf_001_100_B4, { "B4", "asterix.001_100_B4", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } },
- { &hf_001_100_D4, { "D4", "asterix.001_100_D4", FT_UINT8, BASE_DEC, NULL, 0x01, NULL, HFILL } },
- { &hf_001_100_QC1, { "QC1", "asterix.001_100_QC1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x08, NULL, HFILL } },
- { &hf_001_100_QA1, { "QA1", "asterix.001_100_QA1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x04, NULL, HFILL } },
- { &hf_001_100_QC2, { "QC2", "asterix.001_100_QC2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x02, NULL, HFILL } },
- { &hf_001_100_QA2, { "QA2", "asterix.001_100_QA2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x01, NULL, HFILL } },
- { &hf_001_100_QC4, { "QC4", "asterix.001_100_QC4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x80, NULL, HFILL } },
- { &hf_001_100_QA4, { "QA4", "asterix.001_100_QA4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x40, NULL, HFILL } },
- { &hf_001_100_QB1, { "QB1", "asterix.001_100_QB1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x20, NULL, HFILL } },
- { &hf_001_100_QD1, { "QD1", "asterix.001_100_QD1", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x10, NULL, HFILL } },
- { &hf_001_100_QB2, { "QB2", "asterix.001_100_QB2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x08, NULL, HFILL } },
- { &hf_001_100_QD2, { "QD2", "asterix.001_100_QD2", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x04, NULL, HFILL } },
- { &hf_001_100_QB4, { "QB4", "asterix.001_100_QB4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x02, NULL, HFILL } },
- { &hf_001_100_QD4, { "QD4", "asterix.001_100_QD4", FT_UINT8, BASE_DEC, VALS (valstr_001_100_Q), 0x01, NULL, HFILL } },
- { &hf_001_120, { "120, Measured Radial Doppler Speed", "asterix.001_120", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_120_MRDS, { "[NM/s]", "asterix.001_120_MRDS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_130, { "130, Radar Plot Characteristics", "asterix.001_130", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_130_RPC, { "Radar Plot Characteristics", "asterix.001_130_RPC", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } },
- { &hf_001_131, { "131, Received Power", "asterix.001_131", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_131_RP, { "[dBm]", "asterix.001_131_RP", FT_INT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_001_141, { "141, Truncated Time of Day", "asterix.001_141", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_141_TTOD, { "TTOD", "asterix.001_141_TTOD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_150, { "150, Presence of X-Pulse", "asterix.001_150", FT_NONE, BASE_NONE, NULL, 0x0, 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, { "XA", "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, 0x0, NULL, HFILL } },
- { &hf_001_161_TPN, { "TPN", "asterix.001_161_TPN", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_001_170, { "170, Track Status", "asterix.001_170", FT_NONE, BASE_NONE, NULL, 0x0, 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", "asterix.001_170_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_001_170_RDPC), 0x08, 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 Coordinates", "asterix.001_200", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_200_CGS, { "[NM/s]", "asterix.001_200_CGS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_200_CH, { "[degrees]", "asterix.001_200_CH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_210, { "210, Track Quality", "asterix.001_210", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_210_TQ, { "Track Quality", "asterix.001_210_TQ", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } },
- { &hf_001_RE, { "Reserved Field", "asterix.001_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_001_SP, { "Special Field", "asterix.001_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 002 */
- { &hf_002_000, { "000, Message Type", "asterix.002_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_000_MT, { "MT", "asterix.002_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_002_000_MT), 0x0, NULL, HFILL } },
- { &hf_002_010, { "010, Data Source Identifier", "asterix.002_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_020, { "020, Sector Number", "asterix.002_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_020_SN, { "Sector number", "asterix.002_020_SN", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_030, { "030, Time of Day", "asterix.002_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_041, { "041, Antenna Rotation Speed", "asterix.002_041", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_041_ARS, { "Antenna Rotation Speed", "asterix.002_041_ARN", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_050, { "050, Station Configuration Status", "asterix.002_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_060, { "060, Station Processing Mode", "asterix.002_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_070, { "070, Plot Count Values", "asterix.002_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_070_A, { "A", "asterix.002_070_A", FT_UINT8, BASE_DEC, VALS (valstr_002_070_A), 0x80, NULL, HFILL } },
- { &hf_002_070_IDENT, { "IDENT", "asterix.002_070_V", FT_UINT8, BASE_DEC, VALS (valstr_002_070_IDENT), 0x7c, 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, 0x0, NULL, HFILL } },
- { &hf_002_080_WE, { "W/E value", "asterix.002_080_WE", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } },
- { &hf_002_090, { "090, Collimation Error", "asterix.002_090", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_090_RE, { "Range error[NM]", "asterix.002_090_RE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_090_AE, { "Azimuth error[deg]", "asterix.002_090_AE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_100, { "100, Dynamic Window - Type 1", "asterix.002_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_100_RHOS, { "Rho start[NM]", "asterix.002_100_RHOS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_100_RHOE, { "Rho end[NM]", "asterix.002_100_RHOE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_100_THETAS, { "Theta start[deg]", "asterix.002_100_THETAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_100_THETAE, { "Theta end[deg]", "asterix.002_100_THETAE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_RE, { "Reserved Field", "asterix.002_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_002_SP, { "Special Field", "asterix.002_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 004 */
- { &hf_004_000, { "000, Message Type", "asterix.004_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_000_MT, { "MT", "asterix.004_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_004_000_MT), 0x0, NULL, HFILL } },
- { &hf_004_010, { "010, Data Source Identifier", "asterix.004_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_015, { "015, SDPS Identifier", "asterix.004_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_020, { "020, Time of Message", "asterix.004_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_030, { "030, Track Number 1", "asterix.004_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_030_TN1, { "TN1", "asterix.004_030_TN1", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_035, { "035, Track Number 1", "asterix.004_035", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_035_TN2, { "TN2", "asterix.004_035_TN1", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_040, { "040, Alert Identifier", "asterix.004_040", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_040_AI, { "AI", "asterix.004_040_AI", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_045, { "045, Alert Status", "asterix.004_045", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_045_AS, { "AS", "asterix.004_045_AS", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_060, { "060, Safety Net Function & System Status", "asterix.004_060", FT_NONE, BASE_NONE, NULL, 0x0, 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 } },
@@ -13293,7 +56779,7 @@ void proto_register_asterix (void)
{ &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_AFDA, { "AFDA", "asterix.004_060_AFDA", FT_UINT8, BASE_DEC, VALS (valstr_004_060_AFDA), 0x80, 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 } },
@@ -13328,669 +56814,2533 @@ void proto_register_asterix (void)
{ &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_070, { "070, Conflict Timing and Separation", "asterix.004_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_01, { "#1: Time to Conflict", "asterix.004_070_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_01_TC, { "TC[s]", "asterix.004_070_01_TC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_02, { "#2: Time to Closest Approach", "asterix.004_070_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_02_TCA, { "TCA[s]", "asterix.004_070_02_TCA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_03, { "#3: Current Horizontal Separation", "asterix.004_070_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_03_CHS, { "CHS[m]", "asterix.004_070_03_CHS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_04, { "#4: Estimated Minimum Horizontal Separation", "asterix.004_070_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_04_MHS, { "MHS[m]", "asterix.004_070_04_MHS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_05, { "#5: Current Vertical Separation", "asterix.004_070_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_05_CVS, { "CVS[ft]", "asterix.004_070_05_CVS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_06, { "#6: Estimated Minimum Vertical Separation", "asterix.004_070_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_070_06_MVS, { "MVS[ft]", "asterix.004_070_06_MVS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_074, { "074, Longitudinal Deviation", "asterix.004_074", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_074_LD, { "LD[m]", "asterix.004_074_LD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_075, { "075, Transversal Distance Deviation", "asterix.004_075", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_075_TDD, { "TDD[m]", "asterix.004_074_TDD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_076, { "076, Vertical Deviation", "asterix.004_076", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_076_VD, { "VD[ft]", "asterix.004_076_VD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100, { "100, Area Definition", "asterix.004_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_01, { "#1: Area Name", "asterix.004_100_", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_01_AN, { "AN", "asterix.004_100_01_AN", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_02, { "#2: Crossing Area Name", "asterix.004_100_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_02_CAN, { "CAN", "asterix.004_100_02_CAN", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_03, { "#3: Runway/Taxiway Designator 1", "asterix.004_100_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_03_RT1, { "RT1", "asterix.004_100_03_RT1", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_04, { "#4: Runway/Taxiway Designator 2", "asterix.004_100_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_04_RT2, { "RT2", "asterix.004_100_04_RT2", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_05, { "#5: Stop Bar Designator", "asterix.004_100_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_05_SB, { "SB", "asterix.004_100_05_SB", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_06, { "#6: Gate Designator", "asterix.004_100_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_100_06_G, { "G", "asterix.004_100_06_G", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_110, { "110, FDPS Sector Control Identification", "asterix.004_110", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_110_Centre, { "Centre", "asterix.004_110_Centre", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_110_Position, { "Position", "asterix.004_110_Position", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_120, { "120, Conflict Characteristics", "asterix.004_120", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_120_01, { "#1: Conflict Nature", "asterix.004_120_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_120_01_MAS, { "MAS", "asterix.004_120_01_MAS", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_MAS), 0x80, NULL, HFILL } },
- { &hf_004_120_01_CAS, { "CAS", "asterix.004_120_01_CAS", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_CAS), 0x40, NULL, HFILL } },
- { &hf_004_120_01_FLD, { "FLD", "asterix.004_120_01_FLD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_FLD), 0x20, NULL, HFILL } },
- { &hf_004_120_01_FVD, { "FVD", "asterix.004_120_01_FVD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_FVD), 0x10, NULL, HFILL } },
- { &hf_004_120_01_Type, { "Type", "asterix.004_120_01_Type", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_Type), 0x08, NULL, HFILL } },
- { &hf_004_120_01_Cross, { "Cross", "asterix.004_120_01_Cross", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_Cross), 0x04, NULL, HFILL } },
- { &hf_004_120_01_Div, { "Div", "asterix.004_120_01_Div", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_Div), 0x02, NULL, HFILL } },
- { &hf_004_120_01_RRC, { "RRC", "asterix.004_120_01_RRC", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_RRC), 0x80, NULL, HFILL } },
- { &hf_004_120_01_RTC, { "RTC", "asterix.004_120_01_RTC", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_RTC), 0x40, NULL, HFILL } },
- { &hf_004_120_01_MRVA, { "MRVA", "asterix.004_120_01_MRVA", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_MRVA), 0x20, NULL, HFILL } },
- { &hf_004_120_01_VRAMCRM, { "VRAMCRM", "asterix.004_120_01_VRAMCRM", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_VRAMCRM), 0x10, NULL, HFILL } },
- { &hf_004_120_01_VRAMVRM, { "VRAMVRM", "asterix.004_120_01_VRAMVRM", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_VRAMVRM), 0x08, NULL, HFILL } },
- { &hf_004_120_01_VRAMVTM, { "VRAMVTM", "asterix.004_120_01_VRAMVTM", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_VRAMVTM), 0x04, NULL, HFILL } },
- { &hf_004_120_01_HAMHD, { "HAMHD", "asterix.004_120_01_HAMHD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_HAMHD), 0x02, NULL, HFILL } },
- { &hf_004_120_01_HAMRD, { "HAMRD", "asterix.004_120_01_HAMRD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_HAMRD), 0x80, NULL, HFILL } },
- { &hf_004_120_01_HAMVD, { "HAMVD", "asterix.004_120_01_HAMVD", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_HAMVD), 0x40, NULL, HFILL } },
- { &hf_004_120_01_DBPSMARR, { "DBPSMARR", "asterix.004_120_01_DBPSMARR", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_DBPSMARR), 0x20, NULL, HFILL } },
- { &hf_004_120_01_DBPSMDEP, { "DBPSMDEP", "asterix.004_120_01_DBPSMDEP", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_DBPSMDEP), 0x10, NULL, HFILL } },
- { &hf_004_120_01_DBPSMTL, { "DBPSMTL", "asterix.004_120_01_DBPSMTL", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_DBPSMTL), 0x08, NULL, HFILL } },
- { &hf_004_120_01_AIW, { "AIW", "asterix.004_120_01_AIW", FT_UINT8, BASE_DEC, VALS (valstr_004_120_01_AIW), 0x04, NULL, HFILL } },
- { &hf_004_120_02, { "#2: Conflict Classification", "asterix.004_120_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_120_02_TID, { "TID", "asterix.004_120_02_TID", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } },
- { &hf_004_120_02_SC, { "SC", "asterix.004_120_02_SC", FT_UINT8, BASE_DEC, NULL, 0x0e, NULL, HFILL } },
- { &hf_004_120_02_CS, { "CS", "asterix.004_120_02_CS", FT_UINT8, BASE_DEC, VALS (valstr_004_120_02_CS), 0x01, NULL, HFILL } },
- { &hf_004_120_03, { "#3: Conflict Probability", "asterix.004_120_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_120_03_Probability, { "Probability[%]", "asterix.004_120_03_Probability", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_120_04, { "#4: Conflict Duration", "asterix.004_120_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_120_04_Duration, { "Duration[s]", "asterix.004_120_04_Duration", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170, { "170, Aircraft Identification & Characteristics 1", "asterix.004_170", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_01, { "#1: Aircraft Identifier 1", "asterix.004_170_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_01_AI1, { "AI1", "asterix.004_170_01_AI1", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_02, { "#2: Mode 3/A Code Aircraft 1", "asterix.004_170_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_02_M31, { "M31", "asterix.001_170_02_M31", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_004_170_03, { "#3: Predicted Conflict Position 1 (WGS84)", "asterix.004_170_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_03_LAT, { "LAT[degrees]", "asterix.004_170_03_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_03_LON, { "LON[degrees]", "asterix.004_170_03_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_03_ALT, { "ALT[ft]", "asterix.004_170_03_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_04, { "#4: Predicted Conflict Position 1 (Cartesian Coordinates)", "asterix.004_170_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_04_X, { "X[m]", "asterix.004_170_04_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_04_Y, { "Y[m]", "asterix.004_170_04_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_04_Z, { "Z[ft]", "asterix.004_170_04_Z", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_05, { "#5: Time to Threshold Aircraft 1", "asterix.004_170_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_05_TT1, { "TT1[s]", "asterix.004_070_05_TT1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_06, { "#6: Distance to Threshold Aircraft 1", "asterix.004_170_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_06_DT1, { "DT1[m]", "asterix.004_070_06_DT1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_07, { "#7: Aircraft Characteristics Aircraft 1", "asterix.004_170_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_07_GATOAT, { "GATOAT", "asterix.004_170_07_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_004_170_07_GATOAT), 0xc0, NULL, HFILL } },
- { &hf_004_170_07_FR1FR2, { "FR1FR2", "asterix.004_170_07_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_004_170_07_FR1FR2), 0x30, NULL, HFILL } },
- { &hf_004_170_07_RVSM, { "RVSM", "asterix.004_170_07_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_004_170_07_RVSM), 0x0c, NULL, HFILL } },
- { &hf_004_170_07_HPR, { "HPR", "asterix.004_170_07_HPR", FT_UINT8, BASE_DEC, VALS (valstr_004_170_07_HPR), 0x02, NULL, HFILL } },
- { &hf_004_170_07_CDM, { "CDM", "asterix.004_170_07_CDM", FT_UINT8, BASE_DEC, VALS (valstr_004_170_07_CDM), 0xc0, NULL, HFILL } },
- { &hf_004_170_07_PRI, { "PRI", "asterix.004_170_07_PRI", FT_UINT8, BASE_DEC, VALS (valstr_004_170_07_PRI), 0x20, NULL, HFILL } },
- { &hf_004_170_07_GV, { "GV", "asterix.004_170_07_GV", FT_UINT8, BASE_DEC, VALS (valstr_004_170_07_GV), 0x10, NULL, HFILL } },
- { &hf_004_170_08, { "#8: Mode S Identifier Aircraft 1", "asterix.004_170_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_08_MS1, { "MS1", "asterix.004_170_08_MS1", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_09, { "#9: Flight Plan Number Aircraft 1", "asterix.004_170_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_09_FP1, { "FP1", "asterix.004_170_09_FP1", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } },
- { &hf_004_170_10, { "#10: Cleared Flight Level Aircraft 1", "asterix.004_170_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_170_10_CF1, { "CF1[FL]", "asterix.004_170_10_CF1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171, { "171, Aircraft Identification & Characteristics 2", "asterix.004_171", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_01, { "#1: Aircraft Identifier 2", "asterix.004_171_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_01_AI2, { "AI2", "asterix.004_171_01_AI2", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_02, { "#2: Mode 3/A Code Aircraft 2", "asterix.004_171_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_02_M32, { "M32", "asterix.001_171_02_M32", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_004_171_03, { "#3: Predicted Conflict Position 2 (WGS84)", "asterix.004_171_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_03_LAT, { "LAT[degrees]", "asterix.004_171_03_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_03_LON, { "LON[degrees]", "asterix.004_171_03_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_03_ALT, { "ALT[ft]", "asterix.004_171_03_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_04, { "#4: Predicted Conflict Position 2 (Cartesian Coordinates)", "asterix.004_171_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_04_X, { "X[m]", "asterix.004_171_04_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_04_Y, { "Y[m]", "asterix.004_171_04_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_04_Z, { "Z[ft]", "asterix.004_171_04_Z", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_05, { "#5: Time to Threshold Aircraft 2", "asterix.004_171_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_05_TT2, { "TT2[s]", "asterix.004_070_05_TT2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_06, { "#6: Distance to Threshold Aircraft 2", "asterix.004_171_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_06_DT2, { "DT2[m]", "asterix.004_070_06_DT2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_07, { "#7: Aircraft Characteristics Aircraft 2", "asterix.004_171_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_07_GATOAT, { "GATOAT", "asterix.004_171_07_GATOAT", FT_UINT8, BASE_DEC, VALS (valstr_004_171_07_GATOAT), 0xc0, NULL, HFILL } },
- { &hf_004_171_07_FR1FR2, { "FR1FR2", "asterix.004_171_07_FR1FR2", FT_UINT8, BASE_DEC, VALS (valstr_004_171_07_FR1FR2), 0x30, NULL, HFILL } },
- { &hf_004_171_07_RVSM, { "RVSM", "asterix.004_171_07_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_004_171_07_RVSM), 0x0c, NULL, HFILL } },
- { &hf_004_171_07_HPR, { "HPR", "asterix.004_171_07_HPR", FT_UINT8, BASE_DEC, VALS (valstr_004_171_07_HPR), 0x02, NULL, HFILL } },
- { &hf_004_171_07_CDM, { "CDM", "asterix.004_171_07_CDM", FT_UINT8, BASE_DEC, VALS (valstr_004_171_07_CDM), 0xc0, NULL, HFILL } },
- { &hf_004_171_07_PRI, { "PRI", "asterix.004_171_07_PRI", FT_UINT8, BASE_DEC, VALS (valstr_004_171_07_PRI), 0x20, NULL, HFILL } },
- { &hf_004_171_07_GV, { "GV", "asterix.004_171_07_GV", FT_UINT8, BASE_DEC, VALS (valstr_004_171_07_GV), 0x10, NULL, HFILL } },
- { &hf_004_171_08, { "#8: Mode S Identifier Aircraft 2", "asterix.004_171_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_08_MS2, { "MS2", "asterix.004_171_08_MS2", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_09, { "#9: Flight Plan Number Aircraft 2", "asterix.004_171_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_09_FP2, { "FP2", "asterix.004_171_09_FP2", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } },
- { &hf_004_171_10, { "#10: Cleared Flight Level Aircraft 2", "asterix.004_171_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_171_10_CF2, { "CF2[FL]", "asterix.004_171_10_CF2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE, { "Reserved Field", "asterix.004_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1, { "Information on Target 1 in Conflict", "asterix.004_RE_TI1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_PW1, { "#1: Current Position Target 1 (WGS-84)", "asterix.004_RE_TI1_PW1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_PW1_LAT, { "LAT[degrees]", "asterix.004_RE_TI1_PW1_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_PW1_LON, { "LON[degrees]", "asterix.004_RE_TI1_PW1_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_PC1, { "#2: Current Position Target 1 (Cartesian Coordinates)", "asterix.004_RE_TI1_PC1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_PC1_X, { "X[m]", "asterix.004_RE_TI1_PC1_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_PC1_Y, { "Y[m]", "asterix.004_RE_TI1_PC1_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_MC1, { "#3: Current Mode C Target 1", "asterix.004_RE_TI1_MC1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_MC1_VALID, { "VALID", "asterix.004_RE_TI1_MC1_VALID", FT_UINT16, BASE_DEC, VALS(valstr_004_RE_TI1_MC_VALID), 0x8000, NULL, HFILL } },
- { &hf_004_RE_TI1_MC1_GARBLED, { "GARBLED", "asterix.004_RE_TI1_MC1_GARBLED", FT_UINT16, BASE_DEC, VALS(valstr_004_RE_TI1_MC_GARBLED), 0x4000, NULL, HFILL } },
- { &hf_004_RE_TI1_MC1_CODE, { "Mode C[FL]", "asterix.004_RE_TI1_MC1_CODE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_V1, { "#4: Current Velocity Target 1", "asterix.004_RE_TI1_V1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_V1_VX, { "Vx[m/s]", "asterix.004_RE_TI1_V1_VX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI1_V1_VY, { "Vy[m/s]", "asterix.004_RE_TI1_V1_VY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2, { "Information on Target 2 in Conflict", "asterix.004_RE_TI2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_PW2, { "#2: Current Position Target 2 (WGS-84)", "asterix.004_RE_TI2_PW2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_PW2_LAT, { "LAT[degrees]", "asterix.004_RE_TI2_PW2_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_PW2_LON, { "LON[degrees]", "asterix.004_RE_TI2_PW2_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_PC2, { "#2: Current Position Target 2 (Cartesian Coordinates)", "asterix.004_RE_TI2_PC2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_PC2_X, { "X[m]", "asterix.004_RE_TI2_PC2_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_PC2_Y, { "Y[m]", "asterix.004_RE_TI2_PC2_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_MC2, { "#3: Current Mode C Target 2", "asterix.004_RE_TI2_MC2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_MC2_VALID, { "VALID", "asterix.004_RE_TI2_MC2_VALID", FT_UINT16, BASE_DEC, VALS(valstr_004_RE_TI2_MC_VALID), 0x8000, NULL, HFILL } },
- { &hf_004_RE_TI2_MC2_GARBLED, { "GARBLED", "asterix.004_RE_TI2_MC2_GARBLED", FT_UINT16, BASE_DEC, VALS(valstr_004_RE_TI2_MC_GARBLED), 0x4000, NULL, HFILL } },
- { &hf_004_RE_TI2_MC2_CODE, { "Mode C[FL]", "asterix.004_RE_TI2_MC2_CODE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_V2, { "#4: Current Velocity Target 2", "asterix.004_RE_TI2_V2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_V2_VX, { "Vx[m/s]", "asterix.004_RE_TI2_V2_VX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TI2_V2_VY, { "Vy[m/s]", "asterix.004_RE_TI2_V2_VY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1, { "Extended Information - Target 1", "asterix.004_RE_EIT1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_VR1, { "#1: Vertical Rate Target 1", "asterix.004_RE_EIT1_VR1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_VR1_VR, { "Rate[ft/min]", "asterix.004_RE_EIT1_VR1_VR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_MS1, { "#2: Mode S Address Target 1", "asterix.004_RE_EIT1_MS1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_MS1_ADDR, { "Address", "asterix.004_RE_EIT1_MS1_ADDR", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_TR1, { "#3: Trajectory Information Target 1", "asterix.004_RE_EIT1_TR1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_TR1_LAT, { "LAT[degrees]", "asterix.004_RE_EIT1_TR1_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_TR1_LON, { "LON[degrees]", "asterix.004_RE_EIT1_TR1_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_TR1_ALT, { "ALT[ft]", "asterix.004_RE_EIT1_TR1_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_TR1_PC, { "PC", "asterix.004_RE_EIT1_TR1_PC", FT_UINT16, BASE_DEC, VALS( valstr_004_RE_EIT1_TR1_PC ), 0xF000, NULL, HFILL } },
- { &hf_004_RE_EIT1_TR1_DEL, { "Delta Time", "asterix.004_RE_EIT1_TR1_DEL", FT_UINT16, BASE_DEC, NULL, 0x0FFF, NULL, HFILL } },
- { &hf_004_RE_EIT1_PG1, { "#4: Parameter Group Target 1", "asterix.004_RE_EIT1_PG1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_PG1_PG, { "Group", "asterix.004_RE_EIT1_PG1_PG", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_AT1, { "#5: Additional Track Information Target 1", "asterix.004_RE_EIT1_AT1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_AT1_STAT, { "Status", "asterix.004_RE_EIT1_AT1_STAT", FT_UINT8, BASE_DEC, NULL, 0xFE, NULL, HFILL } },
- { &hf_004_RE_EIT1_QN1, { "#6: Applicable QNH Target 1", "asterix.004_RE_EIT1_QN1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_QN1_DEL, { "QNH", "asterix.004_RE_EIT1_QN1_DEL", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_VL1, { "#7: Vertical Limiter Target 1", "asterix.004_RE_EIT1_VL1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT1_VL1_VL, { "Limiter", "asterix.004_RE_EIT1_VL1_VL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2, { "Extended Information - Target 2", "asterix.004_RE_EIT2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_VR2, { "#2: Vertical Rate Target 2", "asterix.004_RE_EIT2_VR2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_VR2_VR, { "Rate[ft/min]", "asterix.004_RE_EIT2_VR2_VR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_MS2, { "#2: Mode S Address Target 2", "asterix.004_RE_EIT2_MS2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_MS2_ADDR, { "Address", "asterix.004_RE_EIT2_MS2_ADDR", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_TR2, { "#3: Trajectory Information Target 2", "asterix.004_RE_EIT2_TR2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_TR2_LAT, { "LAT[degrees]", "asterix.004_RE_EIT2_TR2_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_TR2_LON, { "LON[degrees]", "asterix.004_RE_EIT2_TR2_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_TR2_ALT, { "ALT[ft]", "asterix.004_RE_EIT2_TR2_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_TR2_PC, { "PC", "asterix.004_RE_EIT2_TR2_PC", FT_UINT16, BASE_DEC, VALS( valstr_004_RE_EIT2_TR2_PC ), 0xF000, NULL, HFILL } },
- { &hf_004_RE_EIT2_TR2_DEL, { "Delta Time", "asterix.004_RE_EIT2_TR2_DEL", FT_UINT16, BASE_DEC, NULL, 0x0FFF, NULL, HFILL } },
- { &hf_004_RE_EIT2_PG2, { "#4: Parameter Group Target 2", "asterix.004_RE_EIT2_PG2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_PG2_PG, { "Group", "asterix.004_RE_EIT2_PG2_PG", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_AT2, { "#5: Additional Track Information Target 2", "asterix.004_RE_EIT2_AT2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_AT2_STAT, { "Status", "asterix.004_RE_EIT2_AT2_STAT", FT_UINT8, BASE_DEC, NULL, 0xFE, NULL, HFILL } },
- { &hf_004_RE_EIT2_QN2, { "#6: Applicable QNH Target 2", "asterix.004_RE_EIT2_QN2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_QN2_DEL, { "QNH", "asterix.004_RE_EIT2_QN2_DEL", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_VL2, { "#7: Vertical Limiter Target 2", "asterix.004_RE_EIT2_VL2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_EIT2_VL2_VL, { "Limiter", "asterix.004_RE_EIT2_VL2_VL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI, { "Conflict Information", "asterix.004_RE_CI", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_FHV, { "#1: Time to Start of First Horizontal Infringement", "asterix.004_RE_CI_FHV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_FHV_TIME, { "Time[s]", "asterix.004_RE_CI_FHV_TIME", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_LHV, { "#2: Time to End of Last Horizontal Infringement", "asterix.004_RE_CI_LHV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_LHV_TIME, { "Time[s]", "asterix.004_RE_CI_LHV_TIME", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_FVV, { "#3: Time to Start of First Vertical Infringement", "asterix.004_RE_CI_FVV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_FVV_TIME, { "Time[s]", "asterix.004_RE_CI_FVV_TIME", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_LVV, { "#4: Time to End of First Vertical Infringement", "asterix.004_RE_CI_LVV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_LVV_TIME, { "Time[s]", "asterix.004_RE_CI_LVV_TIME", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_DET, { "#5: Detection Counter", "asterix.004_RE_CI_DET", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_DET_CNT, { "Count", "asterix.004_RE_CI_DET_CNT", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_MIS, { "#6: Miss Counter", "asterix.004_RE_CI_MIS", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_MIS_CNT, { "Count", "asterix.004_RE_CI_MIS_CNT", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_CSA, { "#7: Supplementary Conflict Status", "asterix.004_RE_CI_CSA", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_CSA_CUR, { "Current Status", "asterix.004_RE_CI_CSA_CUR", FT_UINT8, BASE_DEC, NULL, 0xFE, NULL, HFILL } },
- { &hf_004_RE_CI_CSA_START, { "Status at Start", "asterix.004_RE_CI_CSA_START", FT_UINT8, BASE_DEC, NULL, 0xFE, NULL, HFILL } },
- { &hf_004_RE_CI_PGC, { "#8: Parameter Group Applicable to Conflict", "asterix.004_RE_CI_PGC", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_PGC_ID, { "Group", "asterix.004_RE_PGC_ID", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_HYP, { "#9: Hypothesis Summary", "asterix.004_RE_CI_HYP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_CI_HYP_ID, { "Hypothesis", "asterix.004_RE_CI_HYP_ID", FT_UINT8, BASE_DEC, VALS(valstr_004_RE_CI_HYP), 0x0, NULL, HFILL } },
- { &hf_004_RE_TTG, { "Time To Go", "asterix.004_RE_TTG", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_TTG_TIME, { "TTG[s]", "asterix.004_RE_TTG_TIME", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD, { "Deviations From Expected Flight Behaviour", "asterix.004_RE_FBD", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_SD, { "#1: Speed Deviation", "asterix.004_RE_FBD_SD", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_SD_DEV, { "Dev[kt]", "asterix.004_RE_FBD_SD_DEV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_VRD, { "#2: Vertical Rate Deviation", "asterix.004_RE_FBD_VRD", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_VRD_DEV, { "Dev[ft/min]", "asterix.004_RE_FBD_VRD_DEV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_PD, { "#3: Pressure Deviation", "asterix.004_RE_FBD_PD", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_PD_DEV, { "Dev[hPa]", "asterix.004_RE_FBD_PD_DEV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_HD, { "#4: Heading Deviation", "asterix.004_RE_FBD_HD", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_HD_DEV, { "Dev[degrees]", "asterix.004_RE_FBD_HD_DEV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_SLD, { "#5: Slope Deviation", "asterix.004_RE_FBD_SLD", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FBD_SLD_DEV, { "Dev[degrees]", "asterix.004_RE_FBD_SLD_DEV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_AFI, { "Alert Function Identifier", "asterix.004_RE_AFI", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_AFI_AFI, { "AFI", "asterix.004_RE_AFI_AFI", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_AFT, { "Alert Function Text", "asterix.004_RE_AFT", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_AFT_AFT, { "AFT", "asterix.004_RE_AFI_AFT", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI, { "Final Approach Support Tool Information", "asterix.004_RE_FASI", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_SO, { "#1 Separator Indicator Orientation", "asterix.004_RE_FASI_SO", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_SO_SIO, { "SIO[degrees]", "asterix.004_RE_FASI_SO_SIO", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_MSH, { "#2 Monitored Horizontal Separation", "asterix.004_RE_FASI_MSH", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_MSH_HSM, { "HSM[NM]", "asterix.004_RE_FASI_MSH_HSM", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_MSV, { "#3 Monitored Vertical Separation", "asterix.004_RE_FASI_MSV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_MSV_VSM, { "MVS[ft]", "asterix.004_RE_FASI_MSV_VSM", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_MST, { "#4 Monitored Time-Based Separation", "asterix.004_RE_FASI_MST", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_MST_TBSM, { "TBSM[s]", "asterix.004_RE_FASI_MST_TBSM", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_WT1, { "#5 Wake Turbulence Cat. Aircraft 1", "asterix.004_RE_FASI_WT1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_WT1_WTC, { "WTC", "asterix.004_RE_FASI_WT1_WTC", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_WT2, { "#6 Wake Turbulence Cat. Aircraft 2", "asterix.004_RE_FASI_WT2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_WT2_WTC, { "WTC", "asterix.004_RE_FASI_WT2_WTC", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_TA1, { "#7 Type of Aircraft 1", "asterix.004_RE_FASI_TA1", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_TA1_TYP, { "TYP", "asterix.004_RE_FASI_TA1_TYP", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_TA2, { "#8 Type of Aircraft 2", "asterix.004_RE_FASI_TA2", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_TA2_TYP, { "TYP", "asterix.004_RE_FASI_TA2_TYP", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_ASI, { "#9 Approach Spacing Indication", "asterix.004_RE_FASI_ASI", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_RE_FASI_ASI_APP, { "ASI[NM]", "asterix.004_RE_FASI_ASI_APP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_004_SP, { "Special Field", "asterix.004_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 008 */
- { &hf_008_000, { "000, Message Type", "asterix.008_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_000_MT, { "MT", "asterix.008_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_008_000_MT), 0x0, NULL, HFILL } },
- { &hf_008_010, { "010, Data Source Identifier", "asterix.008_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_020, { "020, Vector Qualifier", "asterix.008_020", FT_NONE, BASE_NONE, NULL, 0x0, 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_INT, { "INT", "asterix.008_020_INT", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } },
- { &hf_008_020_DIR, { "DIR", "asterix.008_020_DIR", FT_UINT8, BASE_DEC, VALS (valstr_008_020_DIR), 0x0e, NULL, HFILL } },
- { &hf_008_020_TST, { "TST", "asterix.008_020_DIR", FT_UINT8, BASE_DEC, VALS (valstr_008_020_TST), 0x04, NULL, HFILL } },
- { &hf_008_020_ER, { "ER", "asterix.008_020_DIR", 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, 0x0, NULL, HFILL } },
- { &hf_008_034_START_RANGE, { "START RANGE", "asterix.008_034_START_RANGE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_034_END_RANGE, { "END RANGE", "asterix.008_034_END_RANGE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_034_AZIMUTH, { "AZIMUTH", "asterix.008_034_AZIMUTH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_036, { "036, Sequence of Cartesian Vectors in SPF Notation", "asterix.008_036", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_036_X, { "X", "asterix.008_036_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_036_Y, { "Y", "asterix.008_036_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_036_VL, { "VL", "asterix.008_036_VL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_038, { "038, Sequence of Weather Vectors in SPF Notation", "asterix.008_038", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_038_X1, { "X1", "asterix.008_038_X1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_038_Y1, { "Y1", "asterix.008_038_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_038_X2, { "X2", "asterix.008_038_X2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_038_Y2, { "Y1", "asterix.008_038_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_040, { "040, Contour Identifier", "asterix.008_040", FT_NONE, BASE_NONE, NULL, 0x0, 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_INT, { "INT", "asterix.008_040_INT", FT_UINT8, BASE_DEC, NULL, 0x70, NULL, HFILL } },
- { &hf_008_040_FST_LST, { "FST/LST", "asterix.008_040_FST_LST", FT_UINT8, BASE_DEC, VALS (valstr_008_040_FST_LST), 0x03, NULL, HFILL } },
- { &hf_008_040_CSN, { "CSN", "asterix.008_040_CSN", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } },
- { &hf_008_050, { "050, Sequence of Contour Points in SPF Notation", "asterix.008_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_050_X1, { "X1", "asterix.008_050_X1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_050_Y1, { "Y1", "asterix.008_050_Y1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_090, { "090, Time of Day", "asterix.008_090", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_100, { "100, Processing Status", "asterix.008_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_100_f, { "f", "asterix.008_100_f", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_100_R, { "R", "asterix.008_100_R", FT_UINT8, BASE_DEC, NULL, 0x03, NULL, HFILL } },
- { &hf_008_100_Q, { "Q", "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, 0x0, NULL, HFILL } },
- { &hf_008_110_HW, { "HW", "asterix.008_110_HW", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } },
- { &hf_008_120, { "120, Total Number of Items Constituting One Weather", "asterix.008_120", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_120_COUNT, { "COUNT", "asterix.008_120_COUNT", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_008_SP, { "SP, Sequence of Contour Points in SPF Notation", "asterix.008_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_008_RFS, { "RFS, Sequence of Contour Points in SPF Notation", "asterix.008_RFS", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 009 */
- { &hf_009_000, { "000, Message Type", "asterix.009_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_000_MT, { "MT", "asterix.009_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_009_000_MT), 0x0, NULL, HFILL } },
- { &hf_009_010, { "010, Data Source Identifier", "asterix.009_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_020, { "020, Vector Qualifier", "asterix.009_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_020_ORG, { "ORG", "asterix.009_020_ORG", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } },
- { &hf_009_020_INT, { "INT", "asterix.009_020_INT", FT_UINT8, BASE_DEC, VALS (valstr_009_020_INT), 0x70, NULL, HFILL } },
- { &hf_009_020_DIR, { "DIR", "asterix.009_020_DIR", FT_UINT8, BASE_DEC, VALS (valstr_009_020_DIR), 0x0e, NULL, HFILL } },
- { &hf_009_030, { "030, Sequence of Cartesian Vectors", "asterix.009_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_030_X, { "X", "asterix.009_030_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_030_Y, { "Y", "asterix.009_030_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_030_VL, { "VL", "asterix.009_030_VL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_060, { "060, Synchronisation/Control Signal", "asterix.009_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_060_STEP, { "Step number", "asterix.009_060_STEP", FT_UINT8, BASE_DEC, NULL, 0xfc, NULL, HFILL } },
- { &hf_009_070, { "070, Time of Day", "asterix.009_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_080, { "080, Processing Status", "asterix.009_080", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_080_SCALE, { "Scaling factor", "asterix.009_080_SCALE", FT_UINT8, BASE_DEC, NULL, 0xf8, NULL, HFILL } },
- { &hf_009_080_R, { "R", "asterix.009_080_R", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } },
- { &hf_009_080_Q, { "Q", "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, 0x0, NULL, HFILL } },
- { &hf_009_090_CP, { "CP", "asterix.009_090_CP", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } },
- { &hf_009_090_WO, { "WO", "asterix.009_090_WO", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } },
- { &hf_009_090_RS, { "RS", "asterix.009_090_RS", FT_UINT8, BASE_DEC, NULL, 0x07, NULL, HFILL } },
- { &hf_009_100, { "100, Vector Count", "asterix.009_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_009_100_VC, { "VC", "asterix.009_030_VC", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- /* Category 010 */
- { &hf_010_000, { "000, Message Type", "asterix.010_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_000_MT, { "MT", "asterix.010_000_MT", FT_UINT8, BASE_DEC, VALS(valstr_010_000_MT), 0x0, NULL, HFILL } },
- { &hf_010_010, { "010, Data Source Identifier", "asterix.010_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_020, { "020, Target Report Descriptor", "asterix.010_020", FT_NONE, BASE_NONE, NULL, 0x0, 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, 0x0, NULL, HFILL } },
- { &hf_010_040_RHO, { "Rho[M]", "asterix.010_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_040_THETA, { "Theta[deg]", "asterix.010_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_041, { "041, Position in WGS-84 Coordinates", "asterix.010_041", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_041_LAT, { "Latitude in WGS-84 [deg]", "asterix.010_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_041_LON, { "Longitude in WGS-84 [deg]", "asterix.010_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_042, { "042, Position in Cartesian Coordinates", "asterix.010_042", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_042_X, { "X [m]", "asterix.010_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_042_Y, { "Y [m]", "asterix.010_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_060, { "060, Mode-3/A Code in Octal Representation", "asterix.010_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_060_V, { "V", "asterix.010_060_V", FT_UINT16, BASE_DEC, VALS(valstr_010_060_V), 0x8000, NULL, HFILL } },
- { &hf_010_060_G, { "G", "asterix.010_060_G", FT_UINT16, BASE_DEC, VALS(valstr_010_060_G), 0x4000, NULL, HFILL } },
- { &hf_010_060_L, { "L", "asterix.010_060_L", FT_UINT16, BASE_DEC, VALS(valstr_010_060_L), 0x2000, NULL, HFILL } },
- { &hf_010_060_SQUAWK, { "SQUAWK", "asterix.010_060_SQUAWK", 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, 0x0, NULL, HFILL } },
- { &hf_010_090_V, { "V", "asterix.010_090_V", FT_UINT16, BASE_DEC, VALS(valstr_010_090_V), 0x8000, NULL, HFILL } },
- { &hf_010_090_G, { "G", "asterix.010_090_G", FT_UINT16, BASE_DEC, VALS(valstr_010_090_G), 0x4000, NULL, HFILL } },
- { &hf_010_090_FL, { "FL", "asterix.010_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_091, { "091, Measured Height", "asterix.010_091", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_091_MH, { "MH [ft]", "asterix.010_091_MH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_131, { "131, Amplitude of Primary Plot", "asterix.010_131", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_131_PAM, { "PAM [dBm]", "asterix.010_131_PAM", FT_INT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_010_140, { "140, Time of Day", "asterix.010_140", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_161, { "161, Track Number", "asterix.010_161", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_161_TN, { "TN", "asterix.010_161_TN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } },
- { &hf_010_170, { "170, Track Status", "asterix.010_170", FT_NONE, BASE_NONE, NULL, 0x0, 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, 0x0, NULL, HFILL } },
- { &hf_010_200_GS, { "Ground Speed [NM/s]", "asterix.010_200_GS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_200_TA, { "Track Angle [deg]", "asterix.010_200_TA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_202, { "202, Calculated Track Velocity in Cartesian Coordinates", "asterix.010_202", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_202_VX, { "VX [m/s]", "asterix.010_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_202_VY, { "VY [m/s]", "asterix.010_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_210, { "210, Calculated Acceleration", "asterix.010_210", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_210_AX, { "AX [m/s^2]", "asterix.010_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_210_AY, { "AY [m/s^2]", "asterix.010_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_220, { "220, Target Address", "asterix.010_220", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_245, { "245, Target Identification", "asterix.010_245", FT_NONE, BASE_NONE, NULL, 0x0, 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_250, { "250, Mode S MB Data", "asterix.010_250", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_270, { "270, Target Size & Orientation", "asterix.010_270", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_270_LENGTH, { "Length[m]", "asterix.010_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_270_ORIENTATION, { "Orientation[m]", "asterix.010_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_270_WIDTH, { "Width[m]", "asterix.010_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_280, { "280, Presence", "asterix.010_280", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_280_DRHO, { "DRHO [m]", "asterix.010_280_DRHO", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_280_DTHETA, { "DTHETA [deg]", "asterix.010_280_DTHETA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_300, { "300, Vehicle Fleet Identification", "asterix.010_300", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_300_VFI, { "VFI", "asterix.010_300_VFI", FT_UINT8, BASE_DEC, VALS(valstr_010_300_VFI), 0x0, NULL, HFILL } },
- { &hf_010_310, { "310, Pre-programmed Message", "asterix.010_310", FT_NONE, BASE_NONE, NULL, 0x0, 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, 0x0, NULL, HFILL } },
- { &hf_010_500_SDPx, { "SDPx [m]", "asterix.010_500_SDPx", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_500_SDPy, { "SDPy [m]", "asterix.010_500_SDPy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_500_SDPxy, { "SDPxy", "asterix.010_500_SDPxy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_550, { "550, System Status", "asterix.010_550", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_550_NOGO, { "NOGO", "asterix.010_550_NOGO", FT_UINT8, BASE_DEC, VALS(valstr_010_550_NOGO), 0xc0, NULL, HFILL } },
- { &hf_010_550_OVL, { "OVL", "asterix.010_550_OVL", FT_UINT8, BASE_DEC, VALS(valstr_010_550_OVL), 0x20, NULL, HFILL } },
- { &hf_010_550_TSV, { "TSV", "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_SP, { "Special Purpose Field", "asterix.010_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_010_RE, { "Reserved Expansion Field", "asterix.010_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 011 */
- { &hf_011_000, { "000, Message Type", "asterix.011_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_000_MT, { "MT", "asterix.011_000_MT", FT_UINT8, BASE_DEC, VALS(valstr_011_000_MT), 0x0, NULL, HFILL } },
- { &hf_011_010, { "010, Data Source Identification", "asterix.011_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_015, { "015, Service Identification", "asterix.011_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_015_SI, { "SI", "asterix.011_015_SI", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_011_041, { "041, Position in WGS-84 Co-ordinates", "asterix.011_041", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_041_LAT, { "Latitude [deg]", "asterix.011_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_041_LON, { "Longitude [deg]", "asterix.011_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.011_042", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_042_X, { "X-Component [NM]", "asterix.011_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_042_Y, { "Y-Component [NM]", "asterix.011_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_060, { "060, Mode-3/A Code in Octal Representation", "asterix.011_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_060_SQUAWK, { "SQUAWK", "asterix.011_060_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_011_090, { "090, Measured Flight Level", "asterix.011_090", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_090_MFL, { "Measured Flight Level [FL]", "asterix.011_090_MFL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_092, { "092, Calculated Track Geometric Altitude", "asterix.011_092", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_092_ALT, { "Altitude [ft]", "asterix.011_092_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_093, { "093, Calculated Track Barometric Altitude", "asterix.011_093", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_093_QNH, { "QNH", "asterix.011_093_QNH", FT_UINT8, BASE_DEC, VALS(valstr_011_093_QNH), 0x80, NULL, HFILL } },
- { &hf_011_093_ALT, { "Altitude [FL]", "asterix.011_093_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_140, { "140, Time Of Track Information", "asterix.011_140", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_161, { "161, Track Number", "asterix.011_161", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_161_TN, { "TN", "asterix.011_161_TN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } },
- { &hf_011_170, { "170, Track Status", "asterix.011_170", FT_NONE, BASE_NONE, NULL, 0x0, 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, { "FRI/FOE", "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, 0x0, NULL, HFILL } },
- { &hf_011_202_VX, { "Vx [m/s]", "asterix.011_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_202_VY, { "Vy [m/s]", "asterix.011_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_210, { "210, Calculated Acceleration", "asterix.011_210", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_210_AX, { "Ax [m/s^2]", "asterix.011_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_210_AY, { "Ay [m/s^2]", "asterix.011_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_215, { "215, Calculated Rate Of Climb/Descent", "asterix.011_215", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_215_ROCD, { "ROCD [ft/min]", "asterix.011_215_ROCD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_245, { "245, Target Identification", "asterix.011_245", FT_NONE, BASE_NONE, NULL, 0x0, 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_270, { "270, Target Size & Orientation", "asterix.011_270", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_270_LENGTH, { "Length [m]", "asterix.011_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_270_ORIENTATION, { "Orientation [deg]", "asterix.011_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_270_WIDTH, { "Width [m]", "asterix.011_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290, { "290, System Track Update Ages", "asterix.011_290", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_01, { "#1: PSR Age", "asterix.011_290_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_01_PSR, { "PSR [s]", "asterix.011_290_01_PSR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_02, { "#2: SSR Age", "asterix.011_290_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_02_SSR, { "SSR [s]", "asterix.011_290_02_SSR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_03, { "#3: Mode 3/A Age", "asterix.011_290_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_03_MDA, { "MDA [s]", "asterix.011_290_03_MDA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_04, { "#4: Measured Flight Level Age", "asterix.011_290_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_04_MFL, { "MFL [s]", "asterix.011_290_04_MFL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_05, { "#5: Mode S Age", "asterix.011_290_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_05_MDS, { "MDS [s]", "asterix.011_290_05_MDS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_06, { "#6: ADS Age", "asterix.011_290_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_06_ADS, { "ADS [s]", "asterix.011_290_06_ADS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_07, { "#7: ADS-B Age", "asterix.011_290_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_07_ADB, { "ADB [s]", "asterix.011_290_07_ADB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_08, { "#8: Mode 1 Age", "asterix.011_290_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_08_MD1, { "MD1 [s]", "asterix.011_290_08_MD1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_09, { "#9: Mode 2 Age", "asterix.011_290_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_09_MD2, { "MD2 [s]", "asterix.011_290_09_MD2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_10, { "#10: Loop Age", "asterix.011_290_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_10_LOP, { "LOP [s]", "asterix.011_290_10_LOP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_11, { "#11: Track Age", "asterix.011_290_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_11_TRK, { "TRK [s]", "asterix.011_290_11_TRK", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_12, { "#12: Multilateration Age", "asterix.011_290_12", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_290_12_MUL, { "MUL [s]", "asterix.011_290_12_MUL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_300, { "300, Vehicle Fleet Identification", "asterix.011_300", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_300_VFI, { "VFI", "asterix.011_300_VFI", FT_UINT8, BASE_DEC, VALS(valstr_011_300_VFI), 0x0, NULL, HFILL } },
- { &hf_011_310, { "310, Pre-programmed Message", "asterix.011_310", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_310_TRB, { "TRB", "asterix.011_310_TRB", FT_UINT8, BASE_DEC, VALS(valstr_011_310_TRB), 0x80, NULL, HFILL } },
- { &hf_011_310_MSG, { "MSG", "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, 0x0, NULL, HFILL } },
- { &hf_011_380_01, { "#1: Mode S MB Data", "asterix.011_380_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_380_02, { "#2: Aircraft Address", "asterix.011_380_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* #3 Never Sent */
- { &hf_011_380_04, { "#4: Communications/ACAS Capability and Flight Status", "asterix.011_380_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_380_04_COM, { "COM", "asterix.011_380_04_COM", FT_UINT8, BASE_DEC, VALS(valstr_011_380_04_COM), 0xe0, NULL, HFILL } },
- { &hf_011_380_04_STAT, { "STAT", "asterix.011_380_04_STAT", FT_UINT8, BASE_DEC, VALS(valstr_011_380_04_STAT), 0x1e, NULL, HFILL } },
- { &hf_011_380_04_SSC, { "SSC", "asterix.011_380_04_SSC", FT_UINT8, BASE_DEC, VALS(valstr_011_380_04_SSC), 0x80, NULL, HFILL } },
- { &hf_011_380_04_ARC, { "ARC", "asterix.011_380_04_ARC", FT_UINT8, BASE_DEC, VALS(valstr_011_380_04_ARC), 0x40, NULL, HFILL } },
- { &hf_011_380_04_AIC, { "AIC", "asterix.011_380_04_AIC", FT_UINT8, BASE_DEC, VALS(valstr_011_380_04_AIC), 0x20, NULL, HFILL } },
- { &hf_011_380_04_B1A, { "B1A", "asterix.011_380_04_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } },
- { &hf_011_380_04_B1B, { "B1B", "asterix.011_380_04_B1B", FT_UINT8, BASE_HEX, NULL, 0x0f, NULL, HFILL } },
- { &hf_011_380_04_AC, { "AC", "asterix.011_380_04_AC", FT_UINT16, BASE_DEC, VALS(valstr_011_380_04_AC), 0xc000, NULL, HFILL } },
- { &hf_011_380_04_MN, { "MN", "asterix.011_380_04_MN", FT_UINT16, BASE_DEC, VALS(valstr_011_380_04_MN), 0x3000, NULL, HFILL } },
- { &hf_011_380_04_DC, { "DC", "asterix.011_380_04_DC", FT_UINT16, BASE_DEC, VALS(valstr_011_380_04_DC), 0x0c00, NULL, HFILL } },
- /* #5 to #7 Never Sent */
- { &hf_011_380_08, { "#8: Aircraft Derived Aircraft Type", "asterix.011_380_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_380_08_ADAT, { "ADAT", "asterix.011_380_08_ADAT", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_380_09, { "#9 Emitter Category", "asterix.011_380_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_380_09_ECAT, { "ECAT", "asterix.011_380_09_ECAT", FT_UINT8, BASE_DEC, VALS(valstr_011_380_09_ECAT), 0x0, NULL, HFILL } },
- /* #10 Never Sent */
- { &hf_011_380_11, { "#11 Available Technologies", "asterix.011_380_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_380_11_VDL, { "VDL", "asterix.011_380_11_VDL", FT_UINT8, BASE_DEC, VALS(valstr_011_380_11_VDL), 0x80, NULL, HFILL } },
- { &hf_011_380_11_MDS, { "MDS", "asterix.011_380_11_MDS", FT_UINT8, BASE_DEC, VALS(valstr_011_380_11_MDS), 0x40, NULL, HFILL } },
- { &hf_011_380_11_UAT, { "UAT", "asterix.011_380_11_UAT", FT_UINT8, BASE_DEC, VALS(valstr_011_380_11_UAT), 0x20, NULL, HFILL } },
- { &hf_011_390, { "390, Flight Plan Related Data", "asterix.011_390", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_01, { "#1: FPPS Identification Tag", "asterix.011_390_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_02, { "#2: Callsign", "asterix.011_390_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_02_CSN, { "CSN", "asterix.011_390_02_CSN", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_03, { "#3: IFPS_FLIGHT_ID", "asterix.011_390_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_03_TYP, { "TYP", "asterix.011_390_03_TYP", FT_UINT32, BASE_DEC, VALS(valstr_011_390_03_TYP), 0xc0000000, NULL, HFILL } },
- { &hf_011_390_03_NBR, { "NBR", "asterix.011_390_03_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } },
- { &hf_011_390_04, { "#4: Flight Category", "asterix.011_390_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_04_GAT_OAT, { "GAT/OAT", "asterix.011_390_04_GAT_OAT", FT_UINT8, BASE_DEC, VALS(valstr_011_390_04_GAT_OAT), 0xc0, NULL, HFILL } },
- { &hf_011_390_04_FR12, { "FR1/FR2", "asterix.011_390_04_FR12", FT_UINT8, BASE_DEC, VALS(valstr_011_390_04_FR12), 0x30, NULL, HFILL } },
- { &hf_011_390_04_RVSM, { "RVSM", "asterix.011_390_04_RVSM", FT_UINT8, BASE_DEC, VALS(valstr_011_390_04_RVSM), 0x0c, NULL, HFILL } },
- { &hf_011_390_04_HPR, { "HPR", "asterix.011_390_04_HPR", FT_UINT8, BASE_DEC, VALS(valstr_011_390_04_HPR), 0x02, NULL, HFILL } },
- { &hf_011_390_05, { "#5: Type of Aircraft", "asterix.011_390_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_05_ACTYP, { "ACTYP", "asterix.011_390_05_ACTYP", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_06, { "#6: Wake Turbulence Category", "asterix.011_390_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_06_WTC, { "WTC", "asterix.011_390_06_WTC", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_07, { "#7: Departure Airport", "asterix.011_390_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_07_ADEP, { "ADEP", "asterix.011_390_07_ADEP", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_08, { "#8: Destination Airport", "asterix.011_390_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_08_ADES, { "ADES", "asterix.011_390_08_ADES", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_09, { "#9: Runway Designation", "asterix.011_390_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_09_RWY, { "RWY", "asterix.011_390_09_RWY", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_10, { "#10: Current Cleared Flight Level", "asterix.011_390_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_10_CFL, { "CFL [FL]", "asterix.011_390_10_CFL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_11, { "#11: Current Control Position", "asterix.011_390_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_11_CNTR, { "CNTR", "asterix.011_390_11_CNTR", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_11_POS, { "POS", "asterix.011_390_11_POS", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_12, { "#12: Time of Departure", "asterix.011_390_12", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_12_TYP, { "TYP", "asterix.011_390_12_TYP", FT_UINT32, BASE_DEC, VALS(valstr_011_390_12_TYP), 0xf8000000, NULL, HFILL } },
- { &hf_011_390_12_DAY, { "DAY", "asterix.011_390_12_DAY", FT_UINT32, BASE_DEC, VALS(valstr_011_390_12_DAY), 0x06000000, NULL, HFILL } },
- { &hf_011_390_12_HOR, { "HOUR", "asterix.011_390_12_HOR", FT_UINT32, BASE_DEC, NULL, 0x001f0000, NULL, HFILL } },
- { &hf_011_390_12_MIN, { "MIN", "asterix.011_390_12_MIN", FT_UINT32, BASE_DEC, NULL, 0x00003f00, NULL, HFILL } },
- { &hf_011_390_12_AVS, { "AVS", "asterix.011_390_12_AVS", FT_UINT32, BASE_DEC, VALS(valstr_011_390_12_AVS), 0x00000080, NULL, HFILL } },
- { &hf_011_390_12_SEC, { "SEC", "asterix.011_390_12_SEC", FT_UINT32, BASE_DEC, NULL, 0x0000003f, NULL, HFILL } },
- { &hf_011_390_13, { "#13: Aircraft Stand", "asterix.011_390_13", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_13_STAND, { "STAND", "asterix.011_390_13_STAND", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_14, { "#14: Stand Status", "asterix.011_390_14", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_390_14_EMP, { "EMP", "asterix.011_390_14_EMP", FT_UINT8, BASE_DEC, VALS(valstr_011_390_14_EMP), 0xc0, NULL, HFILL } },
- { &hf_011_390_14_AVL, { "AVL", "asterix.011_390_14_AVL", FT_UINT8, BASE_DEC, VALS(valstr_011_390_14_AVL), 0x30, NULL, HFILL } },
- { &hf_011_430, { "430, Phase of Flight", "asterix.011_430", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_430_FLS, { "FLS", "asterix.011_430_FLS", FT_UINT8, BASE_DEC, VALS(valstr_011_430_FLS), 0x0, NULL, HFILL } },
- { &hf_011_500, { "500, Estimated Accuracies", "asterix.011_500", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_01, { "#1: Estimated Accuracy Of Track Position (Cartesian)", "asterix.011_500_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_01_APCX, { "APC-X [m]", "asterix.011_500_01_APCX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_01_APCY, { "APC-Y [m]", "asterix.011_500_01_APCY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_02, { "#2: Estimated Accuracy Of Track Position (WGS-84)", "asterix.011_500_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_02_APWLAT, { "APW LAT [deg]", "asterix.011_500_02_APWLAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_02_APWLON, { "APW LON [deg]", "asterix.011_500_02_APWLON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_03, { "#3: Estimated Accuracy Of Height", "asterix.011_500_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_03_ATA, { "ATA [m]", "asterix.011_500_03_ATA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_04, { "#4: Estimated Accuracy of Track Velocity (Cartesian)", "asterix.011_500_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_04_AVCX, { "AVC-X [m/s]", "asterix.011_500_04_AVCX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_04_AVCY, { "AVC-Y [m/s]", "asterix.011_500_04_AVCY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_05, { "#5: Estimated Accuracy Of Rate Of Climb/Descent", "asterix.011_500_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_05_ARC, { "ARC [m/s]", "asterix.011_500_05_ARC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_06, { "#6: Estimated Accuracy Of Acceleration (Cartesian)", "asterix.011_500_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_06_AACX, { "AAC-X [m/s^2]", "asterix.011_500_06_AAX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_500_06_AACY, { "AAC-Y [m/s^2]", "asterix.011_500_06_AAY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_600, { "600, Alert Messages", "asterix.011_600", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_600_ACK, { "ACK", "asterix.011_600_ACK", FT_UINT8, BASE_DEC, VALS(valstr_011_600_ACK), 0x80, NULL, HFILL } },
- { &hf_011_600_SVR, { "SVR", "asterix.011_600_SVR", FT_UINT8, BASE_DEC, VALS(valstr_011_600_SVR), 0x60, NULL, HFILL } },
- { &hf_011_600_ALT, { "Alert Type", "asterix.011_600_ALT", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_011_600_ALN, { "Alert Number", "asterix.011_600_ALN", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_011_605, { "605, Tracks in Alert", "asterix.011_605", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_605_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, 0x0, NULL, HFILL } },
- { &hf_011_610_BKN, { "Bank Number", "asterix.011_610_BKN", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } },
- { &hf_011_610_I01, { "I1", "asterix.011_610_I01", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I01), 0x800, NULL, HFILL } },
- { &hf_011_610_I02, { "I2", "asterix.011_610_I02", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I02), 0x400, NULL, HFILL } },
- { &hf_011_610_I03, { "I3", "asterix.011_610_I03", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I03), 0x200, NULL, HFILL } },
- { &hf_011_610_I04, { "I4", "asterix.011_610_I04", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I04), 0x100, NULL, HFILL } },
- { &hf_011_610_I05, { "I5", "asterix.011_610_I05", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I05), 0x80, NULL, HFILL } },
- { &hf_011_610_I06, { "I6", "asterix.011_610_I06", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I06), 0x40, NULL, HFILL } },
- { &hf_011_610_I07, { "I7", "asterix.011_610_I07", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I07), 0x20, NULL, HFILL } },
- { &hf_011_610_I08, { "I8", "asterix.011_610_I08", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I08), 0x10, NULL, HFILL } },
- { &hf_011_610_I09, { "I9", "asterix.011_610_I09", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I09), 0x08, NULL, HFILL } },
- { &hf_011_610_I10, { "I10", "asterix.011_610_I10", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I10), 0x04, NULL, HFILL } },
- { &hf_011_610_I11, { "I11", "asterix.011_610_I11", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I11), 0x02, NULL, HFILL } },
- { &hf_011_610_I12, { "I12", "asterix.011_610_I12", FT_UINT16, BASE_DEC, VALS(valstr_011_610_I12), 0x01, NULL, HFILL } },
- { &hf_011_SP, { "Special Purpose Field", "asterix.011_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_011_RE, { "Reserved Expansion Field", "asterix.011_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 019 */
- { &hf_019_000, { "000, Message Type", "asterix.019_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_000_MT, { "MT", "asterix.019_000_MT", FT_UINT8, BASE_DEC, VALS(valstr_019_000_MT), 0x0, NULL, HFILL } },
- { &hf_019_010, { "010, Data Source Identification", "asterix.019_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_140, { "140, Time of Day", "asterix.019_140", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_550, { "550, System Status", "asterix.019_550", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_550_NOGO, { "NOGO", "asterix.019_550_NOGO", FT_UINT8, BASE_DEC, VALS(valstr_019_550_NOGO), 0xc0, NULL, HFILL } },
- { &hf_019_550_OVL, { "OVL", "asterix.019_550_OVL", FT_UINT8, BASE_DEC, VALS(valstr_019_550_OVL), 0x20, NULL, HFILL } },
- { &hf_019_550_TSV, { "TSV", "asterix.019_550_TSV", FT_UINT8, BASE_DEC, VALS(valstr_019_550_TSV), 0x10, NULL, HFILL } },
- { &hf_019_550_TTF, { "TTF", "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, 0x0, NULL, HFILL } },
- { &hf_019_551_TP1_EXEC, { "SP1", "asterix.019_551_SP1_EXEC", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_EXEC), 0x80, NULL, HFILL } },
- { &hf_019_551_TP1_GOOD, { "SP1", "asterix.019_551_SP1_GOOD", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_GOOD), 0x40, NULL, HFILL } },
- { &hf_019_551_TP2_EXEC, { "SP2", "asterix.019_551_SP2_EXEC", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_EXEC), 0x20, NULL, HFILL } },
- { &hf_019_551_TP2_GOOD, { "SP2", "asterix.019_551_SP2_GOOD", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_GOOD), 0x10, NULL, HFILL } },
- { &hf_019_551_TP3_EXEC, { "SP3", "asterix.019_551_SP3_EXEC", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_EXEC), 0x08, NULL, HFILL } },
- { &hf_019_551_TP3_GOOD, { "SP3", "asterix.019_551_SP3_GOOD", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_GOOD), 0x04, NULL, HFILL } },
- { &hf_019_551_TP4_EXEC, { "SP4", "asterix.019_551_SP4_EXEC", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_EXEC), 0x02, NULL, HFILL } },
- { &hf_019_551_TP4_GOOD, { "SP4", "asterix.019_551_SP4_GOOD", FT_UINT8, BASE_DEC, VALS(valstr_019_551_TPX_GOOD), 0x01, NULL, HFILL } },
- { &hf_019_552, { "552, Remote Sensor Detailed Status", "asterix.019_552", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_552_RS_Identification, { "RS Identification", "asterix.019_552_RS_Identification", FT_UINT16, BASE_DEC, NULL, 0xff00, NULL, HFILL } },
- { &hf_019_552_Receiver_1090_MHz, { "Receiver 1090 MHz", "asterix.019_552_Receiver_1090_MHz", FT_UINT16, BASE_DEC, VALS(valstr_019_552_present), 0x0040, NULL, HFILL } },
- { &hf_019_552_Transmitter_1030_MHz, { "Transmitter 1030 MHz", "asterix.019_552_Transmitter_1030_MHz", FT_UINT16, BASE_DEC, VALS(valstr_019_552_present), 0x0020, NULL, HFILL } },
- { &hf_019_552_Transmitter_1090_MHz, { "Transmitter 1090 MHz", "asterix.019_552_Transmitter_1090_MHz", FT_UINT16, BASE_DEC, VALS(valstr_019_552_present), 0x0010, NULL, HFILL } },
- { &hf_019_552_RS_Status, { "RS Status", "asterix.019_552_RS_Status", FT_UINT16, BASE_DEC, VALS(valstr_019_552_RS_Status), 0x0008, NULL, HFILL } },
- { &hf_019_552_RS_Operational, { "RS Operational", "asterix.019_552_RS_Operational", FT_UINT16, BASE_DEC, VALS(valstr_019_552_RS_Operational), 0x0004, NULL, HFILL } },
- { &hf_019_553, { "553, Reference Transponder Detailed Status", "asterix.019_553", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_1_Status, { "RT1", "asterix.019_553_Ref_Trans_1_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_2_Status, { "RT2", "asterix.019_553_Ref_Trans_2_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_3_Status, { "RT3", "asterix.019_553_Ref_Trans_3_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_4_Status, { "RT4", "asterix.019_553_Ref_Trans_4_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_5_Status, { "RT5", "asterix.019_553_Ref_Trans_5_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_6_Status, { "RT6", "asterix.019_553_Ref_Trans_6_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_7_Status, { "RT7", "asterix.019_553_Ref_Trans_7_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_8_Status, { "RT8", "asterix.019_553_Ref_Trans_8_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_9_Status, { "RT9", "asterix.019_553_Ref_Trans_9_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_10_Status, { "RT10", "asterix.019_553_Ref_Trans_10_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_11_Status, { "RT11", "asterix.019_553_Ref_Trans_11_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_12_Status, { "RT12", "asterix.019_553_Ref_Trans_12_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_13_Status, { "RT13", "asterix.019_553_Ref_Trans_13_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_14_Status, { "RT14", "asterix.019_553_Ref_Trans_14_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_15_Status, { "RT15", "asterix.019_553_Ref_Trans_15_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_16_Status, { "RT16", "asterix.019_553_Ref_Trans_16_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_17_Status, { "RT17", "asterix.019_553_Ref_Trans_17_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_18_Status, { "RT18", "asterix.019_553_Ref_Trans_18_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_19_Status, { "RT19", "asterix.019_553_Ref_Trans_19_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0xc0, NULL, HFILL } },
- { &hf_019_553_Ref_Trans_20_Status, { "RT20", "asterix.019_553_Ref_Trans_20_Status", FT_UINT8, BASE_DEC, VALS (valstr_019_553_Ref_Trans_Status), 0x0c, NULL, HFILL } },
- { &hf_019_600, { "600, Position of the MLT System Reference Point (WGS-84)", "asterix.019_600", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_600_Latitude, { "Latitude [deg]", "asterix.019_600_Latitude", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_600_Longitude, { "Longitude [deg]", "asterix.019_600_Longitude", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_610, { "610, Height of the MLT System Reference Point (WGS-84)", "asterix.019_610", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_610_Height, { "Height [m]", "asterix.019_610_Height", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_620, { "620, WGS-84 Undulation", "asterix.019_620", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_620_Undulation, { "Undulation [m]", "asterix.019_620_Undulation", FT_INT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_019_RE, { "Reserved Field", "asterix.019_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_019_SP, { "Special Field", "asterix.019_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 020 */
- { &hf_020_010, { "010, Data Source Identifier", "asterix.020_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_020, { "020, Target Report Descriptor", "asterix.020_020", FT_NONE, BASE_NONE, NULL, 0x0, 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 } },
@@ -14005,69 +59355,58 @@ void proto_register_asterix (void)
{ &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, 0x0, NULL, HFILL } },
- { &hf_020_030_WE, { "WE", "asterix.020_030_WE", FT_UINT8, BASE_DEC, VALS (valstr_020_030_WE), 0xfe, NULL, HFILL } },
- { &hf_020_041, { "041, Position in WGS-84 Coordinates", "asterix.020_041", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_041_LAT, { "Latitude in WGS-84 [deg]", "asterix.020_041_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_041_LON, { "Longitude in WGS-84 [deg]", "asterix.020_041_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_042, { "042, Position in Cartesian Coordinates", "asterix.020_042", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_042_X, { "X [m]", "asterix.020_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_042_Y, { "Y [m]", "asterix.020_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_050, { "050, Mode-2 Code in Octal Representation", "asterix.020_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_050_V, { "V", "asterix.020_050_V", FT_UINT16, BASE_DEC, VALS (valstr_020_050_V), 0x8000, NULL, HFILL } },
- { &hf_020_050_G, { "G", "asterix.020_050_G", FT_UINT16, BASE_DEC, VALS (valstr_020_050_G), 0x4000, NULL, HFILL } },
- { &hf_020_050_L, { "L", "asterix.020_050_L", FT_UINT16, BASE_DEC, VALS (valstr_020_050_L), 0x2000, NULL, HFILL } },
- { &hf_020_050_SQUAWK, { "SQUAWK", "asterix.020_050_SQUAWK", 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, 0x0, NULL, HFILL } },
- { &hf_020_055_V, { "V", "asterix.020_055_V", FT_UINT8, BASE_DEC, VALS (valstr_020_055_V), 0x80, NULL, HFILL } },
- { &hf_020_055_G, { "G", "asterix.020_055_G", FT_UINT8, BASE_DEC, VALS (valstr_020_055_G), 0x40, 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_A, { "A", "asterix.020_055_A", FT_UINT8, BASE_OCT, NULL, 0x1c, NULL, HFILL } },
- { &hf_020_055_B, { "B", "asterix.020_055_B", FT_UINT8, BASE_OCT, NULL, 0x03, NULL, HFILL } },
- { &hf_020_070, { "070, Mode-3/A Code in Octal Representation", "asterix.020_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_070_V, { "V", "asterix.020_070_V", FT_UINT16, BASE_DEC, VALS (valstr_020_070_V), 0x8000, NULL, HFILL } },
- { &hf_020_070_G, { "G", "asterix.020_070_G", FT_UINT16, BASE_DEC, VALS (valstr_020_070_G), 0x4000, NULL, HFILL } },
- { &hf_020_070_L, { "L", "asterix.020_070_L", FT_UINT16, BASE_DEC, VALS (valstr_020_070_L), 0x2000, NULL, HFILL } },
- { &hf_020_070_SQUAWK, { "SQUAWK", "asterix.020_070_SQUAWK", 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, 0x0, NULL, HFILL } },
- { &hf_020_090_V, { "V", "asterix.020_090_V", FT_UINT16, BASE_DEC, VALS (valstr_020_090_V), 0x8000, NULL, HFILL } },
- { &hf_020_090_G, { "G", "asterix.020_090_G", FT_UINT16, BASE_DEC, VALS (valstr_020_090_G), 0x4000, NULL, HFILL } },
- { &hf_020_090_FL, { "FL", "asterix.020_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_100, { "100, Mode-C Code", "asterix.020_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_100_V, { "V", "asterix.020_100_V", FT_UINT32, BASE_DEC, VALS (valstr_020_100_V), 0x80000000, NULL, HFILL } },
- { &hf_020_100_G, { "G", "asterix.020_100_G", FT_UINT32, BASE_DEC, VALS (valstr_020_100_G), 0x40000000, NULL, HFILL } },
- { &hf_020_100_C1, { "C1", "asterix.020_100_C1", FT_UINT32, BASE_DEC, NULL, 0x08000000, NULL, HFILL } },
- { &hf_020_100_A1, { "A1", "asterix.020_100_A1", FT_UINT32, BASE_DEC, NULL, 0x04000000, NULL, HFILL } },
- { &hf_020_100_C2, { "C2", "asterix.020_100_C2", FT_UINT32, BASE_DEC, NULL, 0x02000000, NULL, HFILL } },
- { &hf_020_100_A2, { "A2", "asterix.020_100_A2", FT_UINT32, BASE_DEC, NULL, 0x01000000, NULL, HFILL } },
- { &hf_020_100_C4, { "C4", "asterix.020_100_C4", FT_UINT32, BASE_DEC, NULL, 0x00800000, NULL, HFILL } },
- { &hf_020_100_A4, { "A4", "asterix.020_100_A4", FT_UINT32, BASE_DEC, NULL, 0x00400000, NULL, HFILL } },
- { &hf_020_100_B1, { "B1", "asterix.020_100_B1", FT_UINT32, BASE_DEC, NULL, 0x00200000, NULL, HFILL } },
- { &hf_020_100_D1, { "D1", "asterix.020_100_D1", FT_UINT32, BASE_DEC, NULL, 0x00100000, NULL, HFILL } },
- { &hf_020_100_B2, { "B2", "asterix.020_100_B2", FT_UINT32, BASE_DEC, NULL, 0x00080000, NULL, HFILL } },
- { &hf_020_100_D2, { "D2", "asterix.020_100_D2", FT_UINT32, BASE_DEC, NULL, 0x00040000, NULL, HFILL } },
- { &hf_020_100_B4, { "B4", "asterix.020_100_B4", FT_UINT32, BASE_DEC, NULL, 0x00020000, NULL, HFILL } },
- { &hf_020_100_D4, { "D4", "asterix.020_100_D4", FT_UINT32, BASE_DEC, NULL, 0x00010000, NULL, HFILL } },
- { &hf_020_100_QC1, { "QC1", "asterix.020_100_QC1", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000800, NULL, HFILL } },
- { &hf_020_100_QA1, { "QA1", "asterix.020_100_QA1", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000400, NULL, HFILL } },
- { &hf_020_100_QC2, { "QC2", "asterix.020_100_QC2", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000200, NULL, HFILL } },
- { &hf_020_100_QA2, { "QA2", "asterix.020_100_QA2", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000100, NULL, HFILL } },
- { &hf_020_100_QC4, { "QC4", "asterix.020_100_QC4", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000080, NULL, HFILL } },
- { &hf_020_100_QA4, { "QA4", "asterix.020_100_QA4", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000040, NULL, HFILL } },
- { &hf_020_100_QB1, { "QB1", "asterix.020_100_QB1", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000020, NULL, HFILL } },
- { &hf_020_100_QD1, { "QD1", "asterix.020_100_QD1", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000010, NULL, HFILL } },
- { &hf_020_100_QB2, { "QB2", "asterix.020_100_QB2", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000008, NULL, HFILL } },
- { &hf_020_100_QD2, { "2D2", "asterix.020_100_QD2", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000004, NULL, HFILL } },
- { &hf_020_100_QB4, { "QB4", "asterix.020_100_QB4", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000002, NULL, HFILL } },
- { &hf_020_100_QD4, { "QD4", "asterix.020_100_QD4", FT_UINT32, BASE_DEC, VALS (valstr_020_100_QA), 0x00000001, NULL, HFILL } },
- { &hf_020_105, { "105, Geometric Height (WGS-84)", "asterix.020_105", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_105_GH, { "GH [ft]", "asterix.020_105_GH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_110, { "110, Measured Height (Local Cartesian Coordinates)", "asterix.020_110", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_110_MH, { "MH [ft]", "asterix.020_110_MH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_140, { "140, Time of Day", "asterix.020_140", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_161, { "161, Track Number", "asterix.020_161", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_161_TN, { "TN", "asterix.020_161_TN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } },
- { &hf_020_170, { "170, Track Status", "asterix.020_170", FT_NONE, BASE_NONE, NULL, 0x0, 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 } },
@@ -14075,878 +59414,4934 @@ void proto_register_asterix (void)
{ &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, 0x0, NULL, HFILL } },
- { &hf_020_202_VX, { "VX [m/s]", "asterix.020_202_VX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_202_VY, { "VX [m/s]", "asterix.020_202_VY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_210, { "210, Calculated Acceleration", "asterix.020_210", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_210_AX, { "AX [m/s^2]", "asterix.020_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_210_AY, { "AY [m/s^2]", "asterix.020_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_220, { "220, Target Address", "asterix.020_220", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.020_230", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_230_COM, { "COM", "asterix.020_230_COM", FT_UINT16, BASE_DEC, VALS (valstr_020_230_COM), 0xe000, NULL, HFILL } },
- { &hf_020_230_STAT, { "STAT", "asterix.020_230_STAT", FT_UINT16, BASE_DEC, VALS (valstr_020_230_STAT), 0x1c00, NULL, HFILL } },
- { &hf_020_230_MSSC, { "MSSC", "asterix.020_230_MSSC", FT_UINT16, BASE_DEC, VALS (valstr_020_230_MSSC), 0x0080, NULL, HFILL } },
- { &hf_020_230_ARC, { "ARC", "asterix.020_230_ARC", FT_UINT16, BASE_DEC, VALS (valstr_020_230_ARC), 0x0040, NULL, HFILL } },
- { &hf_020_230_AIC, { "AIC", "asterix.020_230_AIC", FT_UINT16, BASE_DEC, VALS (valstr_020_230_AIC), 0x0020, NULL, HFILL } },
- { &hf_020_230_B1A, { "B1A", "asterix.020_230_B1A", FT_UINT16, BASE_DEC, NULL, 0x0010, NULL, HFILL } },
- { &hf_020_230_B1B, { "B1B", "asterix.020_230_B1B", FT_UINT16, BASE_DEC, NULL, 0x000f, NULL, HFILL } },
- { &hf_020_245, { "245, Target Identification", "asterix.020_245", FT_NONE, BASE_NONE, NULL, 0x0, 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_250, { "250, Mode S MB Data", "asterix.020_250", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_260, { "260, ACAS Resolution Advisory Report", "asterix.020_260", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_300, { "300, Vehicle Fleet Identification", "asterix.020_300", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_300_VFI, { "VFI", "asterix.020_300_VFI", FT_UINT8, BASE_DEC, VALS (valstr_020_300_VFI), 0x0, NULL, HFILL } },
- { &hf_020_310, { "310, Pre-programmed Message", "asterix.020_310", FT_NONE, BASE_NONE, NULL, 0x0, 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, 0x0, NULL, HFILL } },
- { &hf_020_400_TU8RU8, { "TU8RU8", "asterix.020_400_TU8RU8", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x80, NULL, HFILL } },
- { &hf_020_400_TU7RU7, { "TU7RU7", "asterix.020_400_TU7RU7", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x40, NULL, HFILL } },
- { &hf_020_400_TU6RU6, { "TU6RU6", "asterix.020_400_TU6RU6", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x20, NULL, HFILL } },
- { &hf_020_400_TU5RU5, { "TU5RU5", "asterix.020_400_TU5RU5", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x10, NULL, HFILL } },
- { &hf_020_400_TU4RU4, { "TU4RU4", "asterix.020_400_TU4RU4", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x08, NULL, HFILL } },
- { &hf_020_400_TU3RU3, { "TU3RU3", "asterix.020_400_TU3RU3", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x04, NULL, HFILL } },
- { &hf_020_400_TU2RU2, { "TU2RU2", "asterix.020_400_TU2RU2", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x02, NULL, HFILL } },
- { &hf_020_400_TU1RU1, { "TU1RU1", "asterix.020_400_TU1RU1", FT_UINT8, BASE_DEC, VALS (valstr_020_400_TUxRUx), 0x01, NULL, HFILL } },
- { &hf_020_500, { "500, Position Accuracy", "asterix.020_500", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_01, { "#01: DOP of Position", "asterix.020_500_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_01_DOPx, { "DOPx", "asterix.020_500_01_DOPx", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_01_DOPy, { "DOPy", "asterix.020_500_01_DOPy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_01_DOPxy, { "DOPxy", "asterix.020_500_01_DOPxy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_02, { "#02: Standard Deviation of Position", "asterix.020_500_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_02_SDPx, { "SDPx [m]", "asterix.020_500_02_SDPx", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_02_SDPy, { "SDPy [m]", "asterix.020_500_02_SDPy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_02_SDPxy, { "SDPxy", "asterix.020_500_02_SDPxy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_03, { "#03: Standard Deviation of Geometric Height", "asterix.020_500_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_500_03_SDH, { "SDH [m]", "asterix.020_500_03_SDH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE, { "Reserved Field", "asterix.020_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA, { "Position Accuracy", "asterix.020_RE_PA", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_01, { "#1: DOP of Position", "asterix.020_RE_PA_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_01_DOPx, { "DOPx", "asterix.020_RE_PA_01_DOPx", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_01_DOPy, { "DOPy", "asterix.020_RE_PA_01_DOPy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_01_DOPxy, { "DOPxy", "asterix.020_RE_PA_01_DOPxy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_02, { "#2: Standard Deviation of Position (Cartesian)", "asterix.020_RE_PA_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_02_SDCx, { "SDCx [m]", "asterix.020_RE_PA_02_SDCx", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_02_SDCy, { "SDCy [m]", "asterix.020_RE_PA_02_SDCy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_02_SDCxy, { "SDCxy", "asterix.020_RE_PA_02_SDCxy", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_03, { "#3: Standard Deviation of Geometric Height", "asterix.020_RE_PA_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_03_SDH, { "SDH [ft]", "asterix.020_RE_PA_03_SDH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_04, { "#4: Standard Deviation of Position (WGS-84)", "asterix.020_RE_PA_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_04_LAT, { "LAT [deg]", "asterix.020_RE_PA_04_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_04_LON, { "LON [deg]", "asterix.020_RE_PA_04_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_PA_04_COV, { "COV", "asterix.020_RE_PA_04_COV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_GVV, { "Ground Velocity Vector", "asterix.020_RE_GVV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_GVV_RE, { "RE", "asterix.020_RE_GVV_RE", FT_UINT16, BASE_DEC, VALS (valstr_020_RE_GVV_RE), 0x8000, NULL, HFILL } },
- { &hf_020_RE_GVV_GS, { "GS [NM/s]", "asterix.020_RE_GVV_GS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_GVV_TA, { "TA [deg]", "asterix.020_RE_GVV_TA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_GVA, { "Ground Velocity Accuracy", "asterix.020_RE_GVA", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_GVA_GSSD, { "GSSD [NM/s]", "asterix.020_RE_GVA_GSSD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_GVA_TASD, { "TASD [deg]", "asterix.020_RE_GVA_TASD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_TRT, { "Time of ASTERIX Report Transmission", "asterix.020_RE_TRT", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA, { "Data-Ages", "asterix.020_RE_DA", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_01, { "#1:Special Position Identification age", "asterix.020_RE_DA_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_01_SPI, { "SPI [s]", "asterix.020_RE_DA_01_SPI", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_02, { "#2: Target Identification age", "asterix.020_RE_DA_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_02_TI, { "TI [s]", "asterix.020_RE_DA_02_TI", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_03, { "#3: Mode S MB age", "asterix.020_RE_DA_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_03_BDS1, { "BDS1", "asterix.020_RE_DA_03_BDS1", FT_UINT16, BASE_DEC, NULL, 0xf000, NULL, HFILL } },
- { &hf_020_RE_DA_03_BDS2, { "BDS2", "asterix.020_RE_DA_03_BDS2", FT_UINT16, BASE_DEC, NULL, 0x0f00, NULL, HFILL } },
- { &hf_020_RE_DA_03_MBA, { "MBA [s]", "asterix.020_RE_DA_03_MBA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_04, { "#4: Mode 3/A Code age", "asterix.020_RE_DA_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_04_M3A, { "M3A [s]", "asterix.020_RE_DA_04_M3A", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_05, { "#5: Flight Level age", "asterix.020_RE_DA_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_05_FL, { "FL [s]", "asterix.020_RE_DA_05_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_06, { "#6: Flight Status age", "asterix.020_RE_DA_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_06_STAT, { "STAT [s]", "asterix.020_RE_DA_06_STAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_07, { "#7: Geometric / Measured Height age", "asterix.020_RE_DA_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_07_GH, { "GH [s]", "asterix.020_RE_DA_07_GH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_08, { "#8: Target Address age", "asterix.020_RE_DA_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_08_TA, { "TA [s]", "asterix.020_RE_DA_08_TA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_09, { "#9: Mode C code age", "asterix.020_RE_DA_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_09_MC, { "MC [s]", "asterix.020_RE_DA_09_MC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_10, { "#10: Mode-S Specific Service Capability age", "asterix.020_RE_DA_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_10_MSSC, { "10 [s]", "asterix.020_RE_DA_10_MSSC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_11, { "#11: Altitude reporting capability age", "asterix.020_RE_DA_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_11_ARC, { "ARC [s]", "asterix.020_RE_DA_11_ARC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_12, { "#12: Aircraft identification capability age", "asterix.020_RE_DA_12", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_12_AIC, { "AIC [s]", "asterix.020_RE_DA_12_AIC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_13, { "#13: Mode-2 Code age", "asterix.020_RE_DA_13", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_13_M2, { "M2 [s]", "asterix.020_RE_DA_13_M2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_14, { "#14: Mode-1 Code age", "asterix.020_RE_DA_14", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_14_M1, { "M1 [s]", "asterix.020_RE_DA_14_M1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_15, { "#15: ACAS Resolution Advisory age", "asterix.020_RE_DA_15", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_15_ARA, { "ARA [s]", "asterix.020_RE_DA_15_ARA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_16, { "#16: Vehicle Fleet Identification age", "asterix.020_RE_DA_16", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_16_VI, { "VI [s]", "asterix.020_RE_DA_16_VI", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_17, { "#17: Pre-programmed message age", "asterix.020_RE_DA_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_RE_DA_17_MSG, { "MSG [s]", "asterix.020_RE_DA_17_MSG", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_020_SP, { "Special Field", "asterix.020_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 021 */
- { &hf_021_008, { "008, Aircraft Operational Status", "asterix.021_008", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_008_RA, { "RA", "asterix.021_008_RA", FT_UINT8, BASE_DEC, VALS (valstr_021_008_RA), 0x80, NULL, HFILL } },
- { &hf_021_008_TC, { "TC", "asterix.021_008_TC", FT_UINT8, BASE_DEC, VALS (valstr_021_008_TC), 0x60, NULL, HFILL } },
- { &hf_021_008_TS, { "TS", "asterix.021_008_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_008_TS), 0x10, NULL, HFILL } },
- { &hf_021_008_ARV, { "ARV", "asterix.021_008_ARV", FT_UINT8, BASE_DEC, VALS (valstr_021_008_ARV), 0x08, NULL, HFILL } },
- { &hf_021_008_CDTIA, { "CDTI/A", "asterix.021_008_CDTIA", FT_UINT8, BASE_DEC, VALS (valstr_021_008_CDTIA), 0x04, NULL, HFILL } },
- { &hf_021_008_not_TCAS, { "Not TCAS", "asterix.021_008_not_TCAS", FT_UINT8, BASE_DEC, VALS (valstr_021_008_not_TCAS), 0x02, NULL, HFILL } },
- { &hf_021_008_SA, { "SA", "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, 0x0, NULL, HFILL } },
- { &hf_021_015, { "015, Service Identification", "asterix.021_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_015_SI, { "SI", "asterix.021_015_SI", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_021_016, { "016, Service Management", "asterix.021_016", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_016_RP, { "RP[s]", "asterix.021_016_RP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_020, { "020, Emitter Category", "asterix.021_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_020_ECAT, { "ECAT", "asterix.021_020_ECAT", FT_UINT8, BASE_DEC, VALS (valstr_021_020_ECAT), 0x0, NULL, HFILL } },
- { &hf_021_020_v0_2_ECAT, { "ECAT", "asterix.021_020_ECAT", FT_UINT8, BASE_DEC, VALS (valstr_021_020_v0_2_ECAT), 0x0, NULL, HFILL } },
- { &hf_021_030, { "030, Time of Day", "asterix.021_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_032, { "032, Time of Day Accuracy", "asterix.021_032", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_032_TODA, { "TODA", "asterix.021_032_TODA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_040, { "040, Target Report Descriptor", "asterix.021_040", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_040_ATP, { "ATP", "asterix.021_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_040_ATP), 0xe0, NULL, HFILL } },
- { &hf_021_040_v0_2_ATP, { "ATP", "asterix.021_040_ATP", FT_UINT8, BASE_DEC, VALS (valstr_021_040_v0_2_ATP), 0xe0, NULL, HFILL } },
- { &hf_021_040_ARC, { "ARC", "asterix.021_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_ARC), 0x18, NULL, HFILL } },
- { &hf_021_040_v0_2_ARC, { "ARC", "asterix.021_040_ARC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_v0_2_ARC), 0x18, NULL, HFILL } },
- { &hf_021_040_RC, { "RC", "asterix.021_040_RC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_RC), 0x04, NULL, HFILL } },
- { &hf_021_040_RAB, { "RAB", "asterix.021_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_040_RAB), 0x02, NULL, HFILL } },
- { &hf_021_040_v0_2_RAB, { "RAB", "asterix.021_040_RAB", FT_UINT8, BASE_DEC, VALS (valstr_021_040_RAB), 0x08, NULL, HFILL } },
- { &hf_021_040_DCR, { "DCR", "asterix.021_040_DCR", FT_UINT8, BASE_DEC, VALS (valstr_021_040_DCR), 0x80, NULL, HFILL } },
- { &hf_021_040_GBS, { "GBS", "asterix.021_040_GBS", FT_UINT8, BASE_DEC, VALS (valstr_021_040_GBS), 0x40, NULL, HFILL } },
- { &hf_021_040_SIM, { "SIM", "asterix.021_040_SIM", FT_UINT8, BASE_DEC, VALS (valstr_021_040_SIM), 0x20, NULL, HFILL } },
- { &hf_021_040_TST, { "TST", "asterix.021_040_TST", FT_UINT8, BASE_DEC, VALS (valstr_021_040_TST), 0x10, NULL, HFILL } },
- { &hf_021_040_SAA, { "SAA", "asterix.021_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_040_SAA), 0x08, NULL, HFILL } },
- { &hf_021_040_v0_2_SAA, { "SAA", "asterix.021_040_SAA", FT_UINT8, BASE_DEC, VALS (valstr_021_040_SAA), 0x04, NULL, HFILL } },
- { &hf_021_040_SPI, { "SPI", "asterix.021_040_SPI", FT_UINT8, BASE_DEC, VALS (valstr_021_040_SPI), 0x02, NULL, HFILL } },
- { &hf_021_040_CL, { "CL", "asterix.021_040_CL", FT_UINT8, BASE_DEC, VALS (valstr_021_040_CL), 0x06, NULL, HFILL } },
- { &hf_021_040_LLC, { "LLC", "asterix.021_040_LLC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_LLC), 0x40, NULL, HFILL } },
- { &hf_021_040_IPC, { "IPC", "asterix.021_040_IPC", FT_UINT8, BASE_DEC, VALS (valstr_021_040_IPC), 0x20, NULL, HFILL } },
- { &hf_021_040_NOGO, { "NOGO", "asterix.021_040_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_021_040_NOGO), 0x10, NULL, HFILL } },
- { &hf_021_040_CPR, { "CPR", "asterix.021_040_CPR", FT_UINT8, BASE_DEC, VALS (valstr_021_040_CPR), 0x08, NULL, HFILL } },
- { &hf_021_040_LDPJ, { "LDPJ", "asterix.021_040_LDPJ", FT_UINT8, BASE_DEC, VALS (valstr_021_040_LDPJ), 0x04, NULL, HFILL } },
- { &hf_021_040_RCF, { "RCF", "asterix.021_040_RCF", FT_UINT8, BASE_DEC, VALS (valstr_021_040_RCF), 0x02, NULL, HFILL } },
- { &hf_021_070, { "070, Mode 3/A Code in Octal Representation", "asterix.021_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_070_V, { "V", "asterix.021_070_V", FT_UINT8, BASE_DEC, VALS (valstr_021_070_V), 0x80, NULL, HFILL } },
- { &hf_021_070_G, { "G", "asterix.021_070_G", FT_UINT8, BASE_DEC, VALS (valstr_021_070_G), 0x40, NULL, HFILL } },
- { &hf_021_070_L, { "L", "asterix.021_070_L", FT_UINT8, BASE_DEC, VALS (valstr_021_070_L), 0x20, NULL, HFILL } },
- { &hf_021_070_SQUAWK, { "SQUAWK", "asterix.021_070_SQUAWK", 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, 0x0, NULL, HFILL } },
- { &hf_021_072, { "072, Time of Applicability for Velocity", "asterix.021_072", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_073, { "073, Time of Message Reception for Position", "asterix.021_073", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_074, { "074, Time of Message Reception of Position-High Precision", "asterix.021_074", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_074_FSI, { "FSI", "asterix.021_074_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_074_FSI), 0xc0, NULL, HFILL } },
- { &hf_021_074_TOMRP, { "TOMRp[s]", "asterix.021_074_TOMRP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_075, { "075, Time of Message Reception for Velocity", "asterix.021_075", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_076, { "076, Time of Message Reception of Velocity-High Precision", "asterix.021_076", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_076_FSI, { "FSI", "asterix.021_076_FSI", FT_UINT8, BASE_DEC, VALS (valstr_021_076_FSI), 0xc0, NULL, HFILL } },
- { &hf_021_076_TOMRV, { "TOMRv[s]", "asterix.021_076_TOMRV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_077, { "077, Time of ASTERIX Report Transmission", "asterix.021_077", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_080, { "080, Target Address", "asterix.021_080", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_090, { "090, Quality Indicators", "asterix.021_090", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_090_v0_2, { "090, Figure of Merit", "asterix.021_090", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_090_NUCR_NACV, { "NUCr or NACv", "asterix.021_090_NUCR_NACV", FT_UINT8, BASE_DEC, NULL, 0xe0, NULL, HFILL } },
- { &hf_021_090_NUCP_NIC, { "NUCp or NIC", "asterix.021_090_NUCP_NIC", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } },
- { &hf_021_090_NIC_BARO, { "NIC BARO", "asterix.021_090_NIC_BARO", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } },
- { &hf_021_090_SIL, { "SIL", "asterix.021_090_SIL", FT_UINT8, BASE_DEC, NULL, 0x60, NULL, HFILL } },
- { &hf_021_090_NACP, { "NACP", "asterix.021_090_NACP", FT_UINT8, BASE_DEC, NULL, 0x1e, NULL, HFILL } },
- { &hf_021_090_SILS, { "SILS", "asterix.021_090_SILS", FT_UINT8, BASE_DEC, VALS (valstr_021_090_SILS), 0x20, NULL, HFILL } },
- { &hf_021_090_SDA, { "SDA", "asterix.021_090_SDA", FT_UINT8, BASE_DEC, NULL, 0x18, NULL, HFILL } },
- { &hf_021_090_GVA, { "GVA", "asterix.021_090_GVA", FT_UINT8, BASE_DEC, NULL, 0x06, NULL, HFILL } },
- { &hf_021_090_PIC, { "PIC", "asterix.021_090_PIC", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } },
- { &hf_021_090_AC, { "AC", "asterix.021_090_AC", FT_UINT8, BASE_DEC, VALS (valstr_021_090_AC), 0xc0, NULL, HFILL } },
- { &hf_021_090_MN, { "MN", "asterix.021_090_MN", FT_UINT8, BASE_DEC, VALS (valstr_021_090_MN), 0x30, NULL, HFILL } },
- { &hf_021_090_DC, { "DC", "asterix.021_090_DC", FT_UINT8, BASE_DEC, VALS (valstr_021_090_DC), 0x0c, NULL, HFILL } },
- { &hf_021_090_PA, { "PA", "asterix.021_090_PA", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_021_095, {"095, Velocity Accuracy", "asterix.021_095", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_095_VUC, { "VUC", "asterix.021_095_VUC", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110, { "110, Trajectory Intent", "asterix.021_110", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110_01, { "#01: Trajectory Intent Status", "asterix.021_110_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110_01_NAV, { "NAV", "asterix.021_110_01_NAV", FT_UINT8, BASE_DEC, VALS (valstr_021_110_01_NAV), 0x80, NULL, HFILL } },
- { &hf_021_110_01_NVB, { "NVB", "asterix.021_110_01_NVB", FT_UINT8, BASE_DEC, VALS (valstr_021_110_01_NVB), 0x40, NULL, HFILL } },
- { &hf_021_110_02, { "#02: Trajectory Intent Data", "asterix.021_110_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110_02_TCA, { "TCA", "asterix.021_110_02_TCA", FT_UINT8, BASE_DEC, VALS (valstr_021_110_02_TCA), 0x80, NULL, HFILL } },
- { &hf_021_110_02_NC, { "NC", "asterix.021_110_02_NC", FT_UINT8, BASE_DEC, VALS (valstr_021_110_02_NC), 0x40, NULL, HFILL } },
- { &hf_021_110_02_TCPNo, { "TCP number", "asterix.021_110_02_TCPNo", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } },
- { &hf_021_110_02_ALT, { "Altitude [ft]", "asterix.021_110_02_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110_02_LAT, { "Latitude [deg]", "asterix.021_110_02_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110_02_LON, { "Longitude [deg]", "asterix.021_110_02_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110_02_PT, { "PT", "asterix.021_110_02_PT", FT_UINT8, BASE_DEC, VALS (valstr_021_110_02_PT), 0xf0, NULL, HFILL } },
- { &hf_021_110_02_TD, { "TD", "asterix.021_110_02_TD", FT_UINT8, BASE_DEC, VALS (valstr_021_110_02_TD), 0x0c, NULL, HFILL } },
- { &hf_021_110_02_TRA, { "TRA", "asterix.021_110_02_TRA", FT_UINT8, BASE_DEC, VALS (valstr_021_110_02_TRA), 0x02, NULL, HFILL } },
- { &hf_021_110_02_TOA, { "TOA", "asterix.021_110_02_TOA", FT_UINT8, BASE_DEC, VALS (valstr_021_110_02_TOA), 0x01, NULL, HFILL } },
- { &hf_021_110_02_TOV, { "Time Over Point [s]", "asterix.021_110_02_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_110_02_TTR, { "TCP Turn radius [Nm]", "asterix.021_110_02_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_130, { "130, Position in WGS-84 Co-ordinates", "asterix.021_130", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_130_LAT, { "Latitude [deg]", "asterix.021_130_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_130_LON, { "Longitude [deg]", "asterix.021_130_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_131, { "131, High-Resolution Position in WGS-84 Co-ordinates", "asterix.021_131", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_131_v0_2, {"131, Signal Amplitude", "asterix.021_131", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL} },
- { &hf_021_131_LAT, { "Latitude [deg]", "asterix.021_131_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_131_LON, { "Longitude [deg]", "asterix.021_131_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_131_SAM, { "SAM", "asterix.021_131_SAM", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_132, { "132, Message Amplitude", "asterix.021_132", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_132_MAM, { "MAM [dBm]", "asterix.021_132_MAM", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_140, { "140, Geometric Height", "asterix.021_140", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_140_v0_2, {"140, Geometric Altitude", "asterix.021_140", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_140_GH, { "GH [ft]", "asterix.021_140_GH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_140_ALT, { "AL [ft]", "asterix.021_140_AL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_145, { "145, Flight Level", "asterix.021_145", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_145_FL, { "FL", "asterix.021_145_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_146, { "146, Selected Altitude", "asterix.021_146", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_146_v0_2, { "146, Intermediate State Selected Altitude", "asterix.021_146", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_146_SAS, { "SAS", "asterix.021_146_SAS", FT_UINT8, BASE_DEC, VALS (valstr_021_146_SAS), 0x80, NULL, HFILL } },
- { &hf_021_146_Source, { "Source", "asterix.021_146_Source", FT_UINT8, BASE_DEC, VALS (valstr_021_146_Source), 0x60, NULL, HFILL } },
- { &hf_021_146_v0_2_Source, { "Source", "asterix.021_146_Source", FT_UINT8, BASE_DEC, VALS(valstr_021_146_v0_2_Source), 0x60, NULL, HFILL } },
- { &hf_021_146_ALT, { "Altitude [ft]", "asterix.021_146_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_148, { "148, Final State Selected Altitude", "asterix.021_148", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_148_MV, { "MV", "asterix.021_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_148_MV), 0x80, NULL, HFILL } },
- { &hf_021_148_v0_2_MV, { "MV", "asterix.021_148_MV", FT_UINT8, BASE_DEC, VALS (valstr_021_148_v0_2_MV), 0x80, NULL, HFILL } },
- { &hf_021_148_AH, { "AH", "asterix.021_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_148_AH), 0x40, NULL, HFILL } },
- { &hf_021_148_v0_2_AH, { "AH", "asterix.021_148_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_148_v0_2_AH), 0x40, NULL, HFILL } },
- { &hf_021_148_AM, { "AM", "asterix.021_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_148_AM), 0x20, NULL, HFILL } },
- { &hf_021_148_v0_2_AM, { "AM", "asterix.021_148_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_148_v0_2_AM), 0x20, NULL, HFILL } },
- { &hf_021_148_ALT, { "Altitude [ft]", "asterix.021_148_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_150, { "150, Air Speed", "asterix.021_150", FT_NONE, BASE_NONE, NULL, 0x0, 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_ASPD, { "ASPD [IAS (0) => NM/s or IAS (1) => Mach]", "asterix.021_150_ASPD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_151, { "151 True Airspeed", "asterix.021_151", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_151_RE, { "RE", "asterix.021_151_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_151_RE), 0x80, NULL, HFILL } },
- { &hf_021_151_TASPD, { "TASPD [knot]", "asterix.021_151_TASPD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_152, { "152, Magnetic Heading", "asterix.021_152", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_152_MHDG, { "MHDG [deg]", "asterix.021_152_MHDG", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_155, { "155, Barometric Vertical Rate", "asterix.021_155", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_155_RE, { "RE", "asterix.021_155_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_155_RE), 0x80, NULL, HFILL } },
- { &hf_021_155_BVR, { "BVR [ft/min]", "asterix.021_155_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_157, { "157, Geometric Vertical Rate", "asterix.021_157", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_157_RE, { "RE", "asterix.021_157_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_157_RE), 0x80, NULL, HFILL } },
- { &hf_021_157_GVR, { "GVR [ft/min]", "asterix.021_157_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_160, { "160, Airborne Ground Vector", "asterix.021_160", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_160_v0_2, { "160, Ground Vector", "asterix.021_160", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_160_RE, { "RE", "asterix.021_160_RE", FT_UINT8, BASE_DEC, VALS (valstr_021_160_RE), 0x80, NULL, HFILL } },
- { &hf_021_160_GSPD, { "Ground speed [NM/s]", "asterix.021_160_GSPD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_160_TA, { "Track angle [deg]", "asterix.021_160_TA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_161, { "161, Track Number", "asterix.021_161", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_161_TN, { "TN", "asterix.021_161_TN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } },
- { &hf_021_165, { "165, Track Angle Rate", "asterix.021_165", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_165_v0_2, { "165, Rate of Turn", "asterix.021_165", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_165_TAR, { "TAR [deg/s]", "asterix.021_165_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_165_TI, { "TI", "asterix.021_165_TI", FT_UINT8, BASE_DEC, VALS (valstr_021_165_TI), 0xc0, NULL, HFILL } },
- { &hf_021_165_ROT, { "ROT", "asterix.021_165_ROT", FT_UINT8, BASE_DEC, NULL, 0xfe, NULL, HFILL } },
- { &hf_021_170, { "170, Target Identification", "asterix.021_170", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_200, { "200, Target Status", "asterix.021_200", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_200_ICF, { "ICF", "asterix.021_200_ICF", FT_UINT8, BASE_DEC, VALS (valstr_021_200_ICF), 0x80, NULL, HFILL } },
- { &hf_021_200_LNAV, { "LNAV", "asterix.021_200_LNAV", FT_UINT8, BASE_DEC, VALS (valstr_021_200_LNAV), 0x40, NULL, HFILL } },
- { &hf_021_200_ME, { "ME", "asterix.021_200_ME", FT_UINT8, BASE_DEC, VALS (valstr_021_200_ME), 0x20, NULL, HFILL } },
- { &hf_021_200_PS, { "PS", "asterix.021_200_PS", FT_UINT8, BASE_DEC, VALS (valstr_021_200_PS), 0x1c, NULL, HFILL } },
- { &hf_021_200_SS, { "SS", "asterix.021_200_SS", FT_UINT8, BASE_DEC, VALS (valstr_021_200_SS), 0x03, NULL, HFILL } },
- { &hf_021_200_TS , { "TS", "asterix.021_200_TS", FT_UINT8, BASE_DEC, VALS (valstr_021_200_TS), 0x0, NULL, HFILL } },
- { &hf_021_210, { "210, MOPS Version", "asterix.021_210", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_210_v0_2, { "210, Link Technology Indicator", "asterix.021_210", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_210_VNS, { "VNS", "asterix.021_210_VNS", FT_UINT8, BASE_DEC, VALS (valstr_021_210_VNS), 0x40, NULL, HFILL } },
- { &hf_021_210_VN, { "VN", "asterix.021_210_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_210_VN), 0x38, NULL, HFILL } },
- { &hf_021_210_LTT, { "LTT", "asterix.021_210_LTT", FT_UINT8, BASE_DEC, VALS (valstr_021_210_LTT), 0x07, NULL, HFILL } },
- { &hf_021_210_DTI, { "DTI", "asterix.021_210_DTI", FT_UINT8, BASE_DEC, VALS (valstr_021_210_DTI), 0x10, NULL, HFILL } },
- { &hf_021_210_MDS, { "MDS", "asterix.021_210_MDS", FT_UINT8, BASE_DEC, VALS (valstr_021_210_MDS), 0x08, NULL, HFILL } },
- { &hf_021_210_UAT, { "UAT", "asterix.021_210_UAT", FT_UINT8, BASE_DEC, VALS (valstr_021_210_UAT), 0x04, NULL, HFILL } },
- { &hf_021_210_VDL, { "VDL", "asterix.021_210_VDL", FT_UINT8, BASE_DEC, VALS (valstr_021_210_VDL), 0x02, NULL, HFILL } },
- { &hf_021_210_OTR, { "OTR", "asterix.021_210_OTR", FT_UINT8, BASE_DEC, VALS (valstr_021_210_OTR), 0x01, NULL, HFILL } },
- { &hf_021_220, { "220, Met Information", "asterix.021_220", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_01, { "#01: Wind Speed", "asterix.021_220_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_01_WSPD, { "WSPD [knot]", "asterix.021_220_01_WSPD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_02, { "#02: Wind Direction", "asterix.021_220_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_02_WDIR, { "WDIR [deg]", "asterix.021_220_02_WDIR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_03, { "#03: Temperature", "asterix.021_220_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_03_TEMP, { "TEMP [deg C]", "asterix.021_220_03_TEMP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_04, { "#04: Turbulence", "asterix.021_220_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_220_04_TURB, { "TURB", "asterix.021_220_04_TURB", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_021_230, { "230, Roll Angle", "asterix.021_230", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_230_RA, { "RA [deg]", "asterix.021_230_RA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_250, { "250, Mode S MB Data", "asterix.021_250", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_260, { "260, ACAS Resolution Advisory Report", "asterix.021_260", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_260_TYP, { "TYP", "asterix.021_260_TYP", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0xf8000000000000), NULL, HFILL } },
- { &hf_021_260_STYP, { "STYP", "asterix.021_260_STYP", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0x07000000000000), NULL, HFILL } },
- { &hf_021_260_ARA, { "ARA", "asterix.021_260_ARA", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0x00fffc00000000), NULL, HFILL } },
- { &hf_021_260_RAC, { "RAC", "asterix.021_260_RAC", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0x000003c0000000), NULL, HFILL } },
- { &hf_021_260_RAT, { "RAT", "asterix.021_260_RAT", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0x00000020000000), NULL, HFILL } },
- { &hf_021_260_MTE, { "MTE", "asterix.021_260_MTE", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0x00000010000000), NULL, HFILL } },
- { &hf_021_260_TTI, { "TTI", "asterix.021_260_TTI", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0x0000000c000000), NULL, HFILL } },
- { &hf_021_260_TID, { "TID", "asterix.021_260_TID", FT_UINT56, BASE_DEC, NULL, G_GINT64_CONSTANT(0x00000003ffffff), NULL, HFILL } },
- { &hf_021_271, { "271, Surface Capabilities and Characteristics", "asterix.021_271", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_271_POA, { "POA", "asterix.021_271_POA", FT_UINT8, BASE_DEC, VALS (valstr_021_271_POA), 0x20, NULL, HFILL } },
- { &hf_021_271_CDTIS, { "CDTI/S", "asterix.021_271_CDTIS", FT_UINT8, BASE_DEC, VALS (valstr_021_271_CDTIS), 0x10, NULL, HFILL } },
- { &hf_021_271_B2low, { "B2low", "asterix.021_271_B2low", FT_UINT8, BASE_DEC, VALS (valstr_021_271_B2low), 0x08, NULL, HFILL } },
- { &hf_021_271_RAS, { "RAS", "asterix.021_271_RAS", FT_UINT8, BASE_DEC, VALS (valstr_021_271_RAS), 0x04, NULL, HFILL } },
- { &hf_021_271_IDENT, { "IDENT", "asterix.021_271_IDENT", FT_UINT8, BASE_DEC, VALS (valstr_021_271_IDENT), 0x02, NULL, HFILL } },
- { &hf_021_271_LW, { "L+W", "asterix.021_271_LW", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } },
- { &hf_021_271_LW_v2_1, { "L+W", "asterix.021_271_LW", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } },
- { &hf_021_295, { "295, Data Ages", "asterix.021_295", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_01, { "#01: Aircraft Operational Status age", "asterix.021_295_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_01_AOS, { "AOS [s]", "asterix.021_295_01_AOS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_02, { "#02: Target Report Descriptor age", "asterix.021_295_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_02_TRD, { "TRD [s]", "asterix.021_295_02_TRD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_03, { "#03: Mode 3/A Code age", "asterix.021_295_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_03_M3A, { "M3A [s]", "asterix.021_295_03_M3A", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_04, { "#04: Quality Indicators age", "asterix.021_295_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_04_QI, { "QI [s]", "asterix.021_295_04_QI", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_05, { "#05: Trajectory Intent age", "asterix.021_295_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_05_TI, { "TI [s]", "asterix.021_295_05_TI", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_06, { "#06: Message Amplitude age", "asterix.021_295_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_06_MAM, { "MAM [s]", "asterix.021_295_06_MAM", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_07, { "#07: Geometric Height age", "asterix.021_295_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_07_GH, { "GH [s]", "asterix.021_295_07_GH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_08, { "#08: Flight Level age", "asterix.021_295_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_08_FL, { "FL [s]", "asterix.021_295_08_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_09, { "#09: Intermediate State Selected Altitude age", "asterix.021_295_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_09_ISA, { "ISA [s]", "asterix.021_295_09_ISA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_10, { "#10: Final State Selected Altitude age", "asterix.021_295_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_10_FSA, { "FSA [s]", "asterix.021_295_10_FSA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_11, { "#11: Air Speed age", "asterix.021_295_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_11_AS, { "AS [s]", "asterix.021_295_11_AS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_12, { "#12: True Air Speed age", "asterix.021_295_12", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_12_TAS, { "TAS [s]", "asterix.021_295_12_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_13, { "#13: Magnetic Heading age", "asterix.021_295_13", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_13_MH, { "MH [s]", "asterix.021_295_13_MH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_14, { "#14: Barometric Vertical Rate age", "asterix.021_295_14", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_14_BVR, { "BVR [s]", "asterix.021_295_14_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_15, { "#15: Geometric Vertical Rate age", "asterix.021_295_15", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_15_GVR, { "GVR [s]", "asterix.021_295_15_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_16, { "#16: Ground Vector age", "asterix.021_295_16", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_16_GV, { "GV [s]", "asterix.021_295_16_GV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_17, { "#17: Track Angle Rate age", "asterix.021_295_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_17_TAR, { "TAR [s]", "asterix.021_295_17_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_18, { "#18: Target Identification age", "asterix.021_295_18", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_18_TI, { "TI [s]", "asterix.021_295_18_TI", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_19, { "#19: Target Status age", "asterix.021_295_19", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_19_TS, { "TS [s]", "asterix.021_295_19_TS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_20, { "#20: Met Information age", "asterix.021_295_20", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_20_MET, { "MET [s]", "asterix.021_295_20_MET", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_21, { "#21: Roll Angle age", "asterix.021_295_21", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_21_ROA, { "ROA [s]", "asterix.021_295_21_ROA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_22, { "#22: ACAS Resolution Advisory age", "asterix.021_295_22", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_22_ARA, { "ARA [s]", "asterix.021_295_22_ARA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_23, { "#23: Surface Capabilities and Characteristics age", "asterix.021_295_23", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_295_23_SCC, { "SCC [s]", "asterix.021_295_23_SCC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_400, { "400, Receiver ID", "asterix.021_400", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_400_RID, { "RID", "asterix.021_400_RID", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE, { "Reserved Field", "asterix.021_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_BPS, { "BPS, Barometric Pressure Setting", "asterix.021_RE_BPS", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_BPS_BPS, { "BPS[hPa]", "asterix.021_RE_BPS_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_SelH, { "SelH, Selected Heading", "asterix.021_RE_SelH", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_SelH_HRD, { "HRD", "asterix.021_RE_SelH_HRD", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_SelH_HRD), 0x08, NULL, HFILL } },
- { &hf_021_RE_SelH_Stat, { "Stat", "asterix.021_RE_SelH_Stat", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_SelH_Stat), 0x04, NULL, HFILL } },
- { &hf_021_RE_SelH_SelH, { "SelH[deg]", "asterix.021_RE_SelH_SelH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_NAV, { "NAV, Navigation Mode", "asterix.021_RE_NAV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_NAV_AP, { "AP", "asterix.021_RE_NAV_AP", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_NAV_AP), 0x80, NULL, HFILL } },
- { &hf_021_RE_NAV_VN, { "VN", "asterix.021_RE_NAV_VN", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_NAV_VN), 0x40, NULL, HFILL } },
- { &hf_021_RE_NAV_AH, { "AH", "asterix.021_RE_NAV_AH", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_NAV_AH), 0x20, NULL, HFILL } },
- { &hf_021_RE_NAV_AM, { "AM", "asterix.021_RE_NAV_AM", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_NAV_AM), 0x10, NULL, HFILL } },
- { &hf_021_RE_GAO, { "GAO, GPS Antenna Offset", "asterix.021_RE_GAO", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_GAO_GAO, { "GAO", "asterix.021_RE_GAO_GAO", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_SGV, { "SGV, Surface Ground Vector", "asterix.021_RE_SGV", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_SGV_STP, { "STP", "asterix.021_RE_SGV_STP", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_SGV_STP), 0x80, NULL, HFILL } },
- { &hf_021_RE_SGV_HTS, { "HTS", "asterix.021_RE_SGV_HTS", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_SGV_HTS), 0x40, NULL, HFILL } },
- { &hf_021_RE_SGV_HTT, { "HTT", "asterix.021_RE_SGV_HTT", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_SGV_HTT), 0x20, NULL, HFILL } },
- { &hf_021_RE_SGV_HRD, { "HRD", "asterix.021_RE_SGV_HRD", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_SGV_HRD), 0x10, NULL, HFILL } },
- { &hf_021_RE_SGV_GSS, { "GSS", "asterix.021_RE_SGV_GSS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_SGV_HGT, { "HGT", "asterix.021_RE_SGV_HGT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_STA, { "STA, Aircraft Status", "asterix.021_RE_STA", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_STA_ES, { "ES", "asterix.021_RE_STA_ES", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_STA_ES), 0x80, NULL, HFILL } },
- { &hf_021_RE_STA_UAT, { "UAT", "asterix.021_RE_STA_UAT", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_STA_UAT), 0x40, NULL, HFILL } },
- { &hf_021_RE_TNH, { "TNH, True North Heading", "asterix.021_RE_TNH", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_TNH_TNH, { "TNH[deg]", "asterix.021_RE_TNH_TNH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES, { "M5N, Mode 5 Reports, New Format", "asterix.021_RE_MES", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES_01, { "#1, Mode 5 Summary", "asterix.021_RE_MES_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES_01_M5, { "M5", "asterix.021_RE_MES_01_M5", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_M5), 0x80, NULL, HFILL } },
- { &hf_021_RE_MES_01_ID, { "ID", "asterix.021_RE_MES_01_ID", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_ID), 0x40, NULL, HFILL } },
- { &hf_021_RE_MES_01_DA, { "DA", "asterix.021_RE_MES_01_DA", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_DA), 0x20, NULL, HFILL } },
- { &hf_021_RE_MES_01_M1, { "M1", "asterix.021_RE_MES_01_M1", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_M1), 0x10, NULL, HFILL } },
- { &hf_021_RE_MES_01_M2, { "M2", "asterix.021_RE_MES_01_M2", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_M2), 0x08, NULL, HFILL } },
- { &hf_021_RE_MES_01_M3, { "M3", "asterix.021_RE_MES_01_M3", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_M3), 0x04, NULL, HFILL } },
- { &hf_021_RE_MES_01_MC, { "MC", "asterix.021_RE_MES_01_MC", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_MC), 0x02, NULL, HFILL } },
- { &hf_021_RE_MES_01_PO, { "PO", "asterix.021_RE_MES_01_PO", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_01_PO), 0x01, NULL, HFILL } },
- { &hf_021_RE_MES_02, { "#2, Mode 5 PIN /National Origin/ Mission Code", "asterix.021_RE_MES_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES_02_PIN, { "PIN", "asterix.021_RE_MES_02_PIN", FT_UINT32, BASE_DEC, NULL, 0x3fff0000, NULL, HFILL } },
- { &hf_021_RE_MES_02_NO, { "NO", "asterix.021_RE_MES_02_NO", FT_UINT32, BASE_DEC, NULL, 0x000007ff, NULL, HFILL } },
- { &hf_021_RE_MES_03, { "#3, Extended Mode 1 Code in Octal Representation", "asterix.021_RE_MES_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES_03_V, { "V", "asterix.021_RE_MES_03_V", FT_UINT16, BASE_DEC, VALS (valstr_021_RE_MES_03_V), 0x8000, NULL, HFILL } },
- { &hf_021_RE_MES_03_L, { "L", "asterix.021_RE_MES_03_L", FT_UINT16, BASE_DEC, VALS (valstr_021_RE_MES_03_L), 0x2000, NULL, HFILL } },
- { &hf_021_RE_MES_03_SQUAWK, { "SQUAWK", "asterix.021_RE_MES_03_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_021_RE_MES_04, { "#4, X Pulse Presence", "asterix.021_RE_MES_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES_04_XP, { "XP", "asterix.021_RE_MES_04_XP", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_04_XP), 0x20, NULL, HFILL } },
- { &hf_021_RE_MES_04_X5, { "X5", "asterix.021_RE_MES_04_X5", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_04_X5), 0x10, NULL, HFILL } },
- { &hf_021_RE_MES_04_XC, { "XC", "asterix.021_RE_MES_04_XC", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_04_XC), 0x08, NULL, HFILL } },
- { &hf_021_RE_MES_04_X3, { "X3", "asterix.021_RE_MES_04_X3", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_04_X3), 0x04, NULL, HFILL } },
- { &hf_021_RE_MES_04_X2, { "X2", "asterix.021_RE_MES_04_X2", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_04_X2), 0x02, NULL, HFILL } },
- { &hf_021_RE_MES_04_X1, { "X1", "asterix.021_RE_MES_04_X1", FT_UINT8, BASE_DEC, VALS (valstr_021_RE_MES_04_X1), 0x01, NULL, HFILL } },
- { &hf_021_RE_MES_05, { "#5, Figure of Merit", "asterix.021_RE_MES_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES_05_FOM, { "FOM", "asterix.021_RE_MES_05_FOM", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } },
- { &hf_021_RE_MES_06, { "#6, Mode 2 Code in Octal Representation", "asterix.021_RE_MES_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_021_RE_MES_06_V, { "V", "asterix.021_RE_MES_06_V", FT_UINT16, BASE_DEC, VALS (valstr_021_RE_MES_06_V), 0x8000, NULL, HFILL } },
- { &hf_021_RE_MES_06_L, { "L", "asterix.021_RE_MES_06_L", FT_UINT16, BASE_DEC, VALS (valstr_021_RE_MES_06_L), 0x2000, NULL, HFILL } },
- { &hf_021_RE_MES_06_SQUAWK, { "SQUAWK", "asterix.021_RE_MES_06_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_021_SP, { "Special Field", "asterix.021_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 023 */
- { &hf_023_000, { "000, Report Type", "asterix.023_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_000_RT, { "RT", "asterix.023_000_RT", FT_UINT8, BASE_DEC, VALS (valstr_023_000_RT), 0x0, NULL, HFILL } },
- { &hf_023_010, { "010, Data Source Identifier", "asterix.023_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_015, { "015, Service Type and Identification", "asterix.023_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_015_SID, { "SID", "asterix.023_015_SID", FT_UINT8, BASE_DEC, NULL, 0xf0, NULL, HFILL } },
- { &hf_023_015_STYPE, { "STYPE", "asterix.023_015_STYPE", 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, 0x0, NULL, HFILL } },
- { &hf_023_100, { "100, Ground Station Status", "asterix.023_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_100_NOGO, { "NOGO", "asterix.023_100_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_023_100_NOGO), 0x80, NULL, HFILL } },
- { &hf_023_100_ODP, { "ODP", "asterix.023_100_ODP", FT_UINT8, BASE_DEC, VALS (valstr_023_100_ODP), 0x40, NULL, HFILL } },
- { &hf_023_100_OXT, { "OXT", "asterix.023_100_OXT", FT_UINT8, BASE_DEC, VALS (valstr_023_100_OXT), 0x20, NULL, HFILL } },
- { &hf_023_100_MSC, { "MSC", "asterix.023_100_MSC", FT_UINT8, BASE_DEC, VALS (valstr_023_100_MSC), 0x10, NULL, HFILL } },
- { &hf_023_100_TSV, { "TSV", "asterix.023_100_TSV", FT_UINT8, BASE_DEC, VALS (valstr_023_100_TSV), 0x08, NULL, HFILL } },
- { &hf_023_100_SPO, { "SPO", "asterix.023_100_SPO", FT_UINT8, BASE_DEC, VALS (valstr_023_100_SPO), 0x04, NULL, HFILL } },
- { &hf_023_100_RN, { "RN", "asterix.023_100_RN", FT_UINT8, BASE_DEC, VALS (valstr_023_100_RN), 0x02, NULL, HFILL } },
- { &hf_023_100_GSSP, { "GSSP [s]", "asterix.023_100_GSSP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_101, { "101, Service Configuration", "asterix.023_101", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_101_RP, { "RP [s]", "asterix.023_101_RP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_101_SC, { "SC", "asterix.023_101_SC", FT_UINT8, BASE_DEC, VALS (valstr_023_101_SC), 0xe0, NULL, HFILL } },
- { &hf_023_101_SSRP, { "SSRP [s]", "asterix.023_101_SSRP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_110, { "110, Service Status", "asterix.023_110", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_110_STAT, { "STAT", "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, 0x0, NULL, HFILL } },
- { &hf_023_120_TYPE, { "TYPE", "asterix.023_120_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_023_120_TYPE), 0x0, NULL, HFILL } },
- { &hf_023_120_REF, { "REF", "asterix.023_120_REF", FT_UINT8, BASE_DEC, VALS (valstr_023_120_REF), 0x80, NULL, HFILL } },
- { &hf_023_120_COUNTER, { "COUNTER", "asterix.023_120_COUNTER", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_023_200, { "200, Operational Range", "asterix.023_200", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_200_RANGE, { "RANGE [NM]", "asterix.023_200_RANGE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_RE, { "Reserved Field", "asterix.023_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_023_SP, { "Special Field", "asterix.023_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 025 */
- { &hf_025_000, { "000, Report Type", "asterix.025_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_000_RT, { "RT", "asterix.025_000_RT", FT_UINT8, BASE_DEC, VALS (valstr_025_000_RT), 0xFE, NULL, HFILL } },
- { &hf_025_000_RG, { "RG", "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, 0x0, NULL, HFILL } },
- { &hf_025_015, { "015, Service Identification", "asterix.025_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_015_SID, { "SID", "asterix.025_015_SID", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_025_020, { "020, Service Designator", "asterix.025_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_020_SD, { "Service Designator", "asterix.025_020_SD", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_070, { "070, Time of Day", "asterix.025_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_100, { "100, System and Service Status", "asterix.025_100", FT_NONE, BASE_NONE, NULL, 0x0, 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_105, { "105, System and Service Error Codes", "asterix.025_105", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_105_ERR, { "ERR", "asterix.025_105_ERR", FT_UINT8, BASE_DEC, VALS (valstr_025_105_ERR), 0x0, NULL, HFILL } },
- { &hf_025_120, { "120, Component Status", "asterix.025_120", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_120_CID, { "CID", "asterix.025_120_CID", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_025_120_EC, { "EC", "asterix.025_120_EC", FT_UINT8, BASE_DEC, VALS (valstr_025_120_EC), 0xFC, NULL, HFILL } },
- { &hf_025_120_CS, { "CS", "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, 0x0, NULL, HFILL } },
- { &hf_025_140_TYPE, { "TYPE", "asterix.025_140_TYPE", FT_UINT8, BASE_DEC, VALS (valstr_025_140_TYPE), 0x0, NULL, HFILL } },
- { &hf_025_140_REF, { "REF", "asterix.025_140_REF", FT_UINT8, BASE_DEC, VALS (valstr_025_140_REF), 0x80, NULL, HFILL } },
- { &hf_025_140_COUNTER, { "COUNTER", "asterix.025_140_COUNTER", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_025_200, { "200, Message Identification", "asterix.025_200", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_025_200_MID, { "MID", "asterix.025_200_MID", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_025_SP, { "Special Field", "asterix.025_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 032 */
- { &hf_032_010, { "010, Data Source Identifier", "asterix.032_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_015, { "015, User Number", "asterix.032_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_015_UN, { "User Number", "asterix.032_015_UN", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_032_018, { "018, Data Source Identification Tag", "asterix.032_018", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_020, { "020, Time Of Message", "asterix.032_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_035, { "035, Type Of Message", "asterix.032_035", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_035_FAM, { "Family", "asterix.032_035_FAM", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL } },
- { &hf_032_035_NAT, { "Nature", "asterix.032_035_NAT", FT_UINT8, BASE_DEC, VALS(valstr_032_035_NAT), 0x0F, NULL, HFILL } },
- { &hf_032_040, { "040, Track Number", "asterix.032_040", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_040_TRK, { "TN", "asterix.032_040_TN", FT_UINT16, BASE_DEC, NULL, 0xFFFF, NULL, HFILL } },
- { &hf_032_050, { "050, Composed Track Number", "asterix.032_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_050_SUI, { "SUI", "asterix.032_050_SUI", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_032_050_STN, { "STN", "asterix.032_050_STN", FT_UINT16, BASE_DEC, NULL, 0x1FFE, NULL, HFILL } },
- { &hf_032_060, { "060, Track Mode 3/A", "asterix.032_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_060_M3, { "M3A", "asterix.032_060_M3", FT_UINT16, BASE_OCT, NULL, 0x0FFF, NULL, HFILL } },
- { &hf_032_400, { "400, Callsign", "asterix.032_400", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_400_CALL, { "CS", "asterix.032_400_CALL", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_410, { "410, Plan Number", "asterix.032_410", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_410_PLN, { "PLN", "asterix.032_410_PLN", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_032_420, { "420, Flight Category", "asterix.032_420", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_420_GAT, { "GAT", "asterix.032_420_GAT", FT_UINT8, BASE_DEC, VALS(valstr_032_420_GAT), 0xC0, NULL, HFILL } },
- { &hf_032_420_FR, { "FR", "asterix.032_420_FR", FT_UINT8, BASE_DEC, VALS(valstr_032_420_FR), 0x30, NULL, HFILL } },
- { &hf_032_420_SP, { "SP", "asterix.032_420_SP", FT_UINT8, BASE_HEX, NULL, 0x0E, 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_TYP, { "TYP", "asterix.032_430_TYP", FT_STRING, BASE_NONE, NULL, 0x00, NULL, HFILL } },
- { &hf_032_435, { "435, Category of Turbulence", "asterix.032_435", FT_NONE, BASE_NONE, NULL, 0x00, NULL, HFILL } },
- { &hf_032_435_TUR, { "TURB", "asterix.032_435_TUR", FT_UINT8, BASE_DEC, VALS(valstr_032_435_CAT), 0x00, NULL, HFILL } },
- { &hf_032_440, { "440, Departure Airport", "asterix.032_440", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_440_DEP, { "DEP", "asterix.032_440_DEP", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_450, { "450, Destination Airport", "asterix.032_450", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_450_DEST, { "DEST", "asterix.032_450_DEST", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_460, { "460, Allocated SSR Codes", "asterix.032_460", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_460_SSR, { "SSR", "asterix.032_460_SSR", FT_UINT16, BASE_OCT, NULL, 0x0FFF, NULL, HFILL } },
- { &hf_032_480, { "480, Current Cleared Flight Level", "asterix.032_480", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_480_CFL, { "CFL [ft]", "asterix.032_480_CFL", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_032_490, { "490, Current Control Position", "asterix.032_490", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_490_CEN, { "CEN", "asterix.032_490_CEN", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_032_490_POS, { "POS", "asterix.032_490_POS", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500, { "500, Supplementary Flight Data", "asterix.032_500", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_01, { "IFPS Flight ID", "asterix.032_500_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_IFI_TYP, { "TYP", "asterix.032_500_01_TYP", FT_UINT32, BASE_DEC, VALS(valstr_032_500_PLN), 0x90000000, NULL, HFILL } },
- { &hf_032_500_IFI_NBR, { "NBR", "asterix.032_500_01_NBR", FT_UINT32, BASE_DEC, NULL, 0x07FFFFFF, NULL, HFILL } },
- { &hf_032_500_02, { "RVSM & Flight Priority", "asterix.032_500_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_RVSM_RVSM, { "RVSM", "asterix.032_500_02_RVSM", FT_UINT8, BASE_DEC, VALS(valstr_032_500_RVSM), 0x06, NULL, HFILL } },
- { &hf_032_500_RVSM_HPR, { "HPR", "asterix.032_500_02_HPR", FT_UINT8, BASE_DEC, VALS(valstr_032_500_HPR), 0x01, NULL, HFILL } },
- { &hf_032_500_03, { "Runway Designation", "asterix.032_500_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_RUNWAY_NU1, { "NU1", "asterix.032_500_03_NU1", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_RUNWAY_NU2, { "NU2", "asterix.032_500_03_NU2", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_RUNWAY_LTR, { "LTR", "asterix.032_500_03_LTR", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_04, { "Time of Departure / Arrival", "asterix.032_500_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_TIME_TYP, { "TYP", "asterix.032_500_04_TYP", FT_UINT8, BASE_DEC, VALS(valstr_032_500_TYP), 0xFE, NULL, HFILL } },
- { &hf_032_500_TIME_DAY, { "DAY", "asterix.032_500_04_DAY", FT_UINT8, BASE_DEC, VALS(valstr_032_500_DAY), 0x06, NULL, HFILL } },
- { &hf_032_500_TIME_HOR, { "HOR", "asterix.032_500_04_HOR", FT_UINT8, BASE_DEC, NULL, 0x01E, NULL, HFILL } },
- { &hf_032_500_TIME_MIN, { "MIN", "asterix.032_500_04_MIN", FT_UINT8, BASE_DEC, NULL, 0x3F, NULL, HFILL } },
- { &hf_032_500_TIME_AVS, { "AVS", "asterix.032_500_04_AVS", FT_UINT8, BASE_DEC, VALS(valstr_032_500_AVS), 0x80, NULL, HFILL } },
- { &hf_032_500_TIME_SEC, { "SEC", "asterix.032_500_04_SEC", FT_UINT8, BASE_DEC, NULL, 0x3E, NULL, HFILL } },
- { &hf_032_500_05, { "Aircraft Stand", "asterix.032_500_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_AIR_STD, { "STND", "asterix.032_500_05_STND", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_06, { "Stand Status", "asterix.032_500_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_STS_EMP, { "EMP", "asterix.032_500_06_EMP", FT_UINT8, BASE_DEC, VALS(valstr_032_500_STS_EMP), 0xC0, NULL, HFILL } },
- { &hf_032_500_STS_AVL, { "AVL", "asterix.032_500_06_AVL", FT_UINT8, BASE_DEC, VALS(valstr_032_500_STS_AVL), 0x30, NULL, HFILL } },
- { &hf_032_500_07, { "Standard Instrument Departure", "asterix.032_500_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_SID, { "SID", "asterix.032_500_07_SID", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_08, { "Standard Instrument Arrival", "asterix.032_500_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_500_SIA, { "SIA", "asterix.032_500_08_SIA", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_032_RE, { "Reserved Expansion Field", "asterix.032_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 034 */
- { &hf_034_000, { "000, Message Type", "asterix.034_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_000_MT, { "MT", "asterix.034_000_MT", FT_UINT8, BASE_DEC, VALS (valstr_034_000_MT), 0x0, NULL, HFILL } },
- { &hf_034_010, { "010, Data Source Identifier", "asterix.034_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_020, { "020, Sector Number", "asterix.034_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_020_SN, { "Sector number", "asterix.034_020_SN", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_030, { "030, Time of Day", "asterix.034_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_041, { "041, Antenna Rotation Speed", "asterix.034_041", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_041_ARS, { "Antenna Rotation Speed", "asterix.034_041_ARS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_050, { "050, System Configuration and Status", "asterix.034_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_050_01, { "#1: COM", "asterix.034_050_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_050_01_NOGO, { "Operational Release Status of the System", "asterix.034_050_01_NOGO", FT_UINT8, BASE_DEC, VALS (valstr_034_050_01_NOGO), 0x80, NULL, HFILL } },
- { &hf_034_050_01_RDPC, { "Radar Data Processor Chain Selection Status", "asterix.034_050_01_RDPC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_01_RDPC), 0x40, NULL, HFILL } },
- { &hf_034_050_01_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_01_RDPR", FT_UINT8, BASE_DEC, VALS (valstr_034_050_01_RDPR), 0x20, NULL, HFILL } },
- { &hf_034_050_01_OVL_RDP, { "Radar Data Processor Overload Indicator", "asterix.034_050_01_OVL_RDP", FT_UINT8, BASE_DEC, VALS (valstr_034_050_01_OVL_RDP), 0x10, NULL, HFILL } },
- { &hf_034_050_01_OVL_XMT, { "Transmission Subsystem Overload Status", "asterix.034_050_01_OVL_XMT", FT_UINT8, BASE_DEC, VALS (valstr_034_050_01_OVL_XMT), 0x08, NULL, HFILL } },
- { &hf_034_050_01_MSC, { "Monitoring System Connected Status", "asterix.034_050_01_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_01_MSC), 0x04, NULL, HFILL } },
- { &hf_034_050_01_TSV, { "Time Source Validity", "asterix.034_050_01_TSV", FT_UINT8, BASE_DEC, VALS (valstr_034_050_01_TSV), 0x02, NULL, HFILL } },
- { &hf_034_050_02, { "#2: Specific Status information for a PSR sensor", "asterix.034_050_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_050_02_ANT, { "Selected antenna", "asterix.034_050_02_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_050_02_ANT), 0x80, NULL, HFILL } },
- { &hf_034_050_02_CHAB, { "Channel A/B selection status", "asterix.034_050_02_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_050_02_CHAB), 0x60, NULL, HFILL } },
- { &hf_034_050_02_OVL, { "Overload condition", "asterix.034_050_02_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_050_02_OVL), 0x10, NULL, HFILL } },
- { &hf_034_050_02_MSC, { "Monitoring System Connected Status", "asterix.034_050_02_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_02_MSC), 0x08, NULL, HFILL } },
- { &hf_034_050_03, { "#3: Specific Status information for a SSR sensor", "asterix.034_050_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_050_03_ANT, { "Selected antenna", "asterix.034_050_03_ANT", FT_UINT8, BASE_DEC, VALS (valstr_034_050_03_ANT), 0x80, NULL, HFILL } },
- { &hf_034_050_03_CHAB, { "Channel A/B selection status", "asterix.034_050_03_CHAB", FT_UINT8, BASE_DEC, VALS (valstr_034_050_03_CHAB), 0x60, NULL, HFILL } },
- { &hf_034_050_03_OVL, { "Overload condition", "asterix.034_050_03_OVL", FT_UINT8, BASE_DEC, VALS (valstr_034_050_03_OVL), 0x10, NULL, HFILL } },
- { &hf_034_050_03_MSC, { "Monitoring System Connected Status", "asterix.034_050_03_MSC", FT_UINT8, BASE_DEC, VALS (valstr_034_050_03_MSC), 0x08, NULL, HFILL } },
- { &hf_034_050_04, { "#4: Specific Status information for a Mode S sensor", "asterix.034_050_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_050_04_ANT, { "Selected antenna", "asterix.034_050_04_ANT", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_ANT), 0x8000, NULL, HFILL } },
- { &hf_034_050_04_CHAB, { "Channel A/B selection status for surveillance", "asterix.034_050_04_CHAB", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_CHAB), 0x6000, NULL, HFILL } },
- { &hf_034_050_04_OVL_SUR, { "Overload condition", "asterix.034_050_04_OVL_SUR", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_OVL_SUR), 0x1000, NULL, HFILL } },
- { &hf_034_050_04_MSC, { "Monitoring System Connected Status", "asterix.034_050_04_MSC", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_MSC), 0x0800, NULL, HFILL } },
- { &hf_034_050_04_SCF, { "Channel A/B selection status for Surveillance Co-ordination Function", "asterix.034_050_04_SCF", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_SCF), 0x0400, NULL, HFILL } },
- { &hf_034_050_04_DLF, { "Channel A/B selection status for Data Link Function", "asterix.034_050_04_DLF", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_DLF), 0x0200, NULL, HFILL } },
- { &hf_034_050_04_OVL_SCF, { "Overload in Surveillance", "asterix.034_050_04_OVL_SCF", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_OVL_SCF), 0x0100, NULL, HFILL } },
- { &hf_034_050_04_OVL_DLF, { "Overload in Data Link Function", "asterix.034_050_04_OVL_DLF", FT_UINT16, BASE_DEC, VALS (valstr_034_050_04_OVL_DLF), 0x0080, NULL, HFILL } },
- { &hf_034_060, { "060, System Processing Mode", "asterix.034_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_060_01, { "#1: COM", "asterix.034_060_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_060_01_RED_RDP, { "Reduction Steps in use for an overload of the RDP", "asterix.034_060_01_RED_RDP", FT_UINT8, BASE_DEC, VALS (valstr_034_060_RED), 0x70, NULL, HFILL } },
- { &hf_034_060_01_RED_XMT, { "Reduction Steps in use for an overload of the Transmission subsystem", "asterix.034_060_01_RED_XMT", FT_UINT8, BASE_DEC, VALS (valstr_034_060_RED), 0x0e, NULL, HFILL } },
- { &hf_034_060_02, { "#2: Specific Processing Mode information for a PSR sensor", "asterix.034_060_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_060_02_POL, { "Polarization in use by PSR", "asterix.034_060_02_POL", FT_UINT8, BASE_DEC, VALS (valstr_034_060_02_POL), 0x80, NULL, HFILL } },
- { &hf_034_060_02_RED_RAD, { "Reduction Steps in use as result of an overload within the PSR subsystem", "asterix.034_060_02_RED_RAD", FT_UINT8, BASE_DEC, VALS (valstr_034_060_RED), 0x70, NULL, HFILL } },
- { &hf_034_060_02_STC, { "Sensitivity Time Control Map in use", "asterix.034_060_02_STC", FT_UINT8, BASE_DEC, VALS (valstr_034_060_02_STC), 0x0c, NULL, HFILL } },
- { &hf_034_060_03, { "#3: Specific Processing Mode information for a SSR sensor", "asterix.034_060_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_060_03_RED_RAD, { "Reduction Steps in use as result of an overload within the SSR subsystem", "asterix.034_060_03_RED_RAD", FT_UINT8, BASE_DEC, VALS (valstr_034_060_RED), 0xe0, NULL, HFILL } },
- { &hf_034_060_04, { "#4: Specific Processing Mode information for a Mode S Sensor", "asterix.034_060_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_060_04_RED_RAD, { "Reduction Steps in use as result of an overload within the Mode S subsystem", "asterix.034_060_04_RED_RAD", FT_UINT8, BASE_DEC, VALS (valstr_034_060_RED), 0xe0, NULL, HFILL } },
- { &hf_034_060_04_CLU, { "Cluster State", "asterix.034_060_04_CLU", FT_UINT8, BASE_DEC, VALS (valstr_034_060_04_CLU), 0x10, NULL, HFILL } },
- { &hf_034_070, { "070, Message Count Values", "asterix.034_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_070_TYP, { "Type of message counter", "asterix.034_070_TYP", FT_UINT16, BASE_DEC, VALS (valstr_034_070_TYP), 0xf800, NULL, HFILL } },
- { &hf_034_070_COUNTER, { "COUNTER", "asterix.034_070_COUNTER", FT_UINT16, BASE_DEC, NULL, 0x07ff, NULL, HFILL } },
- { &hf_034_090, { "090, Collimation Error", "asterix.034_090", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_090_RE, { "Range error[NM]", "asterix.034_090_RE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_090_AE, { "Azimuth error[deg]", "asterix.034_090_AE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_100, { "100, Generic Polar Window", "asterix.034_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_100_RHOS, { "Rho start[NM]", "asterix.034_100_RHOS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_100_RHOE, { "Rho end[NM]", "asterix.034_100_RHOE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_100_THETAS, { "Theta start[deg]", "asterix.034_100_THETAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_100_THETAE, { "Theta end[deg]", "asterix.034_100_THETAE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_110, { "110, Data Filter", "asterix.034_110", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_110_TYP, { "TYP", "asterix.034_110_TYP", FT_UINT8, BASE_DEC, VALS (valstr_034_110_TYP), 0x0, NULL, HFILL } },
- { &hf_034_120, { "120, 3D-Position Of Data Source", "asterix.034_120", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_120_H, { "Height in WGS 84[m]", "asterix.034_120_H", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_120_LAT, { "Latitude in WGS 84[deg]", "asterix.034_120_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_120_LON, { "Longitude in WGS 84[deg]", "asterix.034_120_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_RE, { "Reserved Field", "asterix.034_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_034_SP, { "Special Field", "asterix.034_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 048 */
- { &hf_048_010, { "010, Data Source Identifier", "asterix.048_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_020, { "020, Target Report Descriptor", "asterix.048_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_020_TYP, { "TYP", "asterix.048_020_TYP", FT_UINT8, BASE_DEC, VALS (valstr_048_020_TYP), 0xe0, "Type of detection", HFILL } },
- { &hf_048_020_SIM, { "SIM", "asterix.048_020_SIM", FT_UINT8, BASE_DEC, VALS (valstr_048_020_SIM), 0x10, "Simulated or Actual target", HFILL } },
- { &hf_048_020_RDP, { "RDP", "asterix.048_020_RDP", FT_UINT8, BASE_DEC, VALS (valstr_048_020_RDP), 0x08, "RDP Chain", HFILL } },
- { &hf_048_020_SPI, { "SPI", "asterix.048_020_SPI", FT_UINT8, BASE_DEC, VALS (valstr_048_020_SPI), 0x04, "Special Position Identification", HFILL } },
- { &hf_048_020_RAB, { "RAB", "asterix.048_020_RAB", FT_UINT8, BASE_DEC, VALS (valstr_048_020_RAB), 0x02, "Report from aircraft or field monitor", HFILL } },
- { &hf_048_020_TST, { "TST", "asterix.048_020_TST", FT_UINT8, BASE_DEC, VALS (valstr_048_020_TST), 0x80, "Real or test target", HFILL } },
- { &hf_048_020_ERR, { "ERR", "asterix.048_020_ERR", FT_UINT8, BASE_DEC, VALS (valstr_048_020_ERR), 0x40, "Extended range present or not", HFILL } },
- { &hf_048_020_XPP, { "XPP", "asterix.048_020_XPP", FT_UINT8, BASE_DEC, VALS (valstr_048_020_XPP), 0x20, "X-Pulse present or not", HFILL } },
- { &hf_048_020_ME, { "ME", "asterix.048_020_ME", FT_UINT8, BASE_DEC, VALS (valstr_048_020_ME), 0x10, "Military emergency", HFILL } },
- { &hf_048_020_MI, { "MI", "asterix.048_020_MI", FT_UINT8, BASE_DEC, VALS (valstr_048_020_MI), 0x08, "Military identification", HFILL } },
- { &hf_048_020_FOE, { "FOE/FRI", "asterix.048_020_FOE", FT_UINT8, BASE_DEC, VALS (valstr_048_020_FOE), 0x06, "Foe or friend", HFILL } },
- { &hf_048_030, { "030, Warning/Error Conditions", "asterix.048_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_030_WE, { "W/E value", "asterix.048_030_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_1_WE, { "W/E value", "asterix.048_030_1_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_2_WE, { "W/E value", "asterix.048_030_2_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_3_WE, { "W/E value", "asterix.048_030_3_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_4_WE, { "W/E value", "asterix.048_030_4_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_5_WE, { "W/E value", "asterix.048_030_5_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_6_WE, { "W/E value", "asterix.048_030_6_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_7_WE, { "W/E value", "asterix.048_030_7_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_8_WE, { "W/E value", "asterix.048_030_8_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_030_9_WE, { "W/E value", "asterix.048_030_9_WE", FT_UINT8, BASE_DEC, VALS (valstr_048_030_WE), 0xfe, NULL, HFILL } },
- { &hf_048_040, { "040, Measured Position in Polar Co-ordinates", "asterix.048_040", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_040_RHO, { "RHO[NM]", "asterix.048_040_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_040_THETA, { "THETA[deg]", "asterix.048_040_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_042, { "042, Calculated Position in Cartesian Co-ordinates", "asterix.048_042", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_042_X, { "X[NM]", "asterix.048_042_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_042_Y, { "Y[NM]", "asterix.048_042_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_050, { "050, Mode-2 Code in Octal Representation", "asterix.048_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_050_V, { "V", "asterix.048_050_V", FT_UINT16, BASE_DEC, VALS (valstr_048_050_V), 0x8000, NULL, HFILL } },
- { &hf_048_050_G, { "G", "asterix.048_050_G", FT_UINT16, BASE_DEC, VALS (valstr_048_050_G), 0x4000, NULL, HFILL } },
- { &hf_048_050_L, { "L", "asterix.048_050_L", FT_UINT16, BASE_DEC, VALS (valstr_048_050_L), 0x2000, NULL, HFILL } },
- { &hf_048_050_SQUAWK, { "SQUAWK", "asterix.048_050_SQUAWK", 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, 0x0, 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_CODE, { "CODE", "asterix.048_055_CODE", FT_UINT8, BASE_OCT, NULL, 0x1f, NULL, HFILL } },
- { &hf_048_060, { "060, Mode-2 Code Confidence Indicator", "asterix.048_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_060_QA4, { "QA4", "asterix.048_060_QA4", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0800, NULL, HFILL } },
- { &hf_048_060_QA2, { "QA2", "asterix.048_060_QA2", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0400, NULL, HFILL } },
- { &hf_048_060_QA1, { "QA1", "asterix.048_060_QA1", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0200, NULL, HFILL } },
- { &hf_048_060_QB4, { "QB4", "asterix.048_060_QB4", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0100, NULL, HFILL } },
- { &hf_048_060_QB2, { "QB2", "asterix.048_060_QB2", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0080, NULL, HFILL } },
- { &hf_048_060_QB1, { "QB1", "asterix.048_060_QB1", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0040, NULL, HFILL } },
- { &hf_048_060_QC4, { "QC4", "asterix.048_060_QC4", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0020, NULL, HFILL } },
- { &hf_048_060_QC2, { "QC2", "asterix.048_060_QC2", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0010, NULL, HFILL } },
- { &hf_048_060_QC1, { "QC1", "asterix.048_060_QC1", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0008, NULL, HFILL } },
- { &hf_048_060_QD4, { "QD4", "asterix.048_060_QD4", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0004, NULL, HFILL } },
- { &hf_048_060_QD2, { "QD2", "asterix.048_060_QD2", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0002, NULL, HFILL } },
- { &hf_048_060_QD1, { "QD1", "asterix.048_060_QD1", FT_UINT16, BASE_DEC, VALS (valstr_048_060_QA), 0x0001, NULL, HFILL } },
- { &hf_048_065, { "065, Mode-1 Code Confidence Indicator", "asterix.048_065", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_065_QA4, { "QA4", "asterix.048_065_QA4", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA), 0x10, NULL, HFILL } },
- { &hf_048_065_QA2, { "QA2", "asterix.048_065_QA2", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA), 0x08, NULL, HFILL } },
- { &hf_048_065_QA1, { "QA1", "asterix.048_065_QA1", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA), 0x04, NULL, HFILL } },
- { &hf_048_065_QB2, { "QB2", "asterix.048_065_QB2", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA), 0x02, NULL, HFILL } },
- { &hf_048_065_QB1, { "QB1", "asterix.048_065_QB1", FT_UINT8, BASE_DEC, VALS (valstr_048_065_QA), 0x01, NULL, HFILL } },
- { &hf_048_070, { "070, Mode-3/A Code in Octal Representation", "asterix.048_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_070_V, { "V", "asterix.048_070_V", FT_UINT16, BASE_DEC, VALS (valstr_048_070_V), 0x8000, NULL, HFILL } },
- { &hf_048_070_G, { "G", "asterix.048_070_G", FT_UINT16, BASE_DEC, VALS (valstr_048_070_G), 0x4000, NULL, HFILL } },
- { &hf_048_070_L, { "L", "asterix.048_070_L", FT_UINT16, BASE_DEC, VALS (valstr_048_070_L), 0x2000, NULL, HFILL } },
- { &hf_048_070_SQUAWK, { "SQUAWK", "asterix.048_070_SQUAWK", 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, 0x0, NULL, HFILL } },
- { &hf_048_080_QA4, { "QA4", "asterix.048_080_QA4", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0800, NULL, HFILL } },
- { &hf_048_080_QA2, { "QA2", "asterix.048_080_QA2", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0400, NULL, HFILL } },
- { &hf_048_080_QA1, { "QA1", "asterix.048_080_QA1", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0200, NULL, HFILL } },
- { &hf_048_080_QB4, { "QB4", "asterix.048_080_QB4", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0100, NULL, HFILL } },
- { &hf_048_080_QB2, { "QB2", "asterix.048_080_QB2", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0080, NULL, HFILL } },
- { &hf_048_080_QB1, { "QB1", "asterix.048_080_QB1", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0040, NULL, HFILL } },
- { &hf_048_080_QC4, { "QC4", "asterix.048_080_QC4", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0020, NULL, HFILL } },
- { &hf_048_080_QC2, { "QC2", "asterix.048_080_QC2", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0010, NULL, HFILL } },
- { &hf_048_080_QC1, { "QC1", "asterix.048_080_QC1", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0008, NULL, HFILL } },
- { &hf_048_080_QD4, { "QD4", "asterix.048_080_QD4", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0004, NULL, HFILL } },
- { &hf_048_080_QD2, { "QD2", "asterix.048_080_QD2", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0002, NULL, HFILL } },
- { &hf_048_080_QD1, { "QD1", "asterix.048_080_QD1", FT_UINT16, BASE_DEC, VALS (valstr_048_080_QA), 0x0001, NULL, HFILL } },
- { &hf_048_090, { "090, Flight Level in Binary Representation", "asterix.048_090", FT_NONE, BASE_NONE, NULL, 0x0, 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", "asterix.048_090_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_100, { "100, Mode-C Code and Code Confidence Indicator", "asterix.048_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_100_V, { "V", "asterix.048_100_V", FT_UINT16, BASE_DEC, VALS (valstr_048_100_V), 0x8000, NULL, HFILL } },
- { &hf_048_100_G, { "G", "asterix.048_100_G", FT_UINT16, BASE_DEC, VALS (valstr_048_100_G), 0x4000, NULL, HFILL } },
- { &hf_048_100_C1, { "C1", "asterix.048_100_C1", FT_UINT16, BASE_DEC, NULL, 0x0800, NULL, HFILL } },
- { &hf_048_100_A1, { "A1", "asterix.048_100_A1", FT_UINT16, BASE_DEC, NULL, 0x0400, NULL, HFILL } },
- { &hf_048_100_C2, { "C2", "asterix.048_100_C2", FT_UINT16, BASE_DEC, NULL, 0x0200, NULL, HFILL } },
- { &hf_048_100_A2, { "A2", "asterix.048_100_A2", FT_UINT16, BASE_DEC, NULL, 0x0100, NULL, HFILL } },
- { &hf_048_100_C4, { "C4", "asterix.048_100_C4", FT_UINT16, BASE_DEC, NULL, 0x0080, NULL, HFILL } },
- { &hf_048_100_A4, { "A4", "asterix.048_100_A4", FT_UINT16, BASE_DEC, NULL, 0x0040, NULL, HFILL } },
- { &hf_048_100_B1, { "B1", "asterix.048_100_B1", FT_UINT16, BASE_DEC, NULL, 0x0020, NULL, HFILL } },
- { &hf_048_100_D1, { "D1", "asterix.048_100_D1", FT_UINT16, BASE_DEC, NULL, 0x0010, NULL, HFILL } },
- { &hf_048_100_B2, { "B2", "asterix.048_100_B2", FT_UINT16, BASE_DEC, NULL, 0x0008, NULL, HFILL } },
- { &hf_048_100_D2, { "D2", "asterix.048_100_D2", FT_UINT16, BASE_DEC, NULL, 0x0004, NULL, HFILL } },
- { &hf_048_100_B4, { "B4", "asterix.048_100_B4", FT_UINT16, BASE_DEC, NULL, 0x0002, NULL, HFILL } },
- { &hf_048_100_D4, { "D4", "asterix.048_100_D4", FT_UINT16, BASE_DEC, NULL, 0x0001, NULL, HFILL } },
- { &hf_048_100_QC1, { "QC1", "asterix.048_100_QC1", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0800, NULL, HFILL } },
- { &hf_048_100_QA1, { "QA1", "asterix.048_100_QA1", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0400, NULL, HFILL } },
- { &hf_048_100_QC2, { "QC2", "asterix.048_100_QC2", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0200, NULL, HFILL } },
- { &hf_048_100_QA2, { "QA2", "asterix.048_100_QA2", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0100, NULL, HFILL } },
- { &hf_048_100_QC4, { "QC4", "asterix.048_100_QC4", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0080, NULL, HFILL } },
- { &hf_048_100_QA4, { "QA4", "asterix.048_100_QA4", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0040, NULL, HFILL } },
- { &hf_048_100_QB1, { "QB1", "asterix.048_100_QB1", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0020, NULL, HFILL } },
- { &hf_048_100_QD1, { "QD1", "asterix.048_100_QD1", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0010, NULL, HFILL } },
- { &hf_048_100_QB2, { "QB2", "asterix.048_100_QB2", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0008, NULL, HFILL } },
- { &hf_048_100_QD2, { "QD2", "asterix.048_100_QD2", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0004, NULL, HFILL } },
- { &hf_048_100_QB4, { "QB4", "asterix.048_100_QB4", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0002, NULL, HFILL } },
- { &hf_048_100_QD4, { "QD4", "asterix.048_100_QD4", FT_UINT16, BASE_DEC, VALS (valstr_048_100_QA), 0x0001, NULL, HFILL } },
- { &hf_048_110, { "110, Height Measured by a 3D Radar", "asterix.048_110", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_110_3DHEIGHT, { "3D-Height [feet]", "asterix.048_110_3DHEIGHT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_120, { "120, Radial Doppler Speed", "asterix.048_120", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_120_01, { "Subfield #1: Calculated Doppler Speed", "asterix.048_120_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_120_01_D, { "D", "asterix.048_120_01_D", FT_UINT16, BASE_DEC, VALS (valstr_048_120_01_D), 0x8000, NULL, HFILL } },
- { &hf_048_120_01_CAL, { "CAL[m/s]", "asterix.048_120_01_CAL", FT_INT16, BASE_DEC, NULL, 0x3ff, NULL, HFILL } },
- { &hf_048_120_02, { "Subfield # 2: Raw Doppler Speed", "asterix.048_120_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_120_02_DOP, { "DOP[m/s]", "asterix.048_120_02_DOP", FT_INT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_048_120_02_AMB, { "AMB[m/s]", "asterix.048_120_02_AMB", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_048_120_02_FRQ, { "FRQ[MHz]", "asterix.048_120_02_FRQ", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130, { "130, Radar Plot Characteristics", "asterix.048_130", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_01, { "#1: SSR Plot Runlength", "asterix.048_130_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_01_SRL, { "SRL[deg]", "asterix.048_130_01_SRL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_02, { "#2: Number of Received Replies for (M)SSR", "asterix.048_130_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_02_SRR, { "SRR", "asterix.048_130_02_SRR", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_03, { "#3: Amplitude of (M)SSR Reply", "asterix.048_130_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_03_SAM, { "SAM[dBm]", "asterix.048_130_03_SAM", FT_INT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_04, { "#4: Primary Plot Runlength", "asterix.048_130_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_04_PRL, { "PRL[deg]", "asterix.048_130_04_PRL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_05, { "#5: Amplitude of Primary Plot", "asterix.048_130_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_05_PAM, { "PAM[dBm]", "asterix.048_130_05_PAM", FT_INT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_06, { "#6: Difference in Range between PSR and SSR plot", "asterix.048_130_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_06_RPD, { "RPD[NM]", "asterix.048_130_06_RPD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_07, { "#7: Difference in Azimuth between PSR and SSR plot", "asterix.048_130_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_130_07_APD, { "APD[deg]", "asterix.048_130_07_APD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_140, { "140, Time of Day", "asterix.048_140", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_161, { "161, Track Number", "asterix.048_161", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_161_TN, { "TN", "asterix.048_161_TN", FT_UINT16, BASE_DEC, NULL, 0x0fff, NULL, HFILL } },
- { &hf_048_170, { "170, Track Status", "asterix.048_170", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_170_CNF, { "CNF", "asterix.048_170_CNF", FT_UINT8, BASE_DEC, VALS (valstr_048_170_CNF), 0x80, "Confirmed vs. Tentative Track", HFILL } },
- { &hf_048_170_RAD, { "RAD", "asterix.048_170_RAD", FT_UINT8, BASE_DEC, VALS (valstr_048_170_RAD), 0x60, "Type of Sensor(s) maintaining Track", HFILL } },
- { &hf_048_170_DOU, { "DOU", "asterix.048_170_DOU", FT_UINT8, BASE_DEC, VALS (valstr_048_170_DOU), 0x10, "Signals level of confidence in plot to track association process", HFILL } },
- { &hf_048_170_MAH, { "MAH", "asterix.048_170_MAH", FT_UINT8, BASE_DEC, VALS (valstr_048_170_MAH), 0x08, "Manoeuvre detection in Horizontal Sense", HFILL } },
- { &hf_048_170_CDM, { "CDM", "asterix.048_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_170_CDM), 0x06, "Climbing / Descending Mode", HFILL } },
- { &hf_048_170_CDM_v1_21, { "CDM", "asterix.048_170_CDM", FT_UINT8, BASE_DEC, VALS (valstr_048_170_CDM_v1_21), 0x06, "Climbing / Descending Mode", HFILL } },
- { &hf_048_170_TRE, { "TRE", "asterix.048_170_TRE", FT_UINT8, BASE_DEC, VALS (valstr_048_170_TRE), 0x80, "Signal for End_of_Track", HFILL } },
- { &hf_048_170_GHO, { "GHO", "asterix.048_170_GHO", FT_UINT8, BASE_DEC, VALS (valstr_048_170_GHO), 0x40, "Ghost vs. true target", HFILL } },
- { &hf_048_170_SUP, { "SUP", "asterix.048_170_SUP", FT_UINT8, BASE_DEC, VALS (valstr_048_170_SUP), 0x20, "Track maintained with track information from neighbouring Node B on the cluster, or network", HFILL } },
- { &hf_048_170_TCC, { "TCC", "asterix.048_170_TCC", FT_UINT8, BASE_DEC, VALS (valstr_048_170_TCC), 0x10, "Type of plot coordinate transformation mechanism", HFILL } },
- { &hf_048_200, { "200, Calculated Track Velocity in Polar Co-ordinates", "asterix.048_200", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_200_GS, { "Calculated groundspeed[NM/s]", "asterix.048_200_GS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_200_HDG, { "Calculated heading[deg]", "asterix.048_200_HDG", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_210, { "210, Track Quality", "asterix.048_210", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_210_X, { "Sigma (X)[NM]", "asterix.048_210_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_210_Y, { "Sigma (Y)[NM]", "asterix.048_210_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_210_V, { "Sigma (V)[NM/s]", "asterix.048_210_V", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_210_H, { "Sigma (H)[deg]", "asterix.048_210_H", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_220, { "220, Aircraft Address", "asterix.048_220", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_230, { "230, Communications/ACAS Capability and Flight Status", "asterix.048_230", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_230_COM, { "COM", "asterix.048_230_COM", FT_UINT16, BASE_DEC, VALS (valstr_048_230_COM), 0xe000, "Communications capability of the transponder", HFILL } },
- { &hf_048_230_STAT, { "STAT", "asterix.048_230_STAT", FT_UINT16, BASE_DEC, VALS (valstr_048_230_STAT), 0x1c00, "Flight status", HFILL } },
- { &hf_048_230_SI, { "SI", "asterix.048_230_SI", FT_UINT16, BASE_DEC, VALS (valstr_048_230_SI), 0x0200, "SI/II Transponder Capability", HFILL } },
- { &hf_048_230_MSSC, { "MSSC", "asterix.048_230_MSSC", FT_UINT16, BASE_DEC, VALS (valstr_048_230_MSSC), 0x0080, "Mode-S Specific Service Capability", HFILL } },
- { &hf_048_230_ARC, { "ARC", "asterix.048_230_ARC", FT_UINT16, BASE_DEC, VALS (valstr_048_230_ARC), 0x0040, "Altitude reporting capability", HFILL } },
- { &hf_048_230_AIC, { "AIC", "asterix.048_230_AIC", FT_UINT16, BASE_DEC, VALS (valstr_048_230_AIC), 0x0020, "Aircraft identification capability", HFILL } },
- { &hf_048_230_B1A, { "B1A", "asterix.048_230_B1A", FT_UINT16, BASE_DEC, NULL, 0x0010, "BDS 1,0 bit 16", HFILL } },
- { &hf_048_230_B1B, { "B1B", "asterix.048_230_B1B", FT_UINT16, BASE_DEC, NULL, 0x000f, "BDS 1,0 bits 37/40", HFILL } },
- { &hf_048_240, { "240, Aircraft Identification", "asterix.048_240", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_250, { "250, Mode S MB Data", "asterix.048_250", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_260, { "260, ACAS Resolution Advisory Report", "asterix.048_260", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_260_ACAS, { "ACAS", "asterix.048_260_ACAS", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE, { "Reserved Expansion Field", "asterix.048_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5, { "MD5, Mode 5 Reports", "asterix.048_RE_MD5", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_01, { "#1: Mode 5 Summary", "asterix.048_RE_MD5_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_01_M5, { "M5", "asterix.048_RE_MD5_01_M5", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_01_M5), 0x80, NULL, HFILL } },
- { &hf_048_RE_MD5_01_ID, { "ID", "asterix.048_RE_MD5_01_ID", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_01_ID), 0x40, NULL, HFILL } },
- { &hf_048_RE_MD5_01_DA, { "DA", "asterix.048_RE_MD5_01_DA", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_01_DA), 0x20, NULL, HFILL } },
- { &hf_048_RE_MD5_01_M1, { "M1", "asterix.048_RE_MD5_01_M1", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_01_M1), 0x10, NULL, HFILL } },
- { &hf_048_RE_MD5_01_M2, { "M2", "asterix.048_RE_MD5_01_M2", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_01_M2), 0x08, NULL, HFILL } },
- { &hf_048_RE_MD5_01_M3, { "M3", "asterix.048_RE_MD5_01_M3", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_01_M3), 0x04, NULL, HFILL } },
- { &hf_048_RE_MD5_01_MC, { "MC", "asterix.048_RE_MD5_01_MC", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_01_MC), 0x02, NULL, HFILL } },
- { &hf_048_RE_MD5_02, { "#2: Mode 5 PIN /National Origin/ Mission Code", "asterix.048_RE_MD5_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_02_PIN, { "PIN", "asterix.048_RE_MD5_02_PIN", FT_UINT32, BASE_DEC, NULL, 0x3fff0000, NULL, HFILL } },
- { &hf_048_RE_MD5_02_NAV, { "NAV", "asterix.048_RE_MD5_02_NAV", FT_UINT32, BASE_DEC, VALS (valstr_048_RE_MD5_02_NAV), 0x00002000, NULL, HFILL } },
- { &hf_048_RE_MD5_02_NAT, { "NAT", "asterix.048_RE_MD5_02_NAT", FT_UINT32, BASE_DEC, NULL, 0x00001f00, NULL, HFILL } },
- { &hf_048_RE_MD5_02_MIS, { "MIS", "asterix.048_RE_MD5_02_MIS", FT_UINT32, BASE_DEC, NULL, 0x0000003f, NULL, HFILL } },
- { &hf_048_RE_MD5_03, { "#3: Mode 5 Reported Position", "asterix.048_RE_MD5_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_03_LAT, { "LAT[deg]", "asterix.048_RE_MD5_03_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_03_LON, { "LON[deg]", "asterix.048_RE_MD5_03_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_04, { "#4: Mode 5 GNSS-derived Altitude", "asterix.048_RE_MD5_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_04_RES, { "RES", "asterix.048_RE_MD5_04_RES", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_04_RES), 0x40, NULL, HFILL } },
- { &hf_048_RE_MD5_04_GA, { "GA[ft]", "asterix.048_RE_MD5_04_GA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_05, { "#5: Extended Mode 1 Code in Octal Representation", "asterix.048_RE_MD5_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_05_V, { "V", "asterix.048_RE_MD5_05_V", FT_UINT16, BASE_DEC, VALS (valstr_048_RE_MD5_05_V), 0x8000, NULL, HFILL } },
- { &hf_048_RE_MD5_05_G, { "G", "asterix.048_RE_MD5_05_G", FT_UINT16, BASE_DEC, VALS (valstr_048_RE_MD5_05_G), 0x4000, NULL, HFILL } },
- { &hf_048_RE_MD5_05_L, { "L", "asterix.048_RE_MD5_05_L", FT_UINT16, BASE_DEC, VALS (valstr_048_RE_MD5_05_L), 0x2000, NULL, HFILL } },
- { &hf_048_RE_MD5_05_SQUAWK, { "SQUAWK", "asterix.048_RE_MD5_05_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_048_RE_MD5_06, { "#6: Time Offset for POS and GA", "asterix.048_RE_MD5_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_06_TOS, { "TOS[s]", "asterix.048_RE_MD5_06_TOS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_07, { "#7: X Pulse Presence,", "asterix.048_RE_MD5_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_MD5_07_XP, { "XP", "asterix.048_RE_MD5_07_XP", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_07_XP), 0x20, NULL, HFILL } },
- { &hf_048_RE_MD5_07_X5, { "X5", "asterix.048_RE_MD5_07_X5", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_07_X5), 0x10, NULL, HFILL } },
- { &hf_048_RE_MD5_07_XC, { "XC", "asterix.048_RE_MD5_07_XC", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_07_XC), 0x08, NULL, HFILL } },
- { &hf_048_RE_MD5_07_X3, { "X3", "asterix.048_RE_MD5_07_X3", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_07_X3), 0x04, NULL, HFILL } },
- { &hf_048_RE_MD5_07_X2, { "X2", "asterix.048_RE_MD5_07_X2", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_07_X2), 0x02, NULL, HFILL } },
- { &hf_048_RE_MD5_07_X1, { "X1", "asterix.048_RE_MD5_07_X1", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_MD5_07_X1), 0x01, NULL, HFILL } },
- { &hf_048_RE_M5N, { "M5N, Mode 5 Reports, New Format", "asterix.048_RE_M5N", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_01, { "#1: Mode 5 Summary", "asterix.048_RE_M5N_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_01_M5, { "M5", "asterix.048_RE_M5N_01_M5", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_01_M5), 0x80, NULL, HFILL } },
- { &hf_048_RE_M5N_01_ID, { "ID", "asterix.048_RE_M5N_01_ID", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_01_ID), 0x40, NULL, HFILL } },
- { &hf_048_RE_M5N_01_DA, { "DA", "asterix.048_RE_M5N_01_DA", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_01_DA), 0x20, NULL, HFILL } },
- { &hf_048_RE_M5N_01_M1, { "M1", "asterix.048_RE_M5N_01_M1", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_01_M1), 0x10, NULL, HFILL } },
- { &hf_048_RE_M5N_01_M2, { "M2", "asterix.048_RE_M5N_01_M2", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_01_M2), 0x08, NULL, HFILL } },
- { &hf_048_RE_M5N_01_M3, { "M3", "asterix.048_RE_M5N_01_M3", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_01_M3), 0x04, NULL, HFILL } },
- { &hf_048_RE_M5N_01_MC, { "MC", "asterix.048_RE_M5N_01_MC", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_01_MC), 0x02, NULL, HFILL } },
- { &hf_048_RE_M5N_02, { "#2: Mode 5 PIN /National Origin/ Mission Code", "asterix.048_RE_M5N_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_02_PIN, { "PIN", "asterix.048_RE_M5N_02_PIN", FT_UINT32, BASE_DEC, NULL, 0x3fff0000, NULL, HFILL } },
- { &hf_048_RE_M5N_02_NOV, { "NOV", "asterix.048_RE_M5N_02_NOV", FT_UINT32, BASE_DEC, VALS (valstr_048_RE_M5N_02_NOV), 0x00000800, NULL, HFILL } },
- { &hf_048_RE_M5N_02_NO, { "NO", "asterix.048_RE_M5N_02_NO", FT_UINT32, BASE_DEC, NULL, 0x000007ff, NULL, HFILL } },
- { &hf_048_RE_M5N_03, { "#3: Mode 5 Reported Position", "asterix.048_RE_M5N_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_03_LAT, { "LAT[deg]", "asterix.048_RE_M5N_03_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_03_LON, { "LON[deg]", "asterix.048_RE_M5N_03_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_04, { "#4: Mode 5 GNSS-derived Altitude", "asterix.048_RE_M5N_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_04_RES, { "RES", "asterix.048_RE_M5N_04_RES", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_04_RES), 0x40, NULL, HFILL } },
- { &hf_048_RE_M5N_04_GA, { "GA[ft]", "asterix.048_RE_M5N_04_GA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_05, { "#5: Extended Mode 1 Code in Octal Representation", "asterix.048_RE_M5N_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_05_V, { "V", "asterix.048_RE_M5N_05_V", FT_UINT16, BASE_DEC, VALS (valstr_048_RE_M5N_05_V), 0x8000, NULL, HFILL } },
- { &hf_048_RE_M5N_05_G, { "G", "asterix.048_RE_M5N_05_G", FT_UINT16, BASE_DEC, VALS (valstr_048_RE_M5N_05_G), 0x4000, NULL, HFILL } },
- { &hf_048_RE_M5N_05_L, { "L", "asterix.048_RE_M5N_05_L", FT_UINT16, BASE_DEC, VALS (valstr_048_RE_M5N_05_L), 0x2000, NULL, HFILL } },
- { &hf_048_RE_M5N_05_SQUAWK, { "SQUAWK", "asterix.048_RE_M5N_05_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_048_RE_M5N_06, { "#6: Time Offset for POS and GA", "asterix.048_RE_M5N_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_06_TOS, { "TOS[s]", "asterix.048_RE_M5N_06_TOS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_07, { "#7: X Pulse Presence", "asterix.048_RE_M5N_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_07_XP, { "XP", "asterix.048_RE_M5N_07_XP", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_07_XP), 0x20, NULL, HFILL } },
- { &hf_048_RE_M5N_07_X5, { "X5", "asterix.048_RE_M5N_07_X5", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_07_X5), 0x10, NULL, HFILL } },
- { &hf_048_RE_M5N_07_XC, { "XC", "asterix.048_RE_M5N_07_XC", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_07_XC), 0x08, NULL, HFILL } },
- { &hf_048_RE_M5N_07_X3, { "X3", "asterix.048_RE_M5N_07_X3", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_07_X3), 0x04, NULL, HFILL } },
- { &hf_048_RE_M5N_07_X2, { "X2", "asterix.048_RE_M5N_07_X2", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_07_X2), 0x02, NULL, HFILL } },
- { &hf_048_RE_M5N_07_X1, { "X1", "asterix.048_RE_M5N_07_X1", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M5N_07_X1), 0x01, NULL, HFILL } },
- { &hf_048_RE_M5N_08, { "#8, Figure of Merit", "asterix.048_RE_M5N_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M5N_08_FOM, { "FOM", "asterix.048_RE_M5N_08_FOM", FT_UINT8, BASE_DEC, NULL, 0x1f, NULL, HFILL } },
- { &hf_048_RE_M4E, { "M4E, Extended Mode 4 Report", "asterix.048_RE_M4E", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_M4E_FOE_FRI, { "FOE/FRI", "asterix.048_RE_M4E_FOE_FRI", FT_UINT8, BASE_DEC, VALS (valstr_048_RE_M4E_FOE_FRI), 0x06, NULL, HFILL } },
- { &hf_048_RE_RPC, { "RPC, Radar Plot Characteristics", "asterix.048_RE_RPC", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_01, { "#1: Score", "asterix.048_RE_RPC_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_01_SCO, { "SCO", "asterix.048_RE_RPC_01_SCO", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_02, { "#2: Signal / Clutter Ratio", "asterix.048_RE_RPC_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_02_SCR, { "SCR[dB]", "asterix.048_RE_RPC_02_SCR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_03, { "#3: Range Width", "asterix.048_RE_RPC_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_03_RW, { "RW[NM]", "asterix.048_RE_RPC_03_RW", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_04, { "#4: Ambiguous Range", "asterix.048_RE_RPC_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_RPC_04_AR, { "AR[NM]", "asterix.048_RE_RPC_04_AR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_ERR, { "ERR, Extended Range Report", "asterix.048_RE_ERR", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_RE_ERR_RHO, { "RHO[NM]", "asterix.048_RE_ERR_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_048_SP, { "Special Purpose Field", "asterix.048_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 062*/
- { &hf_062_010, { "010, Data Source Identifier", "asterix.062_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_015, { "015, Service Identification", "asterix.062_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_015_SI, { "SI", "asterix.062_015_SI", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_062_040, { "040, Track Number", "asterix.062_040", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_060, { "060, Track Mode 3/A Code", "asterix.062_060", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_060_V, { "V", "asterix.062_060_V", FT_UINT16, BASE_DEC, VALS (valstr_062_060_V), 0x8000, "Validated", HFILL } },
- { &hf_062_060_G, { "G", "asterix.062_060_G", FT_UINT16, BASE_DEC, VALS (valstr_062_060_G), 0x4000, "Garbled", HFILL } },
- { &hf_062_060_CH, { "CH", "asterix.062_060_CH", FT_UINT16, BASE_DEC, VALS (valstr_062_060_CH), 0x2000, "Change in Mode 3/A", HFILL } },
- { &hf_062_060_SQUAWK, { "SQUAWK", "asterix.062_060_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_062_070, { "070, Time Of Track Information", "asterix.062_070", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_080, { "080, Track Status", "asterix.062_080", FT_NONE, BASE_NONE, NULL, 0x0, 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", "asterix.062_080_MRH", FT_UINT8, BASE_DEC, VALS (valstr_062_080_MRH), 0x20, NULL, HFILL } },
- { &hf_062_080_SRC, { "SRC", "asterix.062_080_SRC", FT_UINT8, BASE_DEC, VALS (valstr_062_080_SRC), 0x1c, 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 } },
@@ -14977,523 +64372,727 @@ void proto_register_asterix (void)
{ &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_FRIFOE, { "FRI/FOE", "asterix.062_080_FRIFOE", FT_UINT8, BASE_DEC, VALS (valstr_062_080_FRIFOE), 0x60, NULL, HFILL } },
- { &hf_062_080_COA, { "COA", "asterix.062_080_COA", FT_UINT8, BASE_DEC, VALS (valstr_062_080_COA), 0x80, NULL, HFILL } },
- { &hf_062_100, { "100, Calculated Track Position (Cartesian)", "asterix.062_100", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_100_X, { "X[m]", "asterix.062_100_X", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_100_Y, { "Y[m]", "asterix.062_100_Y", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_100_X_v0_17, { "X[NM]", "asterix.062_100_X_v0_17", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_100_Y_v0_17, { "Y[NM]", "asterix.062_100_Y_v0_17", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_105, { "105, Calculated Position In WGS-84 Co-ordinates", "asterix.062_105", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_105_LAT, { "LAT[deg]", "asterix.062_105_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_105_LON, { "LON[deg]", "asterix.062_105_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110, { "110, Mode 5 Data reports & Extended Mode 1 Code", "asterix.062_110", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_01, { "#1: Mode 5 Summary", "asterix.062_110_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_01_M5, { "M5", "asterix.062_110_01_M5", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_M5), 0x80, NULL, HFILL } },
- { &hf_062_110_01_ID, { "ID", "asterix.062_110_01_ID", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_ID), 0x40, NULL, HFILL } },
- { &hf_062_110_01_DA, { "DA", "asterix.062_110_01_DA", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_DA), 0x20, NULL, HFILL } },
- { &hf_062_110_01_M1, { "M1", "asterix.062_110_01_M1", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_M1), 0x10, NULL, HFILL } },
- { &hf_062_110_01_M2, { "M2", "asterix.062_110_01_M2", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_M2), 0x08, NULL, HFILL } },
- { &hf_062_110_01_M3, { "M3", "asterix.062_110_01_M3", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_M3), 0x04, NULL, HFILL } },
- { &hf_062_110_01_MC, { "MC", "asterix.062_110_01_MC", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_MC), 0x02, NULL, HFILL } },
- { &hf_062_110_01_X, { "X", "asterix.062_110_01_X", FT_UINT8, BASE_DEC, VALS (valstr_062_110_01_X), 0x01, NULL, HFILL } },
- { &hf_062_110_02, { "#2: Mode 5 PIN /National Origin/ Mission Code", "asterix.062_110_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_02_PIN, { "PIN", "asterix.062_110_02_PIN", FT_UINT32, BASE_DEC, NULL, 0x3fff0000, NULL, HFILL } },
- { &hf_062_110_02_NAT, { "NAT", "asterix.062_110_02_NAT", FT_UINT32, BASE_DEC, NULL, 0x00001f00, NULL, HFILL } },
- { &hf_062_110_02_MIS, { "MIS", "asterix.062_110_02_MIS", FT_UINT32, BASE_DEC, NULL, 0x0000003f, NULL, HFILL } },
- { &hf_062_110_03, { "#3: Mode 5 Reported Position", "asterix.062_110_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_03_LAT, { "LAT[deg]", "asterix.062_110_03_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_03_LON, { "LON[deg]", "asterix.062_110_03_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_04, { "#4: Mode 5 GNSS-derived Altitude", "asterix.062_110_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_04_RES, { "RES", "asterix.062_110_04_RES", FT_UINT8, BASE_DEC, VALS (valstr_062_110_04_RES), 0x40, NULL, HFILL } },
- { &hf_062_110_04_GA, { "GA[feet]", "asterix.062_110_04_GA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_05, { "#5: Extended Mode 1 Code in Octal Representation", "asterix.062_110_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_05_SQUAWK, { "SQUAWK", "asterix.062_110_05_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_062_110_06, { "#6: Time Offset for POS and GA", "asterix.062_110_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_06_TOS, { "TOS[s]", "asterix.062_110_06_TOS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_07, { "#7: X Pulse Presence", "asterix.062_110_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_07_X5, { "X5", "asterix.062_110_07_X5", FT_UINT8, BASE_DEC, VALS (valstr_062_110_07_X5), 0x10, NULL, HFILL } },
- { &hf_062_110_07_XC, { "XC", "asterix.062_110_07_XC", FT_UINT8, BASE_DEC, VALS (valstr_062_110_07_XC), 0x08, NULL, HFILL } },
- { &hf_062_110_07_X3, { "X3", "asterix.062_110_07_X3", FT_UINT8, BASE_DEC, VALS (valstr_062_110_07_X3), 0x04, NULL, HFILL } },
- { &hf_062_110_07_X2, { "X2", "asterix.062_110_07_X2", FT_UINT8, BASE_DEC, VALS (valstr_062_110_07_X2), 0x02, NULL, HFILL } },
- { &hf_062_110_07_X1, { "X1", "asterix.062_110_07_X1", FT_UINT8, BASE_DEC, VALS (valstr_062_110_07_X1), 0x01, NULL, HFILL } },
- /* v.0.17 */
- { &hf_062_110_v0_17, { "110, Track Mode 1 Code", "asterix.062_110_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_110_A4, { "A4", "asterix.062_110_A4", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } },
- { &hf_062_110_A2, { "A2", "asterix.062_110_A2", FT_UINT8, BASE_DEC, NULL, 0x08, NULL, HFILL } },
- { &hf_062_110_A1, { "A1", "asterix.062_110_A1", FT_UINT8, BASE_DEC, NULL, 0x04, NULL, HFILL } },
- { &hf_062_110_B2, { "B2", "asterix.062_110_B2", FT_UINT8, BASE_DEC, NULL, 0x02, NULL, HFILL } },
- { &hf_062_110_B1, { "B1", "asterix.062_110_B1", FT_UINT8, BASE_DEC, NULL, 0x01, NULL, HFILL } },
- { &hf_062_120, { "120, Track Mode 2 Code", "asterix.062_120", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_120_SQUAWK, { "SQUAWK", "asterix.062_120_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_062_130, { "130, Calculated Track Geometric Altitude", "asterix.062_130", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_130_ALT, { "Altitude[feet]", "asterix.062_130_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_135, { "135, Calculated Track Barometric Altitude", "asterix.062_135", FT_NONE, BASE_NONE, NULL, 0x0, 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_ALT, { "Altitude[FL]", "asterix.062_135_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_136, { "136, Measured Flight Level", "asterix.062_136", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_136_MFL, { "Measured Flight Level[FL]", "asterix.062_136_MFL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_180, { "180, Calculated Track Velocity (Polar)", "asterix.062_180", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_180_SPEED, { "Speed[NM/s]", "asterix.062_180_SPEED", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_180_HEADING, { "Heading[deg]", "asterix.062_180_HEADING", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_185, { "185, Calculated Track Velocity (Cartesian)", "asterix.062_185", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_185_VX, { "Vx[m/s]", "asterix.062_185_VX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_185_VY, { "Vy[m/s]", "asterix.062_185_VY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_200, { "200, Mode of Movement", "asterix.062_200", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_200_TRANS, { "TRANS", "asterix.062_200_TRANS", FT_UINT8, BASE_DEC, VALS (valstr_062_200_TRANS), 0xc0, NULL, HFILL } },
- { &hf_062_200_LONG, { "LONG", "asterix.062_200_LONG", FT_UINT8, BASE_DEC, VALS (valstr_062_200_LONG), 0x30, NULL, HFILL } },
- { &hf_062_200_VERT, { "VERT", "asterix.062_200_VERT", FT_UINT8, BASE_DEC, VALS (valstr_062_200_VERT), 0x0c, NULL, HFILL } },
- { &hf_062_200_ADF, { "ADF", "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, 0x0, NULL, HFILL } },
- { &hf_062_210_AX, { "Ax[m/s^2]", "asterix.062_210_AX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_210_AY, { "Ay[m/s^2]", "asterix.062_210_AY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* v.0.17 */
- { &hf_062_210_v0_17, { "210, Calculated Longitudinal Acceleration", "asterix.062_210_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_210_CLA, { "CLA[NM/s^2]", "asterix.062_210_CLA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_220, { "220, Calculated Rate Of Climb/Descent", "asterix.062_220", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_220_ROCD, { "ROCD[feet/minute]", "asterix.062_220_ROCD", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_240, { "240, Calculated Rate Of Turn", "asterix.062_240", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_240_ROT, { "TOR[deg/s]", "asterix.062_240_ROT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_245, { "245, Target Identification", "asterix.062_245", FT_NONE, BASE_NONE, NULL, 0x0, 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_270, { "270, Target Size & Orientation", "asterix.062_270", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_270_LENGTH, { "Length[m]", "asterix.062_270_LENGTH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_270_ORIENTATION, { "Orientation[m]", "asterix.062_270_ORIENTATION", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_270_WIDTH, { "Width[m]", "asterix.062_270_WIDTH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290, { "290, System Track Update Ages", "asterix.062_290", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_01, { "#1: Track Age", "asterix.062_290_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_01_TRK, { "TRK[s]", "asterix.062_290_01_TRK", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_02, { "#2: PSR Age", "asterix.062_290_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_02_PSR, { "PSR[s]", "asterix.062_290_02_PSR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_03, { "#3: SSR Age", "asterix.062_290_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_03_SSR, { "SSR[s]", "asterix.062_290_03_SSR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_04, { "#4: Mode S Age", "asterix.062_290_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_04_MDS, { "MDS[s]", "asterix.062_290_04_MDS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_05, { "#5: ADS-C Age", "asterix.062_290_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_05_ADS, { "ADS[s]", "asterix.062_290_05_ADS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_06, { "#6: ES Age", "asterix.062_290_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_06_ES, { "ES[s]", "asterix.062_290_06_ES", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_07, { "#7: VDL Age", "asterix.062_290_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_07_VDL, { "VDL[s]", "asterix.062_290_07_VDL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_08, { "#8: UAT Age", "asterix.062_290_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_08_UAT, { "UAT[s]", "asterix.062_290_08_UAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_09, { "#9: Loop Age", "asterix.062_290_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_09_LOP, { "LOP[s]", "asterix.062_290_09_LOP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_10, { "#10: Multilateration Age", "asterix.062_290_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_10_MLT, { "MLT[s]", "asterix.062_290_10_MLT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* v.0.17 */
- { &hf_062_290_01_v0_17, { "#1: PSR Age", "asterix.062_290_01_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_01_PSR, { "PSR[s]", "asterix.062_290_01_PSR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_02_v0_17, { "#2: PSR Age", "asterix.062_290_02_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_02_SSR, { "SSR[s]", "asterix.062_290_02_SSR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_03_v0_17, { "#3: Mode 3/A Age", "asterix.062_290_03_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_03_MDA, { "MDA[s]", "asterix.062_290_03_MDA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_04_v0_17, { "#4: Measured Flight Level Age", "asterix.062_290_04_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_04_MFL, { "MFL[s]", "asterix.062_290_04_MFL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_05_v0_17, { "#5: Mode S Age", "asterix.062_290_05_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_05_MDS, { "MDS[s]", "asterix.062_290_05_MDS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_06_v0_17, { "#6: ADS Age", "asterix.062_290_06_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_06_ADS, { "ADS[s]", "asterix.062_290_06_ADS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_07_v0_17, { "#7: ADS-B Age", "asterix.062_290_07_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_07_ADB, { "ADB[s]", "asterix.062_290_07_ADB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_08_v0_17, { "#8: Mode 1 Age", "asterix.062_290_08_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_08_MD1, { "MD1[s]", "asterix.062_290_08_MD1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_09_v0_17, { "#9: Mode 2 Age", "asterix.062_290_09_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_290_09_MD2, { "MD2[s]", "asterix.062_290_09_MD2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295, { "295, Track Data Ages", "asterix.062_295", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_01, { "#1: Measured Flight Level Age", "asterix.062_295_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_01_MFL, { "MFL[s]", "asterix.062_295_01_MFL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_02, { "#2: Mode 1 Age", "asterix.062_295_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_02_MD1, { "MD1[s]", "asterix.062_295_02_MD1", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_03, { "#3: Mode 2 Age", "asterix.062_295_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_03_MD2, { "MD2[s]", "asterix.062_295_03_MD2", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_04, { "#4: Mode 3/A Age", "asterix.062_295_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_04_MDA, { "MDA[s]", "asterix.062_295_04_MDA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_05, { "#5: Mode 4 Age", "asterix.062_295_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_05_MD4, { "MD4[s]", "asterix.062_295_05_MD4", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_06, { "#6: Mode 5 Age", "asterix.062_295_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_06_MD5, { "MD5[s]", "asterix.062_295_06_MD5", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_07, { "#7: Magnetic Heading Age", "asterix.062_295_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_07_MHG, { "MHG[s]", "asterix.062_295_07_MHG", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_08, { "#8: Indicated Airspeed / Mach Nb age", "asterix.062_295_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_08_IAS, { "IAS[s]", "asterix.062_295_08_IAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_09, { "#9: True Airspeed Age", "asterix.062_295_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_09_TAS, { "TAS[s]", "asterix.062_295_09_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_10, { "#10: Selected Altitude Age", "asterix.062_295_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_10_SAL, { "SAL[s]", "asterix.062_295_10_SAL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_11, { "#11: Final State Selected Altitude Age", "asterix.062_295_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_11_FSS, { "FSS[s]", "asterix.062_295_11_FSS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_12, { "#12: Trajectory Intent Age", "asterix.062_295_12", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_12_TID, { "TID[s]", "asterix.062_295_12_TID", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_13, { "#13: Communication/ACAS Capability and Flight Status Age", "asterix.062_295_13", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_13_COM, { "COM[s]", "asterix.062_295_13_COM", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_14, { "#14: Status Reported by ADS-B Age", "asterix.062_295_14", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_14_SAB, { "SAB[s]", "asterix.062_295_14_SAB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_15, { "#15: ACAS Resolution Advisory Report Age", "asterix.062_295_15", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_15_ACS, { "ACS[s]", "asterix.062_295_15_ACS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_16, { "#16: Barometric Vertical Rate Age", "asterix.062_295_16", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_16_BVR, { "BVR[s]", "asterix.062_295_16_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_17, { "#17: Geometrical Vertical Rate Age", "asterix.062_295_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_17_GVR, { "GVR[s]", "asterix.062_295_17_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_18, { "#18: Roll Angle Age", "asterix.062_295_18", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_18_RAN, { "RAN[s]", "asterix.062_295_18_RAN", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_19, { "#19: Track Angle Rate Age", "asterix.062_295_19", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_19_TAR, { "TAR[s]", "asterix.062_295_19_TAR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_20, { "#20: Track Angle Age", "asterix.062_295_20", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_20_TAN, { "TAN[s]", "asterix.062_295_20_TAN", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_21, { "#21: Ground Speed Age", "asterix.062_295_21", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_21_GSP, { "GSP[s]", "asterix.062_295_21_GSP", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_22, { "#22: Velocity Uncertainty Age", "asterix.062_295_22", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_22_VUN, { "VUN[s]", "asterix.062_295_22_VUN", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_23, { "#23: Meteorological Data Age", "asterix.062_295_23", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_23_MET, { "MET[s]", "asterix.062_295_23_MET", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_24, { "#24: Emitter Category Age", "asterix.062_295_24", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_24_EMC, { "EMC[s]", "asterix.062_295_24_EMC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_25, { "#25: Position Age", "asterix.062_295_25", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_25_POS, { "POS[s]", "asterix.062_295_25_POS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_26, { "#26: Geometric Altitude Age", "asterix.062_295_26", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_26_GAL, { "GAL[s]", "asterix.062_295_26_GAL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_27, { "#27: Position Uncertainty Age", "asterix.062_295_27", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_27_PUN, { "PUN[s]", "asterix.062_295_27_PUN", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_28, { "#28: Mode S MB Data Age", "asterix.062_295_28", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_28_MB, { "MB[s]", "asterix.062_295_28_MB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_29, { "#29: Indicated Airspeed Data Age", "asterix.062_295_29", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_29_IAR, { "IAR[s]", "asterix.062_295_29_IAR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_30, { "#30: Mach Number Data Age", "asterix.062_295_30", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_30_MAC, { "MAC[s]", "asterix.062_295_30_MAC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_31, { "#31: Barometric Pressure Setting Data Age", "asterix.062_295_31", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_295_31_BPS, { "31[s]", "asterix.062_295_31_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_300, { "300, Vehicle Fleet Identification", "asterix.062_300", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_300_VFI, { "VFI", "asterix.062_300_VFI", FT_UINT8, BASE_DEC, VALS (valstr_062_300_VFI), 0x0, NULL, HFILL } },
- { &hf_062_340, { "340, Measured Information", "asterix.062_340", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_01, { "#1: Sensor Identification", "asterix.062_340_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_02, { "#2: Measured Position", "asterix.062_340_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_02_RHO, { "RHO[NM]", "asterix.062_340_02_RHO", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_02_THETA, { "THETA[deg]", "asterix.062_340_02_THETA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_03, { "#3: Measured 3-D Height", "asterix.062_340_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_03_H, { "HEIGHT[feet]", "asterix.062_340_03_H", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_04, { "#4: Last Measured Mode C Code", "asterix.062_340_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_04_V, { "V", "asterix.062_340_04_V", FT_UINT8, BASE_DEC, VALS (valstr_062_340_04_V), 0x80, NULL, HFILL } },
- { &hf_062_340_04_G, { "G", "asterix.062_340_04_G", FT_UINT8, BASE_DEC, VALS (valstr_062_340_04_G), 0x40, NULL, HFILL } },
- { &hf_062_340_04_FL, { "HEIGHT[FL]", "asterix.062_340_04_FL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_05, { "#5: Last Measured Mode 3/A Code", "asterix.062_340_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_05_V, { "V", "asterix.062_340_05_V", FT_UINT16, BASE_DEC, VALS (valstr_062_340_05_V), 0x8000, NULL, HFILL } },
- { &hf_062_340_05_G, { "G", "asterix.062_340_05_G", FT_UINT16, BASE_DEC, VALS (valstr_062_340_05_G), 0x4000, NULL, HFILL } },
- { &hf_062_340_05_L, { "L", "asterix.062_340_05_L", FT_UINT16, BASE_DEC, VALS (valstr_062_340_05_L), 0x2000, NULL, HFILL } },
- { &hf_062_340_05_SQUAWK, { "SQUAWK", "asterix.062_340_05_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_062_340_06, { "#6: Report Type", "asterix.062_340_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_340_06_TYP, { "TYP", "asterix.062_340_06_TYP", FT_UINT8, BASE_DEC, VALS (valstr_062_340_06_TYP), 0xe0, NULL, HFILL } },
- { &hf_062_340_06_SIM, { "SIM", "asterix.062_340_06_SIM", FT_UINT8, BASE_DEC, VALS (valstr_062_340_06_SIM), 0x10, NULL, HFILL } },
- { &hf_062_340_06_RAB, { "RAB", "asterix.062_340_06_RAB", FT_UINT8, BASE_DEC, VALS (valstr_062_340_06_RAB), 0x08, NULL, HFILL } },
- { &hf_062_340_06_TST, { "TST", "asterix.062_340_06_TST", FT_UINT8, BASE_DEC, VALS (valstr_062_340_06_TST), 0x04, NULL, HFILL } },
- { &hf_062_380, { "380, Aircraft Derived Data", "asterix.062_380", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_01, { "#1: Target Address", "asterix.062_380_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_02, { "#2: Target Identification", "asterix.062_380_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_03, { "#3: Magnetic Heading", "asterix.062_380_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_03_MH, { "MH[deg]", "asterix.062_380_03_MH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_04, { "#4: Indicated Airspeed / Mach No", "asterix.062_380_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_04_IM, { "IM", "asterix.062_380_04_IM", FT_UINT8, BASE_DEC, NULL, 0x80, NULL, HFILL } },
- { &hf_062_380_04_IAS, { "IAS[NM/s or Mach]", "asterix.062_380_04_IAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_05, { "#5: True Airspeed", "asterix.062_380_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_05_TAS, { "TAS[knot]", "asterix.062_380_05_TAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_06, { "#6: Selected Altitude", "asterix.062_380_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_06_SAS, { "SAS", "asterix.062_380_06_SAS", FT_UINT8, BASE_DEC, VALS (valstr_062_380_06_SAS), 0x80, NULL, HFILL } },
- { &hf_062_380_06_SOURCE, { "SOURCE", "asterix.062_380_06_SOURCE", FT_UINT8, BASE_DEC, VALS (valstr_062_380_06_SOURCE), 0x60, NULL, HFILL } },
- { &hf_062_380_06_ALT, { "ALT[feet]", "asterix.062_380_06_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_07, { "#7: Final State Selected Altitude", "asterix.062_380_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_07_MV, { "MV", "asterix.062_380_07_MV", FT_UINT8, BASE_DEC, VALS (valstr_062_380_07), 0x80, NULL, HFILL } },
- { &hf_062_380_07_AH, { "AH", "asterix.062_380_07_AH", FT_UINT8, BASE_DEC, VALS (valstr_062_380_07), 0x40, NULL, HFILL } },
- { &hf_062_380_07_AM, { "AM", "asterix.062_380_07_AM", FT_UINT8, BASE_DEC, VALS (valstr_062_380_07), 0x20, NULL, HFILL } },
- { &hf_062_380_07_ALT, { "ALT[feet]", "asterix.062_380_07_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_08, { "#8: Trajectory Intent Status", "asterix.062_380_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_08_NAV, { "NAV", "asterix.062_380_08_NAV", FT_UINT8, BASE_DEC, VALS (valstr_062_380_08_NAV), 0x80, NULL, HFILL } },
- { &hf_062_380_08_NVB, { "NVB", "asterix.062_380_08_NVB", FT_UINT8, BASE_DEC, VALS (valstr_062_380_08_NVB), 0x40, NULL, HFILL } },
- { &hf_062_380_09, { "#9: ", "asterix.062_380_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_09_TCA, { "TCA", "asterix.062_380_09_TCA", FT_UINT8, BASE_DEC, VALS (valstr_062_380_09_TCA), 0x80, NULL, HFILL } },
- { &hf_062_380_09_NC, { "NC", "asterix.062_380_09_NC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_09_NC), 0x40, NULL, HFILL } },
- { &hf_062_380_09_TCP, { "TCP", "asterix.062_380_09_TCP", FT_UINT8, BASE_DEC, NULL, 0x3f, NULL, HFILL } },
- { &hf_062_380_09_ALT, { "ALT[feet]", "asterix.062_380_09_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_09_LAT, { "LAT[deg]", "asterix.062_380_09_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_09_LON, { "LON[deg]", "asterix.062_380_09_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_09_PTYP, { "PTYP", "asterix.062_380_09_PTYP", FT_UINT8, BASE_DEC, VALS (valstr_062_380_09_PTYP), 0xf0, NULL, HFILL } },
- { &hf_062_380_09_TD, { "TD", "asterix.062_380_09_TD", FT_UINT8, BASE_DEC, VALS (valstr_062_380_09_TD), 0x0c, NULL, HFILL } },
- { &hf_062_380_09_TRA, { "TRA", "asterix.062_380_09_TRA", FT_UINT8, BASE_DEC, VALS (valstr_062_380_09_TRA), 0x02, NULL, HFILL } },
- { &hf_062_380_09_TOA, { "TOA", "asterix.062_380_09_TOA", FT_UINT8, BASE_DEC, VALS (valstr_062_380_09_TOA), 0x01, NULL, HFILL } },
- { &hf_062_380_09_TOV, { "TOV[s]", "asterix.062_380_09_TOV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_09_TTR, { "TTR[NM]", "asterix.062_380_09_TTR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_10, { "#10: Communications/ACAS Capability and Flight Status reported by Mode-S", "asterix.062_380_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_10_COM, { "COM", "asterix.062_380_10_COM", FT_UINT16, BASE_DEC, VALS (valstr_062_380_10_COM), 0xe000, NULL, HFILL } },
- { &hf_062_380_10_STAT, { "STAT", "asterix.062_380_10_STAT", FT_UINT16, BASE_DEC, VALS (valstr_062_380_10_STAT), 0x1c00, NULL, HFILL } },
- { &hf_062_380_10_SSC, { "SSC", "asterix.062_380_10_SSC", FT_UINT16, BASE_DEC, VALS (valstr_062_380_10_SSC), 0x0080, NULL, HFILL } },
- { &hf_062_380_10_ARC, { "ARC", "asterix.062_380_10_ARC", FT_UINT16, BASE_DEC, VALS (valstr_062_380_10_ARC), 0x0040, NULL, HFILL } },
- { &hf_062_380_10_AIC, { "AIC", "asterix.062_380_10_AIC", FT_UINT16, BASE_DEC, VALS (valstr_062_380_10_AIC), 0x0020, NULL, HFILL } },
- { &hf_062_380_10_B1A, { "B1A", "asterix.062_380_10_B1A", FT_UINT16, BASE_DEC, NULL, 0x0010, NULL, HFILL } },
- { &hf_062_380_10_B1B, { "B1B", "asterix.062_380_10_B1B", FT_UINT16, BASE_DEC, NULL, 0x000f, NULL, HFILL } },
- { &hf_062_380_11, { "#11: Status reported by ADS-B", "asterix.062_380_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_11_AC, { "AC", "asterix.062_380_11_AC", FT_UINT16, BASE_DEC, VALS (valstr_062_380_11_AC), 0xc000, NULL, HFILL } },
- { &hf_062_380_11_MN, { "MN", "asterix.062_380_11_MN", FT_UINT16, BASE_DEC, VALS (valstr_062_380_11_MN), 0x3000, NULL, HFILL } },
- { &hf_062_380_11_DC, { "DC", "asterix.062_380_11_DC", FT_UINT16, BASE_DEC, VALS (valstr_062_380_11_DC), 0x0c00, NULL, HFILL } },
- { &hf_062_380_11_GBS, { "GBS", "asterix.062_380_11_GBS", FT_UINT16, BASE_DEC, VALS (valstr_062_380_11_GBS), 0x0200, NULL, HFILL } },
- { &hf_062_380_11_STAT, { "STAT", "asterix.062_380_11_STAT", FT_UINT16, BASE_DEC, VALS (valstr_062_380_11_STAT), 0x0007, NULL, HFILL } },
- { &hf_062_380_12, { "#12: ACAS Resolution Advisory Report", "asterix.062_380_12", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_12_MB, { "MB DATA", "asterix.062_380_12_MB", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_13, { "#13: Barometric Vertical Rate", "asterix.062_380_13", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_13_BVR, { "BVR[feet/min]", "asterix.062_380_13_BVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_14, { "#14: Geometric Vertical Rate", "asterix.062_380_14", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_14_GVR, { "GVR[feet/min]", "asterix.062_380_14_GVR", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_15, { "#15: Roll Angle", "asterix.062_380_15", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_15_ROLL, { "ROLL[deg]", "asterix.062_380_15_ROLL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_16, { "#16: Track Angle Rate", "asterix.062_380_16", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_16_TI, { "TI", "asterix.062_380_16_TI", FT_UINT8, BASE_DEC, VALS (valstr_062_380_16_TI), 0xc0, NULL, HFILL } },
- { &hf_062_380_16_RATE, { "RATE[deg/s]", "asterix.062_380_16_RATE", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_17, { "#17: Track Angle", "asterix.062_380_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_17_TA, { "TA[deg]", "asterix.062_380_17_TA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_18, { "#18: Ground Speed", "asterix.062_380_18", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_18_GS, { "GS[NM/s]", "asterix.062_380_18_GS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_19, { "#19: Velocity Uncertainty", "asterix.062_380_19", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_19_VUC, { "VUC", "asterix.062_380_19_VUC", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_20, { "#20: Met Data", "asterix.062_380_20", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_20_WS, { "WS", "asterix.062_380_20_WS", FT_UINT8, BASE_DEC, VALS (valstr_062_380_20_WS), 0x80, NULL, HFILL } },
- { &hf_062_380_20_WD, { "WD", "asterix.062_380_20_WD", FT_UINT8, BASE_DEC, VALS (valstr_062_380_20_WD), 0x40, NULL, HFILL } },
- { &hf_062_380_20_TMP, { "TMP", "asterix.062_380_20_TMP", FT_UINT8, BASE_DEC, VALS (valstr_062_380_20_TMP), 0x20, NULL, HFILL } },
- { &hf_062_380_20_TRB, { "TRB", "asterix.062_380_20_TRB", FT_UINT8, BASE_DEC, VALS (valstr_062_380_20_TRB), 0x10, NULL, HFILL } },
- { &hf_062_380_20_WS_VAL, { "WS[knot]", "asterix.062_380_20_WS_VAL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_20_WD_VAL, { "WD[deg]", "asterix.062_380_20_WD_VAL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_20_TMP_VAL, { "TMP[deg Celsius]", "asterix.062_380_20_TMP_VAL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_20_TRB_VAL, { "TRB", "asterix.062_380_20_TRB_VAL", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_21, { "#21: Emitter Category", "asterix.062_380_21", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_21_ECAT, { "ECAT", "asterix.062_380_21_ECAT", FT_UINT8, BASE_DEC, VALS (valstr_062_380_21_ECAT), 0x0, NULL, HFILL } },
- { &hf_062_380_22, { "#22: Position", "asterix.062_380_22", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_22_LAT, { "LAT[deg]", "asterix.062_380_22_LAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_22_LON, { "LON[deg]", "asterix.062_380_22_LON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_23, { "#23: Geometric Altitude", "asterix.062_380_23", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_23_ALT, { "ALT[feet]", "asterix.062_380_23_ALT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_24, { "#24: Position Uncertainty", "asterix.062_380_24", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_24_PUN, { "PUN", "asterix.062_380_24_PUN", FT_UINT8, BASE_DEC, NULL, 0x0f, NULL, HFILL } },
- { &hf_062_380_25, { "#25: MODE S MB DATA", "asterix.062_380_25", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_26, { "#26: Indicated Airspeed", "asterix.062_380_26", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_26_IAS, { "IAS[knot]", "asterix.062_380_26_IAS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_27, { "#27: Mach Number", "asterix.062_380_27", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_27_MACH, { "MACH[mach]", "asterix.062_380_27_MACH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_28, { "#28: Barometric Pressure Setting (derived from Mode S BDS 4,0)", "asterix.062_380_28", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_28_BPS, { "BPS[mb]", "asterix.062_380_28_BPS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* v.0.17 */
- { &hf_062_380_v0_17, { "380, Mode S Related Data", "asterix.062_380", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_01_v0_17, { "#1: Mode S MB Data", "asterix.062_380_01_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_02_v0_17, { "#2: Aircraft Address", "asterix.062_380_02_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_03_v0_17, { "#3: Communications / ACAS", "asterix.062_380_03_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_04_v0_17, { "#4: Communications/ACAS Capability and Flight Status", "asterix.062_380_04_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_04_COM, { "COM", "asterix.062_380_04_COM", FT_UINT8, BASE_DEC, VALS (valstr_062_380_04_COM), 0xe0, NULL, HFILL } },
- { &hf_062_380_04_STAT, { "STAT", "asterix.062_380_04_STAT", FT_UINT8, BASE_DEC, VALS (valstr_062_380_04_STAT), 0x1c, NULL, HFILL } },
- { &hf_062_380_04_SSC, { "SSC", "asterix.062_380_04_SSC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_04_SSC), 0x80, NULL, HFILL } },
- { &hf_062_380_04_ARC, { "ARC", "asterix.062_380_04_ARC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_04_ARC), 0x40, NULL, HFILL } },
- { &hf_062_380_04_AIC, { "AIC", "asterix.062_380_04_AIC", FT_UINT8, BASE_DEC, VALS (valstr_062_380_04_AIC), 0x20, NULL, HFILL } },
- { &hf_062_380_04_B1A, { "B1A", "asterix.062_380_04_B1A", FT_UINT8, BASE_DEC, NULL, 0x10, NULL, HFILL } },
- { &hf_062_380_04_B1B, { "B1B", "asterix.062_380_04_B1B", FT_UINT8, BASE_HEX, NULL, 0x0f, NULL, HFILL } },
- { &hf_062_380_05_v0_17, { "#5: ACAS Resolution Advisory Report", "asterix.062_380_05_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_380_05_MB, { "#4: ACAS Resolution Advisory Report", "asterix.062_380_05_MB", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390, { "390, Flight Plan Related Data", "asterix.062_390", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_01, { "#1: FPPS Identification Tag", "asterix.062_390_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_02, { "#2: Callsign", "asterix.062_390_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_02_CS, { "CS", "asterix.062_390_02_CS", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_03, { "#3: IFPS_FLIGHT_ID", "asterix.062_390_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_03_TYP, { "TYP", "asterix.062_390_03_TYP", FT_UINT32, BASE_DEC, VALS (valstr_062_390_03_TYP), 0xc0000000, NULL, HFILL } },
- { &hf_062_390_03_NBR, { "NBR", "asterix.062_390_03_NBR", FT_UINT32, BASE_DEC, NULL, 0x07ffffff, NULL, HFILL } },
- { &hf_062_390_04, { "#4: Flight Category", "asterix.062_390_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_04_GAT_OAT, { "GAT/OAT", "asterix.062_390_04_GAT_OAT", FT_UINT8, BASE_DEC, VALS (valstr_062_390_04_GAT_OAT), 0xc0, NULL, HFILL } },
- { &hf_062_390_04_FR12, { "FR1/FR2", "asterix.062_390_04_FR12", FT_UINT8, BASE_DEC, VALS (valstr_062_390_04_FR12), 0x30, NULL, HFILL } },
- { &hf_062_390_04_RVSM, { "RVSM", "asterix.062_390_04_RVSM", FT_UINT8, BASE_DEC, VALS (valstr_062_390_04_RVSM), 0x0c, NULL, HFILL } },
- { &hf_062_390_04_HPR, { "HPR", "asterix.062_390_04_HPR", FT_UINT8, BASE_DEC, VALS (valstr_062_390_04_HPR), 0x02, NULL, HFILL } },
- { &hf_062_390_05, { "#5: Type of Aircraft", "asterix.062_390_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_05_ACTYP, { "ACTYP", "asterix.062_390_05_ACTYP", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_06, { "#6: Wake Turbulence Category", "asterix.062_390_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_06_WTC, { "WTC", "asterix.062_390_06_WTC", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_07, { "#7: Departure Airport", "asterix.062_390_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_07_ADEP, { "ADEP", "asterix.062_390_07_ADEP", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_08, { "#8: Destination Airport", "asterix.062_390_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_08_ADES, { "ADES", "asterix.062_390_08_ADES", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_09, { "#9: Runway Designation", "asterix.062_390_09", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_09_RWY, { "RWY", "asterix.062_390_09_RWY", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_10, { "#10: Current Cleared Flight Level", "asterix.062_390_10", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_10_CFL, { "CFL[FL]", "asterix.062_390_10_CFL", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_11, { "#11: Current Control Position", "asterix.062_390_11", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_11_CNTR, { "CNTR", "asterix.062_390_11_CNTR", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_11_POS, { "POS", "asterix.062_390_11_POS", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_12, { "#12: Time of Departure / Arrival", "asterix.062_390_12", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_12_TYP, { "TYP", "asterix.062_390_12_TYP", FT_UINT32, BASE_DEC, VALS (valstr_062_390_12_TYP), 0xf8000000, NULL, HFILL } },
- { &hf_062_390_12_DAY, { "DAY", "asterix.062_390_12_DAY", FT_UINT32, BASE_DEC, VALS (valstr_062_390_12_DAY), 0x06000000, NULL, HFILL } },
- { &hf_062_390_12_HOR, { "HOUR", "asterix.062_390_12_HOR", FT_UINT32, BASE_DEC, NULL, 0x001f0000, NULL, HFILL } },
- { &hf_062_390_12_MIN, { "MIN", "asterix.062_390_12_MIN", FT_UINT32, BASE_DEC, NULL, 0x00003f00, NULL, HFILL } },
- { &hf_062_390_12_AVS, { "AVS", "asterix.062_390_12_AVS", FT_UINT32, BASE_DEC, VALS (valstr_062_390_12_AVS), 0x00000080, NULL, HFILL } },
- { &hf_062_390_12_SEC, { "SEC", "asterix.062_390_12_SEC", FT_UINT32, BASE_DEC, NULL, 0x0000003f, NULL, HFILL } },
- { &hf_062_390_13, { "#13: Aircraft Stand", "asterix.062_390_13", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_13_STAND, { "STAND", "asterix.062_390_13_STAND", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_14, { "#14: Stand Status", "asterix.062_390_14", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_14_EMP, { "EMP", "asterix.062_390_14_EMP", FT_UINT8, BASE_DEC, VALS (valstr_062_390_14_EMP), 0xc0, NULL, HFILL } },
- { &hf_062_390_14_AVL, { "AVL", "asterix.062_390_14_AVL", FT_UINT8, BASE_DEC, VALS (valstr_062_390_14_AVL), 0x30, NULL, HFILL } },
- { &hf_062_390_15, { "#15: Standard Instrument Departure", "asterix.062_390_15", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_15_SID, { "SID", "asterix.062_390_15_SID", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_16, { "#16: Standard Instrument Arrival", "asterix.062_390_16", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_16_STAR, { "STAR", "asterix.062_390_16_STAR", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_17, { "#17: Pre-Emergency Mode 3/A", "asterix.062_390_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_17_VA, { "VA", "asterix.062_390_17_VA", FT_UINT16, BASE_DEC, VALS (valstr_062_390_17_VA), 0x1000, NULL, HFILL } },
- { &hf_062_390_17_SQUAWK, { "SQUAWK", "asterix.062_390_17_SQUAWK", FT_UINT16, BASE_OCT, NULL, 0x0fff, NULL, HFILL } },
- { &hf_062_390_18, { "#18: Pre-Emergency Callsign", "asterix.062_390_18", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_390_18_CS, { "CS", "asterix.062_390_18_CS", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500, { "500, Estimated Accuracies", "asterix.062_500", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_01, { "#1: Estimated Accuracy Of Track Position (Cartesian)", "asterix.062_500_01", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_01_APCX, { "APC X[m]", "asterix.062_500_01_APCX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_01_APCY, { "APC Y[m]", "asterix.062_500_01_APCY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_02, { "#2: XY covariance component", "asterix.062_500_02", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_02_COV, { "COV[m]", "asterix.062_500_02_COV", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_03, { "#3: Estimated Accuracy Of Track Position (WGS-84)", "asterix.062_500_03", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_03_APWLAT, { "APW LAT[deg]", "asterix.062_500_03_APWLAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_03_APWLON, { "APW LON[deg]", "asterix.062_500_03_APWLON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_04, { "#4: Estimated Accuracy Of Calculated Track Geometric Altitude", "asterix.062_500_04", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_04_AGA, { "AGA[feet]", "asterix.062_500_04_AGA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_05, { "#5: Estimated Accuracy Of Calculated Track Barometric Altitude", "asterix.062_500_05", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_05_ABA, { "ABA[FL]", "asterix.062_500_05_ABA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_06, { "#6: ", "asterix.062_500_06", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_06_ATVX, { "ATV X[m/s]", "asterix.062_500_06_ATVX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_06_ATVY, { "ATV Y[m/s]", "asterix.062_500_06_ATVY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_07, { "#7: Estimated Accuracy Of Acceleration (Cartesian)", "asterix.062_500_07", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_07_AAX, { "AA X[m/s^2]", "asterix.062_500_07_AAX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_07_AAY, { "AA X[m/s^2]", "asterix.062_500_07_AAY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_08, { "#8: Estimated Accuracy Of Rate Of Climb/Descent", "asterix.062_500_08", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_08_ARC, { "ARC[feet/min]", "asterix.062_500_08_ARC", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* v.0.17 */
- { &hf_062_500_01_APCX_8bit, { "APC X[NM]", "asterix.062_500_01_APCX_8bit", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_01_APCY_8bit, { "APC Y[NM]", "asterix.062_500_01_APCY_8bit", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_02_v0_17, { "#2: Estimated Accuracy Of Track Position (WGS-84)", "asterix.062_500_02_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_02_APWLAT, { "APW LAT[deg]", "asterix.062_500_02_APWLAT", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_02_APWLON, { "APW LON[deg]", "asterix.062_500_02_APWLON", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_03_v0_17, { "#3: Estimated Accuracy Of Track Altitude", "asterix.062_500_03_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_03_ATA, { "ATA [feet]", "asterix.062_500_03_ATA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_04_v0_17, { "#4: Estimated Accuracy Of Calculated Track Flight Level", "asterix.062_500_04_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_04_ATF, { "ATF [FL]", "asterix.062_500_04_ATF", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_05_v0_17, { "#5: Estimated Accuracy Of Track Velocity (Polar)", "asterix.062_500_05_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_05_ATVS, { "ATV X[kt]", "asterix.062_500_05_ATVS", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_05_ATVH, { "ATV Y[deg]", "asterix.062_500_05_ATVH", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_06_v0_17, { "#6: Estimated Accuracy Of Rate Of Turn", "asterix.062_500_06_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_06_ART, { "ART[deg/s]", "asterix.062_500_06_ART", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_07_v0_17, { "#7: Estimated Accuracy Of Longitudinal Acceleration", "asterix.062_500_07_v0_17", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_500_07_ALA, { "ALA[NM/s^2]", "asterix.062_500_07_ALA", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_510, { "510, Composed Track Number", "asterix.062_510", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_510_SUD, { "SUD", "asterix.062_510_SUD", FT_UINT24, BASE_DEC, NULL, 0xff0000, NULL, HFILL } },
- { &hf_062_510_STN, { "STN", "asterix.062_510_STN", FT_UINT24, BASE_DEC, NULL, 0x00fffe, NULL, HFILL } },
- { &hf_062_510_SLV_01_SUD, { "SLV1_SUD", "asterix.062_510_SLV_01_SUD", FT_UINT24, BASE_DEC, NULL, 0xff0000, NULL, HFILL } },
- { &hf_062_510_SLV_01_STN, { "SLV1_STN", "asterix.062_510_SLV_01_STN", FT_UINT24, BASE_DEC, NULL, 0x00fffe, NULL, HFILL } },
- { &hf_062_510_SLV_02_SUD, { "SLV2_SUD", "asterix.062_510_SLV_02_SUD", FT_UINT24, BASE_DEC, NULL, 0xff0000, NULL, HFILL } },
- { &hf_062_510_SLV_02_STN, { "SLV2_STN", "asterix.062_510_SLV_02_STN", FT_UINT24, BASE_DEC, NULL, 0x00fffe, NULL, HFILL } },
- { &hf_062_510_SLV_03_SUD, { "SLV3_SUD", "asterix.062_510_SLV_03_SUD", FT_UINT24, BASE_DEC, NULL, 0xff0000, NULL, HFILL } },
- { &hf_062_510_SLV_03_STN, { "SLV3_STN", "asterix.062_510_SLV_03_STN", FT_UINT24, BASE_DEC, NULL, 0x00fffe, NULL, HFILL } },
- { &hf_062_510_SLV_04_SUD, { "SLV4_SUD", "asterix.062_510_SLV_04_SUD", FT_UINT24, BASE_DEC, NULL, 0xff0000, NULL, HFILL } },
- { &hf_062_510_SLV_04_STN, { "SLV4_STN", "asterix.062_510_SLV_04_STN", FT_UINT24, BASE_DEC, NULL, 0x00fffe, NULL, HFILL } },
- { &hf_062_RE, { "Reserved Expansion Field", "asterix.062_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_RE_CST, {"CST", "asterix.062_RE_CST", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_RE_CST_TYP, {"TYP", "asterix.062_RE_CST_TYP", FT_UINT24, BASE_DEC, VALS(valstr_062_RE_CST_TYPE), 0x0f0000, NULL, HFILL } },
- { &hf_062_RE_CST_TRK_NUM, {"TRK NUM", "asterix.062_RE_CST_TRK_NUM", FT_UINT24, BASE_DEC, NULL, 0x00ffff, NULL, HFILL } },
- { &hf_062_RE_CSNT, {"CSNT", "asterix.062_RE_CSNT", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_RE_CSNT_TYP, {"TYP", "asterix.062_RE_CSNT_TYP", FT_UINT8, BASE_DEC, VALS(valstr_062_RE_CST_TYPE), 0x0f, NULL, HFILL } },
- { &hf_062_RE_TVS, {"TVS", "asterix.062_RE_TVS", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_RE_TVS_VX, {"VX[m/s]", "asterix.062_RE_TVS_VX", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_RE_TVS_VY, {"VY[m/s]", "asterix.062_RE_TVS_VY", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_RE_STS, {"STS", "asterix.062_RE_STS", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_062_RE_STS_FDR, {"FDR", "asterix.062_RE_STS_FDR", FT_UINT8, BASE_DEC, VALS(valstr_062_RE_STS_FDR), 0x80, NULL, HFILL } },
- { &hf_062_SP, { "Special Purpose Field", "asterix.062_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 063 */
- { &hf_063_010, { "010, Data Source Identifier", "asterix.063_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_015, { "015, Service Identification", "asterix.063_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_015_SI, { "SI", "asterix.063_015_SI", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_063_030, { "030, Time of Message", "asterix.063_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_050, { "050, Sensor Identifier", "asterix.063_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_060, { "060, Sensor Configuration and Status", "asterix.063_060", FT_NONE, BASE_NONE, NULL, 0x0, 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", "asterix.063_060_OPS", FT_UINT8, BASE_DEC, VALS(valstr_063_060_OPS), 0x80, NULL, HFILL } },
- { &hf_063_060_ODP, { "ODP", "asterix.063_060_ODP", FT_UINT8, BASE_DEC, VALS(valstr_063_060_ODP), 0x40, NULL, HFILL } },
- { &hf_063_060_OXT, { "OXT", "asterix.063_060_OXT", FT_UINT8, BASE_DEC, VALS(valstr_063_060_OXT), 0x20, NULL, HFILL } },
- { &hf_063_060_MSC, { "MSC", "asterix.063_060_MSC", FT_UINT8, BASE_DEC, VALS(valstr_063_060_MSC), 0x10, NULL, HFILL } },
- { &hf_063_060_TSV, { "TSV", "asterix.063_060_TSV", FT_UINT8, BASE_DEC, VALS(valstr_063_060_TSV), 0x08, NULL, HFILL } },
- { &hf_063_060_NPW, { "NPW", "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, 0x0, NULL, HFILL } },
- { &hf_063_070_TSB, {"TSB[ms]", "asterix.063_070_TSB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_080, { "080, SSR / Mode S Range Gain and Bias", "asterix.063_080", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_080_SRG, {"SRG", "asterix.063_080_SRG", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_080_SRB, {"SRB", "asterix.063_080_SRB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_081, { "081, SSR / Mode S Azimuth Bias", "asterix.063_081", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_081_SAB, {"SAB", "asterix.063_081_SAB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_090, { "090, PSR Range Gain and Bias", "asterix.063_090", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_090_PRG, {"PRG", "asterix.063_090_PRG", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_090_PRB, {"PRB", "asterix.063_090_PRB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_091, { "091, PSR Azimuth Bias", "asterix.063_091", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_091_PAB, {"PAB", "asterix.063_091_PAB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_092, { "092, PSR Elevation Bias", "asterix.063_092", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_092_PEB, {"PEB", "asterix.063_092_PEB", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_RE, { "Reserved Expansion Field", "asterix.063_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_063_SP, { "Special Purpose Field", "asterix.063_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 065 */
- { &hf_065_000, { "000, Message Type", "asterix.065_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_000_MT, { "MT", "asterix.065_000_MT", FT_UINT8, BASE_DEC, VALS(valstr_065_000_MT), 0x0, NULL, HFILL } },
- { &hf_065_010, { "010, Data Source Identifier", "asterix.065_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_015, { "015, Service Identification", "asterix.065_015", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_015_SI, { "SI", "asterix.065_015_SI", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_065_020, { "020, Batch Number", "asterix.065_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_020_BTN, { "BTN", "asterix.065_020_BTN", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_065_030, { "030, Time of Message", "asterix.065_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_040, { "040, SDPS Configuration and Status", "asterix.065_040", FT_NONE, BASE_NONE, NULL, 0x0, 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", "asterix.065_040_PSS", FT_UINT8, BASE_DEC, VALS(valstr_065_040_PSS), 0x0c, NULL, HFILL } },
- { &hf_065_040_STTN, { "STTN", "asterix.065_040_STTN", FT_UINT8, BASE_DEC, VALS(valstr_065_040_STTN), 0x02, NULL, HFILL } },
- { &hf_065_050, { "050, Service Status Report", "asterix.065_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_050_REP, { "REP", "asterix.065_050_REP", FT_UINT8, BASE_DEC, VALS(valstr_065_050_REP), 0x0, NULL, HFILL } },
- { &hf_065_RE, { "Reserved Expansion Field", "asterix.065_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_RE_SRP, { "SRP, Position of the System Reference Point (WGS-84)", "asterix.065_RE_SRP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_RE_SRP_Latitude, { "Latitude [deg]", "asterix.065_RE_SRP_Latitude", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_RE_SRP_Longitude, { "Longitude [deg]", "asterix.065_RE_SRP_Longitude", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_RE_ARL, { "ARL, ASTERIX Record Length", "asterix.065_RE_ARL", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_065_RE_ARL_ARL, { "ARL", "asterix.065_RE_ARL_ARL", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_065_SP, { "Special Purpose Field", "asterix.065_SP", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- /* Category 240 */
- { &hf_240_000, { "000, Message Type", "asterix.240_000", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_000_MT, { "MT", "asterix.240_000_MT", FT_UINT8, BASE_DEC, VALS(valstr_240_000_MT), 0x0, NULL, HFILL } },
- { &hf_240_010, { "010, Data Source Identifier", "asterix.240_010", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_020, { "020, Video Record Header", "asterix.240_020", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_020_VRH, { "VRH", "asterix.240_020_VRH", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_240_030, { "240, Video Summary", "asterix.240_030", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_030_CHAR, { "VS", "asterix.240_030_CHAR", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_040, { "040, Video Header Nano", "asterix.240_040", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_040_START_AZ, { "START_AZ", "asterix.240_040_START_AZ", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_040_END_AZ, { "END_AZ", "asterix.240_040_END_AZ", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_040_START_RG, { "START_RG", "asterix.240_040_START_RG", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_240_040_CELL_DUR, { "CELL_DUR", "asterix.240_040_CELL_DUR", FT_UINT32, BASE_CUSTOM, formatCellDurationNanoSeconds, 0x0, NULL, HFILL } },
- { &hf_240_041, { "041, Video Header Femto", "asterix.240_041", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_041_START_AZ, { "START_AZ", "asterix.240_041_START_AZ", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_041_END_AZ, { "END_AZ", "asterix.240_041_END_AZ", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_041_START_RG, { "START_RG", "asterix.240_041_START_RG", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_240_041_CELL_DUR, { "CELL_DUR", "asterix.240_041_CELL_DUR", FT_UINT32, BASE_CUSTOM, formatCellDurationFemtoSeconds, 0x0, NULL, HFILL } },
- { &hf_240_048, { "048, Video Cells Resolution & Data Compression Indicator", "asterix.240_048", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_048_C, { "C", "asterix.240_048_C", FT_UINT8, BASE_DEC, VALS(valstr_240_048_C), 0x80, NULL, HFILL } },
- { &hf_240_048_RES, { "RES", "asterix.240_048_RES", FT_UINT8, BASE_DEC, VALS(valstr_240_048_RES), 0x0, NULL, HFILL } },
- { &hf_240_049, { "049, Video Octets & Video Cells Counters", "asterix.240_049", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_049_NB_VB, { "NB_VB", "asterix.240_049_NB_VB", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_240_049_NB_CELLS, { "NB_CELLS", "asterix.240_049_NB_CELLS", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL } },
- { &hf_240_050, { "050, Video Block Low Data Volume (4)", "asterix.240_050", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_051, { "051, Video Block Medium Data Volume (64)", "asterix.240_051", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_052, { "052, Video Block High Data Volume (256)", "asterix.240_052", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_140, { "140, Time of Day", "asterix.240_140", FT_DOUBLE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_RE, { "Reserved Expansion Field", "asterix.240_RE", FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL } },
- { &hf_240_SP, { "Special Purpose Field", "asterix.240_SP", FT_NONE, BASE_NONE, NULL, 0x0, 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 gint *ett[] = {
+ static int *ett[] = {
&ett_asterix,
&ett_asterix_category,
&ett_asterix_length,
@@ -15516,25 +65115,33 @@ void proto_register_asterix (void)
asterix_prefs_module = prefs_register_protocol (proto_asterix, NULL);
- 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, "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, "i240_version", "I240 version", "Select the CAT240 version", &global_categories_version[240], I240_versions, FALSE);
+/* 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)