#define SIGNED   1
#define UNSIGNED 0
#define BITMAP   0
#define VARIABLESIZE 0xFF
#define MAXELEMENTNAMELENGTH 80
#define MAXUNITNAMELENGTH    25

typedef struct
{
	WORD         PID;
	BYTE         TotalByteCount;
	BYTE         ElementCount;
	BYTE         ElementByteCount;
	char         ElementNameString[MAXELEMENTNAMELENGTH];
	BOOL         Sign;
	double       Scaling;
	signed short Offset;
	BYTE         DecimalPlaces;
	char         UnitNameString[MAXUNITNAMELENGTH];
} PID_PRINT_DATA;

PID_PRINT_DATA PidPrintTable[] =
{
// PID,  TB,  E, EB, E_STRING,                   SIGN,      Scaling,    Offset,  DP, U_STRING
0xF401,   4,  4, 1,  "IM Readiness Data BYTE_A", UNSIGNED,  BITMAP,     0,       0,  "",
0xF401,   0,  0, 1,  "IM Readiness Data BYTE_B", UNSIGNED,  BITMAP,     0,       0,  "",
0xF401,   0,  0, 1,  "IM Readiness Data BYTE_C", UNSIGNED,  BITMAP,     0,       0,  "",
0xF401,   0,  0, 1,  "IM Readiness Data BYTE_D", UNSIGNED,  BITMAP,     0,       0,  "",

0xF402,   2,  1, 2,  "DTCFRZF",                  UNSIGNED,  BITMAP,     0,       0,  "",

0xF403,   2,  2, 1,  "FUELSYSA",                 UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0, 1 = Open loop - has not yet satisfied conditions to go closed loop (Bank 1 or both)  (OL)
// bit 1, 1 = Closed loop - using all oxygen sensor(s) as feedback for fuel control  (CL)
// bit 2, 1 = Open loop due to driving conditions (Bank 1 or both) (e.g. power enrichment, deceleration enleanment, cylinder deactivation)  (OL-Drive)
// bit 3, 1 = Open loop - due to detected system fault (Bank 1 or both)  (OL-Fault)
// bit 4, 1 = Closed loop, but fault with at least one oxygen sensor - may be using single oxygen sensor for fuel control (Bank 1 or Bank 2)  (CL-Fault)
// bit 5, 1 = Open loop - has not yet satisfied conditions to go closed loop (Bank 2)  (OL B2)
// bit 6, 1 = Open loop due to driving conditions (Bank 2) (e.g. power enrichment, deceleration enleanment, cylinder deactivation)  (OL-Drive B2)
// bit 7, 1 = Open loop - due to detected system fault (Bank 2)  (OL-Fault B2)
0xF403,   0,  0, 1,  "FUELSYSB",                 UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0, 1 = Open loop - has not yet satisfied conditions to go closed loop (Bank 1 or both)  (OL)
// bit 1, 1 = Closed loop - using all oxygen sensor(s) as feedback for fuel control  (CL)
// bit 2, 1 = Open loop due to driving conditions (Bank 1 or both) (e.g. power enrichment, deceleration enleanment, cylinder deactivation)  (OL-Drive)
// bit 3, 1 = Open loop - due to detected system fault (Bank 1 or both)  (OL-Fault)
// bit 4, 1 = Closed loop, but fault with at least one oxygen sensor - may be using single oxygen sensor for fuel control (Bank 1 or Bank 2)  (CL-Fault)
// bit 5, 1 = Open loop - has not yet satisfied conditions to go closed loop (Bank 2)  (OL B2)
// bit 6, 1 = Open loop due to driving conditions (Bank 2) (e.g. power enrichment, deceleration enleanment, cylinder deactivation)  (OL-Drive B2)
// bit 7, 1 = Open loop - due to detected system fault (Bank 2)  (OL-Fault B2)

0xF404,   1,  1, 1,  "LOAD_PCT",                 UNSIGNED,  100/255,    0,       8,  "%",

0xF405,   1,  1, 1,  "ECT",                      UNSIGNED,  1,          -40,     0,  "°C",

0xF406,   VARIABLESIZE,  2, 1,  "SHRTFT1",                  UNSIGNED,  100/128,    -128,    5,  "%",
0xF406,   0,  0, 1,  "SHRTFT3",                  UNSIGNED,  100/128,    -128,    5,  "%",

0xF407,   VARIABLESIZE,  2, 1,  "LONGFT1",                  UNSIGNED,  100/128,    -128,    5,  "%",
0xF407,   0,  0, 1,  "LONGFT3",                  UNSIGNED,  100/128,    -128,    5,  "%",

0xF408,   VARIABLESIZE,  2, 1,  "SHRTFT2",                  UNSIGNED,  100/128,    -128,    5,  "%",
0xF408,   0,  0, 1,  "SHRTFT4",                  UNSIGNED,  100/128,    -128,    5,  "%",

0xF409,   VARIABLESIZE,  2, 1,  "LONGFT2",                  UNSIGNED,  100/128,    -128,    5,  "%",
0xF409,   0,  0, 1,  "LONGFT4",                  UNSIGNED,  100/128,    -128,    5,  "%",

0xF40A,   1,  1, 1,  "FP",                       UNSIGNED,  3,          0,       0,  "kPa",

0xF40B,   1,  1, 1,  "MAP",                      UNSIGNED,  1,          0,       0,  "kPa",

0xF40C,   2,  1, 2,  "RPM",                      UNSIGNED,  .25,        0,       2,  "",

0xF40D,   1,  1, 1,  "VSS",                      UNSIGNED,  1,          0,       0,  "km/h",

0xF40E,   1,  1, 1,  "SPARKADV",                 UNSIGNED,  .5,         -128,    1,  "°",

0xF40F,   1,  1, 1,  "IAT",                      UNSIGNED,  1,          -40,     0,  "°C",

0xF410,   2,  1, 2,  "MAF",                      UNSIGNED,  0.01,       0,       2,  "g/s",

0xF411,   1,  1, 1,  "TP",                       UNSIGNED,  100/255,    0,       8,  "%",

0xF412,   1,  1, 1,  "AIR_STAT",                 UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0, 1 = upstream of first catalytic converter  (AIR_STAT_UPS)
// bit 1, 1 = downstream of first catalytic converter inlet  (AIR_STAT_DNS)
// bit 2, 1 = atmosphere/off  (AIR_STAT_OFF)
// bit 3, 1 = pump commanded on for diagnostics  (AIR_STAT_DIAG)

0xF413,   1,  1, 1,  "O2SLOC",                   UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0, 1 = Bank 1 - Sensor 1 present at that location  (O2S11)
// bit 1, 1 = Bank 1 - Sensor 2 present at that location  (O2S12)
// bit 2, 1 = Bank 1 - Sensor 3 present at that location  (O2S13)
// bit 3, 1 = Bank 1 - Sensor 4 present at that location  (O2S14)
// bit 4, 1 = Bank 2 - Sensor 1 present at that location  (O2S21)
// bit 5, 1 = Bank 2 - Sensor 2 present at that location  (O2S22)
// bit 6, 1 = Bank 2 - Sensor 3 present at that location  (O2S23)
// bit 7, 1 = Bank 2 - Sensor 4 present at that location  (O2S24)
// b
0xF414,   2,  2, 1,  "O2S11",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF414,   0,  0, 1,  "SHRTFT11",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF415,   2,  2, 1,  "O2S12",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF415,   0,  0, 1,  "SHRTFT12",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF416,   2,  2, 1,  "O2Sxh",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF416,   0,  0, 1,  "SHRTFTxy",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF417,   2,  2, 1,  "O2Sxh",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF417,   0,  0, 1,  "SHRTFTxy",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF418,   2,  2, 1,  "O2Sxh",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF418,   0,  0, 1,  "SHRTFTxy",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF419,   2,  2, 1,  "O2Sxh",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF419,   0,  0, 1,  "SHRTFTxy",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF41A,   2,  2, 1,  "O2Sxh",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF41A,   0,  0, 1,  "SHRTFTxy",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF41B,   2,  2, 1,  "O2Sxh",                    UNSIGNED,  0.005,      0,       3,  "V",
0xF41B,   0,  0, 1,  "SHRTFTxy",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF41C,   1,  1, 1,  "OBDSUP",                   UNSIGNED,  BITMAP,     0,       0,  "",
// 1  OBD II 
// 2  OBD 
// 3  OBD and OBD II
// 4  OBD I
// 5  NO OBD
// 6  EOBD
// 7  EOBD and OBD II
// 8  EOBD and OBD
// 9  EOBD, OBD and OBD II
// 0A  JOBD 
// 0B  JOBD and OBD II
// 0C  JOBD and EOBD
// 0D  JOBD, EOBD, and OBD II
// 0E  OBD, EOBD and KOBD
// 0F  OBD, OBD II, EOBD and KOBD
// 10  SAE/ISO reserved
// 11  EMD
// 12  EMD+
// 13  HD OBD-C
// 14  HD OBD
// 15  WWH OBD
// 16  SAE/ISO reserved
// 17  HD EOBD-I
// 18  HD EOBD-I N
// 19  HD EOBD-II
// 1A  HD EOBD-II N
// 1B  HD-ZEV
// 1C  OBDBr-1
// 1D  OBDBr-2
// 1E  KOBD
// 1F  IOBD-I-BS4
// 20  IOBD-II-BS4
// 21  HD EOBD-VI
// 22  OBD, OBD II and HD OBD
// 23  OBDBr-3
// 24  MC EOBD-I
// 25  MC EOBD-II
// 26  MC COBD-I
// 27  MC TOBD-I
// 28  MC JOBD-I
// 29  CN-OBD-6
// 2A  OBDBr-P7
// 2B  CN-HDOBD-VI
// 2C  IOBD-I-BS6
// 2D  IOBD-II-BS6
// 2E  IHDOBD-BSVI
// 2F  OBDBr-P8
// 30  HD-JOBD-II
// 31  HD-KOBD-II
// 32  CN-OROBD-IV
// 33  CARB ACC-II
// 34  MC JOBD-II
// 35  MC CARB OBD
// 36  MC EPA OBD
// 37  MC CARB & EPA OBD
// 38  HD ZEV CARB ZEP
// 39  CARB ACC-II & EPA TIER4
// 3A  EPA TIER4
// 3B  EPA HD
// 3C - FA  ISO/SAE reserved
// FB - FF  SAE J1939 special meaning

0xF41D,   1,  1, 1,  "O2SLOC",                   UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0, 1 = Bank 1 - Sensor 1 present at that location  (O2S11)
// bit 1, 1 = Bank 1 - Sensor 2 present at that location  (O2S12)
// bit 2, 1 = Bank 2 - Sensor 1 present at that location  (O2S21)
// bit 3, 1 = Bank 2 - Sensor 2 present at that location  (O2S22)
// bit 4, 1 = Bank 3 - Sensor 1 present at that location  (O2S31)
// bit 5, 1 = Bank 3 - Sensor 2 present at that location  (O2S32)
// bit 6, 1 = Bank 4 - Sensor 1 present at that location  (O2S41)
// bit 7, 1 = Bank 4 - Sensor 2 present at that location  (O2S42)

0xF41E,   1,  1, 1,  "PTO_STAT",                 UNSIGNED,  BITMAP,     0,       0,  "",       // bit 0, 0 = PTO not active (OFF), 1 = PTO active (on)

0xF41F,   2,  1, 2,  "RUNTM",                    UNSIGNED,  1,          0,       0,  "sec",

0xF421,   2,  1, 2,  "MIL_DIST",                 UNSIGNED,  1,          0,       0,  "km",

0xF422,   2,  1, 2,  "FP",                       UNSIGNED,  0.079,      0,       3,  "kPa",

0xF423,   2,  1, 2,  "FRP",                      UNSIGNED,  10,         0,       0,  "kPa",

0xF424,   4,  2, 2,  "EQ_RAT11",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF424,   0,  0, 2,  "O2S11",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF425,   4,  2, 2,  "EQ_RAT12",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF425,   0,  0, 2,  "O2S12",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF426,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF426,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF427,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF427,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF428,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF428,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF429,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF429,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF42A,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF42A,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF42B,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF42B,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.000122,   0,       6,  "V",

0xF42C,   1,  1, 1,  "EGR_PCT",                  UNSIGNED,  100/255,    0,       7,  "%",

0xF42D,   1,  1, 1,  "EGR_ERR",                  UNSIGNED,  100/128,    -128,    5,  "%",

0xF42E,   1,  1, 1,  "EVAP_PCT",                 UNSIGNED,  100/255,    0,       8,  "%",

0xF42F,   1,  1, 1,  "FLI",                      UNSIGNED,  100/255,    0,       8,  "%",

0xF430,   1,  1, 1,  "WARM_UPS",                 UNSIGNED,  1,          0,       0,  "",

0xF431,   2,  1, 2,  "CLR_DIST",                 UNSIGNED,  1,          0,       0,  "km",

0xF432,   2,  1, 2,  "EVAP_VP",                  SIGNED,    0.25,       0,       2,  "Pa",

0xF433,   1,  1, 1,  "BARO",                     UNSIGNED,  1,          0,       0,  "kPa",

0xF434,   4,  2, 2,  "EQ_RAT11",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF434,   0,  0, 2,  "O2S11",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF435,   4,  2, 2,  "EQ_RAT12",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF435,   0,  0, 2,  "O2S12",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF436,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF436,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF437,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF437,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF438,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF438,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF439,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF439,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF43A,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF43A,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF43B,   4,  2, 2,  "EQ_RATxy",                 UNSIGNED,  0.0000305,  0,       7,  "",
0xF43B,   0,  0, 2,  "O2Sxy",                    UNSIGNED,  0.00390625, -32768,  8,  "mA",

0xF43C,   2,  1, 2,  "CATEMP11",                 UNSIGNED,  0.1,        -40,     1,  "C",

0xF43D,   2,  1, 2,  "CATEMP21",                 UNSIGNED,  0.1,        -40,     1,  "C",

0xF43E,   2,  1, 2,  "CATEMP12",                 UNSIGNED,  0.1,        -40,     1,  "C",

0xF43F,   2,  1, 2,  "CATEMP22",                 UNSIGNED,  0.1,        -40,     1,  "C",

0xF441,   4,  4, 1,  "Monitor status BYTE_A",    UNSIGNED,  BITMAP,     0,       0,  "",
0xF441,   0,  0, 1,  "Monitor status BYTE_B",    UNSIGNED,  BITMAP,     0,       0,  "",
0xF441,   0,  0, 1,  "Monitor status BYTE_C",    UNSIGNED,  BITMAP,     0,       0,  "",
0xF441,   0,  0, 1,  "Monitor status BYTE_D",    UNSIGNED,  BITMAP,     0,       0,  "",

0xF442,   2,  1, 2,  "VPWR",                     UNSIGNED,  0.001,      0,       3,  "V",

0xF443,   2,  1, 2,  "LOAD_ABS",                 UNSIGNED,  100/255,    0,       8,  "%",

0xF444,   2,  1, 2,  "EQ_RAT",                   UNSIGNED,  0.0000305,  0,       7,  "",

0xF445,   1,  1, 1,  "TP_R",                     UNSIGNED,  100/255,    0,       8,  "%",

0xF446,   1,  1, 1,  "AAT",                      UNSIGNED,  1,          -40,     0,  "°C",

0xF447,   1,  1, 1,  "TP_B",                     UNSIGNED,  100/255,    0,       8,  "%",

0xF448,   1,  1, 1,  "TP_C",                     UNSIGNED,  100/255,    0,       8,  "%",

0xF449,   1,  1, 1,  "APP_D",                    UNSIGNED,  100/255,    0,       8,  "%",

0xF44A,   1,  1, 1,  "APP_E",                    UNSIGNED,  100/255,    0,       8,  "%",

0xF44B,   1,  1, 1,  "APP_F",                    UNSIGNED,  100/255,    0,       8,  "%",

0xF44C,   1,  1, 1,  "TAC_PCT",                  UNSIGNED,  100/255,    0,       8,  "%",

0xF44D,   2,  1, 2,  "MIL_TIME",                 UNSIGNED,  1,          0,       0,  "min",

0xF44E,   2,  1, 2,  "CLR_TIME",                 UNSIGNED,  1,          0,       0,  "min",

0xF44F,   4,  4, 1,  "EQ_RAT SCALING",           UNSIGNED,  1,          0,       0,  "",
0xF44F,   0,  0, 1,  "O2S Voltage scaling",      UNSIGNED,  1,          0,       0,  "V",
0xF44F,   0,  0, 1,  "O2S Current scaling",      UNSIGNED,  1,          0,       0,  "mA",
0xF44F,   0,  0, 1,  "MAP scaling",              UNSIGNED,  10,         0,       0,  "kPa",

0xF450,   4,  4, 1,  "MAF scaling",              UNSIGNED,  10,         0,       0,  "g/s",
0xF450,   0,  0, 1,  "BYTE_B_RESERVED",          UNSIGNED,  BITMAP,     0,       0,  "",
0xF450,   0,  0, 1,  "BYTE_C_RESERVED",          UNSIGNED,  BITMAP,     0,       0,  "",
0xF450,   0,  0, 1,  "BYTE_D_RESERVED",          UNSIGNED,  BITMAP,     0,       0,  "",

0xF451,   1,  1, 1,  "FUEL_TYP",                 UNSIGNED,  BITMAP,     0,       0,  "",
// $01    Gasoline/petrol  GAS
// $02    Methanol  METH
// $03    Ethanol  ETH
// $04    Diesel  DSL
// $05    Liquefied Petroleum Gas (LPG)  LPG
// $06    Compressed Natural Gas (CNG)  CNG
// $07    Propane  PROP
// $08    Battery/electric  ELEC
// $09    Bi-fuel vehicle using gasoline  BI_GAS
// $0A    Bi-fuel vehicle using methanol  BI_METH
// $0B    Bi-fuel vehicle using ethanol  BI_ETH
// $0C    Bi-fuel vehicle using LPG  BI_LPG
// $0D    Bi-fuel vehicle using CNG  BI_CNG
// $0E    Bi-fuel vehicle using propane  BI_PROP
// $0F    Bi-fuel vehicle using battery [Not to be used]  BI_ELEC
// $10    Bi-fuel vehicle using battery and combustion engine [Not to be used]  BI_MIX
// $11    Hybrid vehicle using gasoline engine [Not to be used]  HYB_GAS
// $12    Hybrid vehicle using gasoline engine on ethanol [Not to be used]  HYB_ETH
// $13    Hybrid vehicle using diesel engine [Not to be used]  HYB_DSL
// $14    Hybrid vehicle using battery [Not to be used]  HYB_ELEC
// $15    Hybrid vehicle using battery and combustion engine [Not to be used]  HYB_MIX
// $16    Hybrid vehicle in regeneration mode [Not to be used]  HYB_REG
// $17    Bi-fuel vehicle using diesel (as defined in J1979) [Not to be used]  BI_DSL
// $17    Natural Gas (as defined in SAE J1939) [Not to be used]  NG
// $18    Bi-fuel vehicle using Natural Gas  BI_NG
// $19    Bi-fuel vehicle using diesel  BI_DSL
// $1A    Natural Gas (Compressed or Liquefied Natural Gas)  NG
// $1B    Dual Fuel – Diesel and CNG  DSL_CNG
// $1C    Dual Fuel – Diesel and LNG  DSL_LNG
// $1D    Fuel cell utilizing hydrogen  FC_H2
// $1E    Hydrogen Internal Combustion Engine  HICE_HHO
// $1F    Kerosene  KERO
// $20    Heavy Fuel Oil  HFO
// $21-$FF  ISO/SAE reserved  

0xF452,   1,  1, 1,  "ALCH_PCT",                 UNSIGNED,  100/255,    0,       8,  "%",

0xF453,   2,  1, 2,  "EVAP_VPA",                 UNSIGNED,  0.005,      0,       3,  "kPa",

0xF454,   2,  1, 2,  "EVAP_VP",                  SIGNED,    1,          0,       0,  "Pa",

0xF455,   VARIABLESIZE,  2, 1,  "STSO2FT1",                 UNSIGNED,  100/128,    -128,    5,  "%",
0xF455,   0,  0, 1,  "STSO2FT3",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF456,   VARIABLESIZE,  2, 1,  "LGSO2FT1",                 UNSIGNED,  100/128,    -128,    5,  "%",
0xF456,   0,  0, 1,  "LGSO2FT3",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF457,   VARIABLESIZE,  2, 1,  "STSO2FT2",                 UNSIGNED,  100/128,    -128,    5,  "%",
0xF457,   0,  0, 1,  "STSO2FT4",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF458,   VARIABLESIZE,  2, 1,  "LGSO2FT2",                 UNSIGNED,  100/128,    -128,    5,  "%",
0xF458,   0,  0, 1,  "LGSO2FT4",                 UNSIGNED,  100/128,    -128,    5,  "%",

0xF459,   2,  1, 2,  "FRP",                      UNSIGNED,  10,         0,       0,  "kPa",

0xF45A,   1,  1, 1,  "APP_R",                    UNSIGNED,  100/255,    0,       8,  "%",

0xF45B,   1,  1, 1,  "BAT_SOC",                  UNSIGNED,  100/255,    0,       8,  "%",

0xF45C,   1,  1, 1,  "EOT",                      UNSIGNED,  1,          -40,     0,  "°C",

0xF45D,   2,  1, 2,  "FUEL_TIMING",              UNSIGNED,  1/128,      -26880,  7,  "°",

0xF45E,   2,  1, 2,  "FUEL_RATE",                UNSIGNED,  0.05,       0,       2,  "L/h",

0xF45F,   1,  1, 1,  "EMIS_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
// 00-0D  ISO/SAE reserved
// 0E    EURO IV B1
// 0F    EURO V B2
// 10    EURO C
// 11    EURO VI
// 12-FF  ISO/SAE reserved

0xF461,   1,  1, 1,  "TQ_DD",                    UNSIGNED,  1,          -125,    0,  "%",

0xF462,   1,  1, 1,  "TQ_ACT",                   UNSIGNED,  1,          -125,    0,  "%",

0xF463,   2,  1, 2,  "TQ_REF",                   UNSIGNED,  1,          0,       0,  "Nm",

0xF464,   5,  5, 1,  "TQ_MAX1",                  UNSIGNED,  1,          -125,    0,  "%",
0xF464,   0,  0, 1,  "TQ_MAX2",                  UNSIGNED,  1,          -125,    0,  "%",
0xF464,   0,  0, 1,  "TQ_MAX3",                  UNSIGNED,  1,          -125,    0,  "%",
0xF464,   0,  0, 1,  "TQ_MAX4",                  UNSIGNED,  1,          -125,    0,  "%",
0xF464,   0,  0, 1,  "TQ_MAX5",                  UNSIGNED,  1,          -125,    0,  "%",

0xF465,   2,  2, 1,  "Auxiliary I/O Support",    UNSIGNED,  BITMAP,     0,       0,  "",
0xF465,   0,  0, 1,  "Auxiliary I/O Status",     UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  0 = PTO not active (OFF); 1 = PTO active (ON)  PTO_STAT: OFF or ON 
// bit 1  0 = Auto Trans in Park/Neutral, 1 = Auto Trans in Drive  N/D_STAT: NEUT or DRIVE
// bit 2  0 = Manual Trans in Neutral, 1 = Manual Trans in Gear  N/G_STAT: NEUT or GEAR
// bit 3  0 = Glow Plug Lamp Off, 1 = Glow Plug Lamp On  GPL_STAT: OFF or ON
// bits 4-7  0000- neutral 0001 – Gear 1 0010 – Gear 2 0011 – Gear 3 0100 – Gear 4 0101 – Gear 5 0110 – Gear 6 0111 – Gear 7 1000 – Gear 8 1001 – Gear 9 1010 – Gear 10 1011 – Gear 11 1100 – Gear 12 1101 – Gear 13 1110 – Gear 14 1111 – Gear 15  GEAR_RCMD: 1 through 15

0xF466,   5,  3, 1,  "MAF_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF466,   0,  0, 2,  "MAFA",                     UNSIGNED,  0.03125,    0,       5,  "g/s",
0xF466,   0,  0, 2,  "MAFB",                     UNSIGNED,  0.03125,    0,       5,  "g/s",

0xF467,   3,  3, 1,  "ECT_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF467,   0,  0, 1,  "ECT_1",                    UNSIGNED,  1,          -40,     0,  "°C",
0xF467,   0,  0, 1,  "ECT_2",                    UNSIGNED,  1,          -40,     0,  "°C",

0xF468,   7,  7, 1,  "IAT_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF468,   0,  0, 1,  "IAT_11",                   UNSIGNED,  1,          -40,     0,  "°C",
0xF468,   0,  0, 1,  "IAT_12",                   UNSIGNED,  1,          -40,     0,  "°C",
0xF468,   0,  0, 1,  "IAT_13",                   UNSIGNED,  1,          -40,     0,  "°C",
0xF468,   0,  0, 1,  "IAT_21",                   UNSIGNED,  1,          -40,     0,  "°C",
0xF468,   0,  0, 1,  "IAT_22",                   UNSIGNED,  1,          -40,     0,  "°C",
0xF468,   0,  0, 1,  "IAT_23",                   UNSIGNED,  1,          -40,     0,  "°C",

0xF469,   7,  7, 1,  "EGR_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF469,   0,  0, 1,  "EGR_A_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF469,   0,  0, 1,  "EGR_A_ACT",                UNSIGNED,  100/255,    0,       8,  "%",
0xF469,   0,  0, 1,  "EGR_A_ERR",                UNSIGNED,  100/128,    -128,    5,  "%",
0xF469,   0,  0, 1,  "EGR_B_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF469,   0,  0, 1,  "EGR_B_ACT",                UNSIGNED,  100/255,    0,       8,  "%",
0xF469,   0,  0, 1,  "EGR_B_ERR",                UNSIGNED,  100/128,    -128,    5,  "%",

0xF46A,   5,  5, 1,  "IAF_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF46A,   0,  0, 1,  "IAF_A_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF46A,   0,  0, 1,  "IAF_A_REL",                UNSIGNED,  100/255,    0,       8,  "%",
0xF46A,   0,  0, 1,  "IAF_B_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF46A,   0,  0, 1,  "IAF_B_REL",                UNSIGNED,  100/255,    0,       8,  "%",

0xF46B,   5,  5, 1,  "EGRT_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF46B,   0,  0, 1,  "EGRTA",                    UNSIGNED,  1,          -40,     0,  "°C",
0xF46B,   0,  0, 1,  "EGRTC",                    UNSIGNED,  1,          -40,     0,  "°C",
0xF46B,   0,  0, 1,  "EGRTB",                    UNSIGNED,  1,          -40,     0,  "°C",
0xF46B,   0,  0, 1,  "EGRTD",                    UNSIGNED,  1,          -40,     0,  "°C",

0xF46C,   5,  5, 1,  "TAC_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF46C,   0,  0, 1,  "TAC_A_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF46C,   0,  0, 1,  "TP_A_REL",                 UNSIGNED,  100/255,    0,       8,  "%",
0xF46C,   0,  0, 1,  "TAC_B_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF46C,   0,  0, 1,  "TP_B_REL",                 UNSIGNED,  100/255,    0,       8,  "%",

0xF46D,  11,  7, 1,  "FRP_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF46D,   0,  0, 2,  "FRP_A_CMD",                UNSIGNED,  10,         0,       0,  "kPa",
0xF46D,   0,  0, 2,  "FRP_A",                    UNSIGNED,  10,         0,       0,  "kPa",
0xF46D,   0,  0, 1,  "FRT_A ",                   UNSIGNED,  1,          -40,     0,  "°C",
0xF46D,   0,  0, 2,  "FRP_B_CMD",                UNSIGNED,  10,         0,       0,  "kPa",
0xF46D,   0,  0, 2,  "FRP_B",                    UNSIGNED,  10,         0,       0,  "kPa",
0xF46D,   0,  0, 1,  "FRT_B",                    UNSIGNED,  1,          -40,     0,  "°C",

0xF46E,   9,  5, 1,  "ICP_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF46E,   0,  0, 2,  "ICP_A_CMD",                UNSIGNED,  10,         0,       0,  "kPa",
0xF46E,   0,  0, 2,  "ICP_A",                    UNSIGNED,  10,         0,       0,  "kPa",
0xF46E,   0,  0, 2,  "ICP_B_CMD",                UNSIGNED,  10,         0,       0,  "kPa",
0xF46E,   0,  0, 2,  "ICP_B",                    UNSIGNED,  10,         0,       0,  "kPa",

0xF46F,   3,  3, 1,  "TCA_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF46F,   0,  0, 1,  "TCA_CINP",                 UNSIGNED,  1,          0,       0,  "kPa",
0xF46F,   0,  0, 1,  "TCB_CINP",                 UNSIGNED,  1,          0,       0,  "kPa",

0xF470,  10,  6, 1,  "BP_SUP",                   UNSIGNED,  BITMAP,     0,       0,  "",
0xF470,   0,  0, 2,  "BP_A_CMD",                 UNSIGNED,  0.03125,    0,       5,  "kPa",
0xF470,   0,  0, 2,  "BP_A_ACT",                 UNSIGNED,  0.03125,    0,       5,  "kPa",
0xF470,   0,  0, 2,  "BP_B_CMD",                 UNSIGNED,  0.03125,    0,       5,  "kPa",
0xF470,   0,  0, 2,  "BP_B_ACT",                 UNSIGNED,  0.03125,    0,       5,  "kPa",
0xF470,   0,  0, 1,  "BP_CONT_STATUS",           UNSIGNED,  BITMAP,     0,       0,  "",
// bits 0-1  00 = reserved, not defined 01 = Boost A Control Open Loop (no fault present) 10 = Boost A Control Closed Loop (no fault present) 11 = Boost A Control Fault (fault present, boost data unreliable)  BP_A_OL BP_A_CL BP_A_FAULT
// bits 2-3  00 = reserved, not defined 01 = Boost B Control Open Loop (no fault present) 10 = Boost B Control Closed Loop (no fault present) 11 = Boost B Control Fault (fault present, boost data unreliable)  BP_B_OL BP_B_CL BP_B_FAULT

0xF471,   6,  6, 1,  "VGT_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF471,   0,  0, 1,  "VGT_A_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF471,   0,  0, 1,  "VGT_A_ACT",                UNSIGNED,  100/255,    0,       8,  "%",
0xF471,   0,  0, 1,  "VGT_B_CMD",                UNSIGNED,  100/255,    0,       8,  "%",
0xF471,   0,  0, 1,  "VGT_B_ACT",                UNSIGNED,  100/255,    0,       8,  "%",
0xF471,   0,  0, 1,  "VGT_CONT_STATUS",          UNSIGNED,  BITMAP,     0,       0,  "",
// bits 0-1  00 = reserved, not defined 01 = VGT A Control Open Loop (no fault present) 10 = VGT A Control Closed Loop (no fault present) 11 = VGT A Control Fault (fault present, VGT data unreliable)  VGT_A_OL VGT_A_CL VGT_A_FAULT
// bits 2-3  00 = reserved, not defined 01 = VGT B Control Open Loop (no fault present) 10 = VGT B Control Closed Loop (no fault present) 11 = VGT B Control Fault (fault present, VGT data unreliable)  VGT_B_OL VGT_B_CL VGT_B_FAULT

0xF472,   5,  5, 1,  "WG_SUP",                   UNSIGNED,  BITMAP,     0,       0,  "",
0xF472,   0,  0, 1,  "WG_A_CMD",                 UNSIGNED,  100/255 ,   0,       8,  "%",
0xF472,   0,  0, 1,  "WG_A_ACT",                 UNSIGNED,  100/255 ,   0,       8,  "%",
0xF472,   0,  0, 1,  "WG_B_CMD",                 UNSIGNED,  100/255 ,   0,       8,  "%",
0xF472,   0,  0, 1,  "WG_B_ACT",                 UNSIGNED,  100/255 ,   0,       8,  "%",

0xF473,   5,  3, 1,  "EP_SUP",                   UNSIGNED,  BITMAP,     0,       0,  "",
0xF473,   0,  0, 2,  "EP_11",                    UNSIGNED,  0.01,       0,       2,  "kPa",
0xF473,   0,  0, 2,  "EP_21",                    UNSIGNED,  0.01,       0,       2,  "kPa",

0xF474,   5,  3, 1,  "TC_SUP",                   UNSIGNED,  BITMAP,     0,       0,  "",
0xF474,   0,  0, 2,  "TCA_RPM",                  UNSIGNED,  10,         0,       0,  "rpm",
0xF474,   0,  0, 2,  "TCB_RPM",                  UNSIGNED,  10,         0,       0,  "rpm",

0xF475,   7,  5, 1,  "TCA_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "", 
0xF475,   0,  0, 1,  "TCA_CINT",                 UNSIGNED,  1,          -40,     0,  "°C",
0xF475,   0,  0, 1,  "TCA_COUTT",                UNSIGNED,  1,          -40,     0,  "°C",
0xF475,   0,  0, 2,  "TCA_TINT",                 UNSIGNED,  0.1,        -40,     1,  "°C",
0xF475,   0,  0, 2,  "TCA_TOUTT",                UNSIGNED,  0.1,        -40,     1,  "°C",

0xF476,   7,  5, 1,  "TCB_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "", 
0xF476,   0,  0, 1,  "TCB_CINT",                 UNSIGNED,  1,          -40,     0,  "°C",
0xF476,   0,  0, 1,  "TCB_COUTT",                UNSIGNED,  1,          -40,     0,  "°C",
0xF476,   0,  0, 2,  "TCB_TINT",                 UNSIGNED,  0.1,        -40,     1,  "°C",
0xF476,   0,  0, 2,  "TCB_TOUTT",                UNSIGNED,  0.1,        -40,     1,  "°C",

0xF477,   5,  5, 1,  "CACT_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF477,   0,  0, 1,  "CACT 11",                  UNSIGNED,  1,          -40,     0,  "°C",
0xF477,   0,  0, 1,  "CACT 12",                  UNSIGNED,  1,          -40,     0,  "°C",
0xF477,   0,  0, 1,  "CACT 21",                  UNSIGNED,  1,          -40,     0,  "°C",
0xF477,   0,  0, 1,  "CACT 22",                  UNSIGNED,  1,          -40,     0,  "°C",

0xF478,   9,  5, 1,  "EGT1_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF478,   0,  0, 2,  "EGT11",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF478,   0,  0, 2,  "EGT12",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF478,   0,  0, 2,  "EGT13",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF478,   0,  0, 2,  "EGT14",                    UNSIGNED,  0.1,        -40,     1,  "°C",

0xF479,   9,  5, 1,  "EGT2_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF479,   0,  0, 2,  "EGT21",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF479,   0,  0, 2,  "EGT22",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF479,   0,  0, 2,  "EGT23",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF479,   0,  0, 2,  "EGT24",                    UNSIGNED,  0.1,        -40,     1,  "°C",

0xF47A,   7,  4, 1,  "PF1_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF47A,   0,  0, 2,  "PF1_DP",                   SIGNED,    0.01,       0,       2,  "kPa",
0xF47A,   0,  0, 2,  "PF1_INP",                  UNSIGNED,  0.01,       0,       2,  "kPa",
0xF47A,   0,  0, 2,  "PF1_OUTP",                 UNSIGNED,  0.01,       0,       2,  "kPa",

0xF47B,   7,  4, 1,  "PF2_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF47B,   0,  0, 2,  "PF2_DP",                   SIGNED,    0.01,       0,       2,  "kPa",
0xF47B,   0,  0, 2,  "PF2_INP",                  UNSIGNED,  0.01,       0,       2,  "kPa",
0xF47B,   0,  0, 2,  "PF2_OUTP",                 UNSIGNED,  0.01,       0,       2,  "kPa",

0xF47C,   9,  5, 1,  "PF_SUP",                   UNSIGNED,  BITMAP,     0,       0,  "",
0xF47C,   0,  0, 2,  "PF1_INT",                  UNSIGNED,  0.1,        -40,     1,  "°C",
0xF47C,   0,  0, 2,  "PF1_OUTT",                 UNSIGNED,  0.1,        -40,     1,  "°C",
0xF47C,   0,  0, 2,  "PF2_INT",                  UNSIGNED,  0.1,        -40,     1,  "°C",
0xF47C,   0,  0, 2,  "PF2_OUTT",                 UNSIGNED,  0.1,        -40,     1,  "°C",

0xF47D,   1,  1, 1,  "NOx NTE control area status", UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = inside control area   NNTE: IN
// bit 1  1 = outside control area  NNTE: OUT
// bit 2  1 = inside manufacturer-specific NOx NTE carve-out area  NNTE: CAA
// bit 3  1 = NTE deficiency for NOx active area  NNTE: DEF

0xF47E,   1,  1, 1,  "PM NTE control area status",  UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = inside control area   PNTE: IN
// bit 1  1 = outside control area  PNTE: OUT
// bit 2  1 = inside manufacturer-specific PM NTE carve-out area  PNTE: CAA
// bit 3  1 = NTE deficiency for PM active area  PNTE: DEF

0xF47F,  13,  4, 1,  "Run Ti me SUP",             UNSIGNED,  BITMAP,     0,       0,  "",
0xF47F,   0,  0, 4,  "RUN_TIME",                 UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF47F,   0,  0, 4,  "IDLE_TIME",                UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF47F,   0,  0, 4,  "PTO_TIME",                 UNSIGNED,  1,          0,       0,  "sec (hr min)",

0xF481,  41, 11, 1,  "AECD1_5_SUP",              UNSIGNED,  BITMAP,     0,       0,  "",
0xF481,   0,  0, 4,  "AECD1_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD1_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD2_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD2_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD3_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD3_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD4_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD4_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD5_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF481,   0,  0, 4,  "AECD5_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",

0xF482,  41, 11, 2,  "AECD6_10_SUP",             UNSIGNED,  BITMAP,     0,       0,  "",
0xF482,   0,  0, 4,  "AECD6_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD6_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD7_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD7_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD8_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD8_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD9_TIME1",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD9_TIME2",              UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD10_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF482,   0,  0, 4,  "AECD10_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",

0xF483,   9,  5, 2,  "NOX_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF483,   0,  0, 2,  "NOX11",                    UNSIGNED,  1,          0,       0,  "ppm",
0xF483,   0,  0, 2,  "NOX12",                    UNSIGNED,  1,          0,       0,  "ppm",
0xF483,   0,  0, 2,  "NOX21",                    UNSIGNED,  1,          0,       0,  "ppm",
0xF483,   0,  0, 2,  "NOX22",                    UNSIGNED,  1,          0,       0,  "ppm",

0xF484,   1,  1, 1,  "MST",                      UNSIGNED,  1,          -40,     0,  "°C",

0xF485,  10,  5, 1,  "REAG_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF485,   0,  0, 2,  "REAG_RATE",                UNSIGNED,  0.005,      0,       3,  "L/h",
0xF485,   0,  0, 2,  "REAG_DEMD",                UNSIGNED,  0.005,      0,       3,  "L/h",
0xF485,   0,  0, 1,  "REAG_LVL",                 UNSIGNED,  100/255,    0,       8,  "%",
0xF485,   0,  0, 4,  "NWI_TIME",                 UNSIGNED,  1,          0,       0,  "sec (hr min)",

0xF486,   5,  3, 1,  "PM_SUP",                   UNSIGNED,  BITMAP,     0,       0,  "",
0xF486,   0,  0, 2,  "PM11",                     UNSIGNED,  0.0125,     0,       4,  "mg/m3",
0xF486,   0,  0, 2,  "PM21",                     UNSIGNED,  0.0125,     0,       4,  "mg/m3",

0xF487,   5,  3, 1,  "MAP_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF487,   0,  0, 2,  "MAP_A",                    UNSIGNED,  0.03125,    0,       5,  "kPa",
0xF487,   0,  0, 2,  "MAP_B",                    UNSIGNED,  0.03125,    0,       5,  "kPa",

0xF488,  13,  8, 1,  "SCR_INDUCE_SYSTEM",        UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = reagent level too low  LEVEL_LOW
// bit 1  1 = incorrect reagent  INCORR_REAG
// bit 2  1 = deviation of reagent consumption  CONSUMP_DEVIATION
// bit 3  1 = NOx emissions too high  NOx_LEVEL
// bits 4-6  reserved
// bit 7  1 = inducement system active  ACTIVE
0xF488,   0,  0, 1,  "SCR_INDUCE_SYSTEM_HIST12", UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = reagent level too low  LEVEL_LOW1
// bit 1  1 = incorrect reagent  INCORR_REAG1
// bit 2  1 = deviation of reagent consumption  CONSUMP_DEVIATION1
// bit 3  1 = NOx emissions too high  NOx_LEVEL1
// bit 4  1 = reagent level too low  LEVEL_LOW2
// bit 5  1 = incorrect reagent  INCORR_REAG2
// bit 6  1 = deviation of reagent consumption  CONSUMP_DEVIATION2
// bit 7  1 = NOx emissions too high  NOx_LEVEL2
0xF488,   0,  0, 1,  "SCR_INDUCE_SYSTEM_HIST34", UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = reagent level too low  LEVEL_LOW3
// bit 1  1 = incorrect reagent  INCORR_REAG3
// bit 2  1 = deviation of reagent consumption  CONSUMP_DEVIATION3
// bit 3  1 = NOx emissions too high  NOx_LEVEL3
// bit 4  1 = reagent level too low  LEVEL_LOW4
// bit 5  1 = incorrect reagent  INCORR_REAG4
// bit 6  1 = deviation of reagent consumption  CONSUMP_DEVIATION4
// bit 7  1 = NOx emissions too high  NOx_LEVEL4
0xF488,   0,  0, 2,  "SCR_IND_DIST_1N",          UNSIGNED,  1,          0,       0,  "km",
0xF488,   0,  0, 2,  "SCR_IND_DIST_1D",          UNSIGNED,  1,          0,       0,  "km",
0xF488,   0,  0, 2,  "SCR_IND_DIST_2N",          UNSIGNED,  1,          0,       0,  "km",
0xF488,   0,  0, 2,  "SCR_IND_DIST_3N",          UNSIGNED,  1,          0,       0,  "km",
0xF488,   0,  0, 2,  "SCR_IND_DIST_4N",          UNSIGNED,  1,          0,       0,  "km",

0xF489,  41, 11, 1,  "AECD11_15_SUP",            UNSIGNED,  BITMAP,     0,       0,  "",
0xF489,   0,  0, 4,  "AECD11_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD11_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD12_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD12_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD13_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD13_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD14_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD14_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD15_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF489,   0,  0, 4,  "AECD15_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",

0xF48A,  41, 11, 1,  "AECD16_20_SUP",            UNSIGNED,  BITMAP,     0,       0,  "",
0xF48A,   0,  0, 4,  "AECD16_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD16_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD17_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD17_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD18_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD18_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD19_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD19_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD20_TIME1",             UNSIGNED,  1,          0,       0,  "sec (hr min)",
0xF48A,   0,  0, 4,  "AECD20_TIME2",             UNSIGNED,  1,          0,       0,  "sec (hr min)",

0xF48B,   7,  5, 1,  "D_AT_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF48B,   0,  0, 1,  "D_AT_STATUS",              UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = DPF Regen in progress; 0 = PF Regen not in progress   PF_REGEN_STAT: YES or NO 
// bit 1  1 = Active PF Regen; 0 = Passive PF Regen  PF_REGEN_TYPE: ACTIVE or PASSIVE
// bit 2  1 = Desorption (regen) in progress, 0 = Adsorption in progress (no regen)   NOX_ADS_REGEN: YES or NO
// bit 3  1 = Desulfurization in progress; 0 = Desulfurization not in progress  NOX_ADS_DESULF: YES or NO
0xF48B,   0,  0, 1,  "PF_REGEN_PCT",             UNSIGNED,  100/255,    0,       8,  "%",
0xF48B,   0,  0, 2,  "PF_REGEN_AVGT",            UNSIGNED,  1,          0,       0,  "min (hr min)",
0xF48B,   0,  0, 2,  "PF_REGEN_AVGD",            UNSIGNED,  1,          0,       0,  "km",

0xF48C,  17,  9, 1,  "O2S_WR_SUP",               UNSIGNED,  BITMAP,     0,       0,  "",
0xF48C,   0,  0, 2,  "O2S11_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF48C,   0,  0, 2,  "O2S12_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF48C,   0,  0, 2,  "O2S21_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF48C,   0,  0, 2,  "O2S22_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF48C,   0,  0, 2,  "LAMBDA11",                 UNSIGNED,  0.000122,   0,       6,  "",
0xF48C,   0,  0, 2,  "LAMBDA12",                 UNSIGNED,  0.000122,   0,       6,  "",
0xF48C,   0,  0, 2,  "LAMBDA21",                 UNSIGNED,  0.000122,   0,       6,  "",
0xF48C,   0,  0, 2,  "LAMBDA22",                 UNSIGNED,  0.000122,   0,       6,  "",

0xF48D,   1,  1, 1,  "TP_G",                     UNSIGNED,  100/255,    0,       6,  "%",

0xF48E,   1,  1, 1,  "TQ_FR",                    UNSIGNED,  1,          -125,    0,  "%",

0xF48F,   7,  5, 1,  "PM_SENSOR_SUP",            UNSIGNED,  BITMAP,     0,       0,  "",
0xF48F,   0,  0, 1,  "PM11_SENSOR_STATUS",       UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = Sensor actively measuring (YES)  PM11_ACTIVE (YES or NO)
// bit 1  1 = Sensor regenerating (YES)  PM11_REGEN (YES or NO)
0xF48F,   0,  0, 2,  "PM11",                     SIGNED,    0.01,       0,       2,  "%",
0xF48F,   0,  0, 1,  "PM21_SENSOR_STATUS",       UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = Sensor actively measuring (YES)  PM21_ACTIVE (YES or NO)
// bit 1  1 = Sensor regenerating (YES)  PM21_REGEN (YES or NO)
0xF48F,   0,  0, 2,  "PM21",                     SIGNED,    0.01,       0,       2,  "%",

0xF490,   3,  2, 1,  "WWH-OBD Vehicle OBD System Information", UNSIGNED, BITMAP,     0,  0, "",
// bits 0-1  00 – All ECUs employ a non-discriminatory MI display strategy, 01 – All ECUs employ a discriminatory MI display strategy, 10 – Reserved, 11 – Not available/Not required of this vehicle  MI_DISP_VOBD
// bits 2-5  0000 – MI Activation Mode 1 (MI Off), 0001 – MI Activation Mode 2 (On Demand MI) 0010 – MI Activation Mode 3 (Short MI), 0011 – MI Activation Mode 4 (Continuous MI), 0100 – 1101 Reserved, 1110 – Error, 1111 – Not available/Not required of this vehicle  MI_MODE_VOBD
// bit  6  0 – all vehicle emissions system monitors complete, 1- all vehicle emissions system monitors not complete"  VOBD_RDY: YES, NO
0xF490,   0,  0, 2,  "VOBD_MI_TIME",             UNSIGNED,  1,          0,       0,  "h",

0xF491,   5,  3, 1,  "MI_MODE_ECU",              UNSIGNED,  BITMAP,     0,       0,  "",
// bits 0-3  0000 – MI Activation Mode 1 (MI Off), 0001 – MI Activation Mode 2 (On Demand MI), 0010 – MI Activation Mode 3 (Short MI) 0011 – MI Activation Mode 4 (Continuous MI) 0100 – 1101 Reserved 1110 – Error 1111 – Not available/Not required of this ECU
0xF491,   0,  0, 2,  "OBD_MI_TIME",              UNSIGNED,  1,          0,       0,  "h",
0xF491,   0,  0, 2,  "OBD_B1_TIME",              UNSIGNED,  1,          0,       0,  "h",

0xF492,   2,  2, 1,  "FUELSYS_SUP",              UNSIGNED,  BITMAP,     0,       0,  "",
0xF492,   0,  0, 1,  "FUELSYS",                  UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  1 = Fuel Pressure 1 in closed loop control  FP1_CL
// bit 1  1 = Fuel Injection Quantity 1 in closed loop control  FIQ1_CL
// bit 2  1 = Fuel Injection Timing 1 in closed loop control  FIT1_CL
// bit 3  1 = Idle Fuel Balance/Contribution Control 1 in closed loop  IFB1_CL
// bit 4  1 = Fuel Pressure 2 in closed loop control  FP2_CL
// bit 5  1 = Fuel Injection Quantity 2 in closed loop control  FIQ2_CL
// bit 6  1 = Fuel Injection Timing 2 in closed loop control  FIT2_CL
// bit 7  1 = Idle Fuel Balance/Contribution Control 2 in closed loop  IFB2_CL

0xF493,   3,  2, 1,  "MI_TIME_CUM_SUP",          UNSIGNED,  BITMAP,     0,       0,  "",
0xF493,   0,  0, 2,  "MI_TIME_CUM",              UNSIGNED,  1,          0,       0,  "h",

0xF494,  12,  7, 1,  "NOx Warning And Inducement System support", UNSIGNED,  BITMAP,     0,       0,  "",
0xF494,   0,  0, 1,  "NOx Warning And Inducement System status",  UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  0 - Warning System inactive ,1- Warning System active  NOX_WARN_ACT: YES or NO
// bit 1,2  00 - Level 1 inducement inactive, 01 - Level 1 inducement enabled, 10 - Level 1 inducement active, 11 - Level 1 inducement not supported  INDUC_L1
// bit 3,4  00 - Level 2 inducement inactive, 01 - Level 2 inducement enabled, 10 - Level 2 inducement active, 11 - Level 2 inducement not supported  INDUC_L2
// bit 5,6  00 - Level 3 inducement inactive, 01 - Level 3 inducement enabled, 10 - Level 3 inducement active, 11 - Level 3 inducement not supported  INDUC_L3
0xF494,   0,  0, 2,  "REAG_QUAL_TIME",           UNSIGNED,  1,          0,       0,  "h",
0xF494,   0,  0, 2,  "REAG_CON_TIME",            UNSIGNED,  1,          0,       0,  "h",
0xF494,   0,  0, 2,  "REAG_DOSE_TIME",           UNSIGNED,  1,          0,       0,  "h",
0xF494,   0,  0, 2,  "EGR_TIME   ",              UNSIGNED,  1,          0,       0,  "h",
0xF494,   0,  0, 2,  "NOX_DTC_TIME",             UNSIGNED,  1,          0,       0,  "h",

0xF495,   9,  5, 1,  "SCR_NH3_SUP",              UNSIGNED,  BITMAP,     0,       0,  "",
0xF495,   0,  0, 2,  "SCR_NH3_TGT_A",            UNSIGNED,  0.0001,     0,       4,  "g/l",
0xF495,   0,  0, 2,  "SCR_NH3_ACT_A",            UNSIGNED,  0.0001,     0,       4,  "g/l",
0xF495,   0,  0, 2,  "SCR_NH3_TGT_B",            UNSIGNED,  0.0001,     0,       4,  "g/l",
0xF495,   0,  0, 2,  "SCR_NH3_ACT_B",            UNSIGNED,  0.0001,     0,       4,  "g/l",

0xF496,   6,  4, 1,  "HC_INJ_SUP",               UNSIGNED,  BITMAP,     0,       0,  "", 
0xF496,   0,  0, 2,  "HC_INJ_FL",                UNSIGNED,  0.05,       0,       2,  "g/min",
0xF496,   0,  0, 1,  "HC_INJ_DC",                UNSIGNED,  100/255,    0,       8,  "%",
0xF496,   0,  0, 2,  "AFT_FP",                   UNSIGNED,  0.1,        0,       1,  "kPa",

0xF497,   5,  3, 1,  "NOx_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF497,   0,  0, 2,  "NOx_EO",                   UNSIGNED,  0.0001,     0,       4,  "g/s",
0xF497,   0,  0, 2,  "NOx_TP",                   UNSIGNED,  0.0001,     0,       4,  "g/s",

0xF498,   9,  5, 1,  "EGT15_18_SUP",             UNSIGNED,  BITMAP,     0,       0,  "",
0xF498,   0,  0, 2,  "EGT15",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF498,   0,  0, 2,  "EGT16",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF498,   0,  0, 2,  "EGT17",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF498,   0,  0, 2,  "EGT18",                    UNSIGNED,  0.1,        -40,     1,  "°C",

0xF499,   9,  5, 1,  "EGT25_28_SUP",             UNSIGNED,  BITMAP,     0,       0,  "",
0xF499,   0,  0, 2,  "EGT25",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF499,   0,  0, 2,  "EGT26",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF499,   0,  0, 2,  "EGT27",                    UNSIGNED,  0.1,        -40,     1,  "°C",
0xF499,   0,  0, 2,  "EGT28",                    UNSIGNED,  0.1,        -40,     1,  "°C",

0xF49A,   6,  4, 1,  "HEV_BATT_SUP",             UNSIGNED,  BITMAP,     0,       0,  "",
0xF49A,   0,  0, 1,  "HEV_MODE",                 UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0  0 = Charge Sustaining Mode / Not a PHEV, 1 = Charge Depleting Mode  HEV_MODE: (CSM or CDM)
// bits 1-2  00 - Charge Sustaining Mode (PSA) / Not a PHEV, 01 - Charge Depleting Mode (PSA), 10 - Charge Increasing Mode (PSA), 11 - Not PSA  HEV_MODE: (CSM, CDM or  CIM)
0xF49A,   0,  0, 2,  "HEV_BATT_V",               UNSIGNED,  0.015625,   0,       6,  "V",
0xF49A,   0,  0, 2,  "HEV_BATT_A",               SIGNED,    0.1,        0,       1,  "A",

0xF49B,   4,  4, 1,  "DEF_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF49B,   0,  0, 1,  "DEF_CON",                  UNSIGNED,  0.25,       0,       2,  "%",
0xF49B,   0,  0, 1,  "DEF_T",                    UNSIGNED,  1,          -40,     0,  "°C",
0xF49B,   0,  0, 1,  "DEF_LVL",                  UNSIGNED,  100/255,    0,       8,  "%",

0xF49C,  17,  9, 1,  "O2S_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF49C,   0,  0, 2,  "O2S13_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF49C,   0,  0, 2,  "O2S14_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF49C,   0,  0, 2,  "O2S23_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF49C,   0,  0, 2,  "O2S24_PCT",                UNSIGNED,  0.001526,   0,       6,  "%",
0xF49C,   0,  0, 2,  "LAMBDA13",                 UNSIGNED,  0.000122,   0,       6,  "",
0xF49C,   0,  0, 2,  "LAMBDA14",                 UNSIGNED,  0.000122,   0,       6,  "",
0xF49C,   0,  0, 2,  "LAMBDA23",                 UNSIGNED,  0.000122,   0,       6,  "",
0xF49C,   0,  0, 2,  "LAMBDA24",                 UNSIGNED,  0.000122,   0,       6,  "",

0xF49D,   4,  2, 2,  "FUEL_RATE",                UNSIGNED,  0.02,       0,       2,  "g/s",
0xF49D,   0,  0, 2,  "VFUEL_RATE",               UNSIGNED,  0.02,       0,       2,  "g/s",

0xF49E,   2,  1, 2,  "EXH_RATE",                 UNSIGNED,  0.2,        0,       1,  "xg/s",

0xF49F,   9,  9, 1,  "FUELSYS_SUP",              UNSIGNED,  BITMAP,     0,       0,  "",
0xF49F,   0,  0, 1,  "FUELSYSA_B1",              UNSIGNED,  100/255,    0,       8,  "%",
0xF49F,   0,  0, 1,  "FUELSYSB_B1",              UNSIGNED,  100/255,    0,       8,  "%",
0xF49F,   0,  0, 1,  "FUELSYSA_B2",              UNSIGNED,  100/255,    0,       8,  "%",
0xF49F,   0,  0, 1,  "FUELSYSB_B2",              UNSIGNED,  100/255,    0,       8,  "%",
0xF49F,   0,  0, 1,  "FUELSYSA_B3",              UNSIGNED,  100/255,    0,       8,  "%",
0xF49F,   0,  0, 1,  "FUELSYSB_B3",              UNSIGNED,  100/255,    0,       8,  "%",
0xF49F,   0,  0, 1,  "FUELSYSA_B4",              UNSIGNED,  100/255,    0,       8,  "%",
0xF49F,   0,  0, 1,  "FUELSYSB_B4",              UNSIGNED,  100/255,    0,       8,  "%",

0xF4A1,   9,  5, 1,  "NOXC_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF4A1,   0,  0, 2,  "NOXC11",                   UNSIGNED,  1,          0,       0,  "ppm",
0xF4A1,   0,  0, 2,  "NOXC12",                   UNSIGNED,  1,          0,       0,  "ppm",
0xF4A1,   0,  0, 2,  "NOXC21",                   UNSIGNED,  1,          0,       0,  "ppm",
0xF4A1,   0,  0, 2,  "NOXC22",                   UNSIGNED,  1,          0,       0,  "ppm",

0xF4A2,   2,  1, 2,  "CYL_RATE",                 UNSIGNED,  0.03125,    0,       5,  "mg/stroke",

0xF4A3,   9,  5, 1,  "EVAP_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF4A3,   0,  0, 2,  "EVAP_A_VP",                SIGNED,    0.25,       0,       2,  "Pa",
0xF4A3,   0,  0, 2,  "EVAP_A_VP",                SIGNED,    2,          0,       0,  "Pa",
0xF4A3,   0,  0, 2,  "EVAP_B_VP",                SIGNED,    0.25,       0,       2,  "Pa",
0xF4A3,   0,  0, 2,  "EVAP_B_VP",                SIGNED,    2,          0,       0,  "Pa",

0xF4A4,   4,  3, 1,  "GEAR_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF4A4,   0,  0, 1,  "GEAR_ACT",                 UNSIGNED,  BITMAP,     0,       0,  "",
// bits 4-7   0000- neutral
//            0001 – Gear 1/Reverse
//            0010 – Gear 2
//            0011 – Gear 3
//            0100 – Gear 4
//            0101 – Gear 5
//            0110 – Gear 6
//            0111 – Gear 7
//            1000 – Gear 8
//            1001 – Gear 9
//            1010 – Gear 10
//            1011 – Gear 11
//            1100 – Gear 12
//            1101 – Gear 13
//            1110 – Gear 14
//            1111 – Gear 15,
0xF4A4,   0,  0, 2,  "GEAR_RAT",                 UNSIGNED,  0.001,      0,       3,  "",

0xF4A5,   4,  3, 1,  "DEF_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF4A5,   0,  0, 1,  "DEF_CMD",                  UNSIGNED,  0.5,        0,       1,  "%",
0xF4A5,   0,  0, 2,  "DEF_UCDC",                 UNSIGNED,  0.0005,     0,       4,  "L (gal)",

0xF4A6,   4,  1, 4,  "ODO",                      UNSIGNED,  0.1,        0,       1,  "km (miles)",

0xF4A7,   9,  5, 1,  "NOX_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF4A7,   0,  0, 2,  "NOX13",                    UNSIGNED,  1,          0,       0,  "ppm",
0xF4A7,   0,  0, 2,  "NOX14",                    UNSIGNED,  1,          0,       0,  "ppm",
0xF4A7,   0,  0, 2,  "NOX23",                    UNSIGNED,  1,          0,       0,  "ppm",
0xF4A7,   0,  0, 2,  "NOX24",                    UNSIGNED,  1,          0,       0,  "ppm",

0xF4A8,   9,  5, 1,  "NOXC_SUP",                 UNSIGNED,  BITMAP,     0,       0,  "",
0xF4A8,   0,  0, 2,  "NOXC13",                   UNSIGNED,  1,          0,       0,  "ppm",
0xF4A8,   0,  0, 2,  "NOXC14",                   UNSIGNED,  1,          0,       0,  "ppm",
0xF4A8,   0,  0, 2,  "NOXC23",                   UNSIGNED,  1,          0,       0,  "ppm",
0xF4A8,   0,  0, 2,  "NOXC24",                   UNSIGNED,  1,          0,       0,  "ppm",

0xF4A9,   2,  2, 1,  "Motorcycle_STATUS_SUP",    UNSIGNED,  BITMAP,     0,       0,  "",
0xF4A9,   0,  0, 1,  "ABS Disable Switch State", UNSIGNED,  BITMAP,     0,       0,  "",
// 0 = ABS not disabled (NO), 1 = ABS disabled (YES)

0xF4AA,   1,  1, 1,  "V_SET",                    UNSIGNED,  1,          0,       0,  "km/h (mph)",

0xF4AB,   9,  6, 1,  "AFV_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF4AB,   0,  0, 2,  "FRP_AF",                   UNSIGNED,  0.03125,    0,       5,  "kPa",
0xF4AB,   0,  0, 1,  "FRT_AF",                   UNSIGNED,  1,          -40,     0,  "°C",
0xF4AB,   0,  0, 2,  "FTP_AF",                   UNSIGNED,  0.125,      0,       3,  "kPa",
0xF4AB,   0,  0, 2,  "FTPW_AF",                  UNSIGNED,  1,          0,       0,  "kPa",
0xF4AB,   0,  0, 1,  "FTT_AF",                   UNSIGNED,  2,          -256,    0,  "°C",

0xF4AC,   4,  3, 1,  "DEF_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF4AC,   0,  0, 1,  "DEF_Mode",                 UNSIGNED,  BITMAP,     0,       0,  "",
// 00 = Dosing System Off, 01-FD = Manufacturer Specific, FE = Error (not dosing), FF = Not Available, 
0xF4AC,   0,  0, 2,  "DEF_MAX",                  UNSIGNED,  0.3,        0,       1,  "xg/hr",

0xF4AD,   7,  4, 1,  "CKC_SUP",                  UNSIGNED,  BITMAP,     0,       0,  "",
0xF4AD,   0,  0, 2,  "CKC_P",                    SIGNED,    0.25,       -32768,  2,  "Pa",
0xF4AD,   0,  0, 2,  "CKC_OSEP_RPM",             UNSIGNED,  1,          0,       0,  "RPM",
0xF4AD,   0,  0, 2,  "CKCB_P",                   SIGNED,    0.25,       -32768,  2,  "Pa",

0xF4AE,   5,  3, 1,  "EVAP_PPSUP",               UNSIGNED,  BITMAP,     0,       0,  "",
0xF4AE,   0,  0, 2,  "EVAP_PP",                  SIGNED,    0.25,       0,       2,  "Pa",
0xF4AE,   0,  0, 2,  "EVAP_PP_WR",               SIGNED,    2,          0,       0,  "Pa",

0xF4AF,   2,  1, 2,  "AIR_FL_TGT",               UNSIGNED,  0.05,       0,       2,  "kg/hr",

0xF4B0,   5,  3, 1,  "EGR_M_FL_SUP",             UNSIGNED,  BITMAP,     0,       0,  "",
0xF4B0,   0,  0, 2,  "EGR_M_FL_A",               UNSIGNED,  0.05,       0,       2,  "kg/hr",
0xF4B0,   0,  0, 2,  "EGR_M_FL_B",               UNSIGNED,  0.05,       0,       2,  "kg/hr",

0xF4B1,   7,  7, 1,  "Diesel Fuel System support",  UNSIGNED,  BITMAP,     0,       0,  "",
0xF4B1,   0,  0, 1,  "FUELSYS1",                 UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0 = 1 = Open Loop OL,
// bit 1 = 1 = Closed Loop CL,
// bit 2 = 1 = Open loop due to malfunctions OL-Fault
0xF4B1,   0,  0, 1,  "FUELSYS2",                 UNSIGNED,  BITMAP,     0,       0,  "",
// bit 0 = 1 = Open Loop OL,
// bit 1 = 1 = Closed Loop CL,
// bit 2 = 1 = Open loop due to malfunctions OL-Fault
0xF4B1,   0,  0, 1,  "SHRTFT1",                  UNSIGNED,  100/128,    0,       5,  "%",
0xF4B1,   0,  0, 1,  "LONGFT1",                  UNSIGNED,  100/128,    0,       5,  "%",
0xF4B1,   0,  0, 1,  "SHRTFT2",                  UNSIGNED,  100/128,    0,       5,  "%",
0xF4B1,   0,  0, 1,  "LONGFT2",                  UNSIGNED,  100/128,    0,       5,  "%",

0xF4B2,   1,  1, 1,  "BAT_SOH",                  UNSIGNED,  100/255,    0,       8,  "%",

0xF4B3,  19, 10, 1,  "HVESP_ACR_SUP",            UNSIGNED,  BITMAP,     0,       0,  "",
0xF4B3,   0,  0, 2,  "HVESS_ACR",                UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPA_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPB_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPC_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPD_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPE_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPF_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPG_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",
0xF4B3,   0,  0, 2,  "HVESPH_ACR",               UNSIGNED,  0.05,       0,       2,  "kW",

0xF4B4,  10, 10, 1,  "HVESP_Temp_SUP",           UNSIGNED,  BITMAP,     0,       0,  "",
0xF4B4,   0,  0, 1,  "HVESS_Temp",               UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPA_Temp",              UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPB_Temp",              UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPC_Temp",              UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPD_Temp",              UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPE_Temp",              UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPF_Temp",              UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPG_Temp",              UNSIGNED,  1,          0,       0,  "°C",
0xF4B4,   0,  0, 1,  "HVESPH_Temp",              UNSIGNED,  1,          0,       0,  "°C",

0xF4B5,  19, 10, 1,  "HVESP_Cur_SUP",            UNSIGNED,  BITMAP,     0,       0,  "",
0xF4B5,   0,  0, 2,  "HVESS_Cur",                UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPA_Cur",               UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPB_Cur",               UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPC_Cur",               UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPD_Cur",               UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPE_Cur",               UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPF_Cur",               UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPG_Cur",               UNSIGNED,  0.05,       0,       2,  "A",
0xF4B5,   0,  0, 2,  "HVESPH_Cur",               UNSIGNED,  0.05,       0,       2,  "A",

0xF4B6,  19, 10, 1,  "HVESP_VOLT_SUP",           UNSIGNED,  BITMAP,     0,       0,  "",
0xF4B6,   0,  0, 2,  "HVESS_Volt",               UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPA_Volt",              UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPB_Volt",              UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPC_Volt",              UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPD_Volt",              UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPE_Volt",              UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPF_Volt",              UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPG_Volt",              UNSIGNED,  0.05,       0,       2,  "V",
0xF4B6,   0,  0, 2,  "HVESPH_Volt",              UNSIGNED,  0.05,       0,       2,  "V",

0xF4B7,   7,  7, 1,  "HEV_BATT_SUP",             UNSIGNED,  BITMAP,     0,       0,  "",
0xF4B7,   0,  0, 1,  "HEV Batt Min Cell Temp",   UNSIGNED,  1,          -40,     0,  "°C",
0xF4B7,   0,  0, 1,  "HEV Batt Max Cell Temp",   UNSIGNED,  1,          -40,     0,  "°C",
0xF4B7,   0,  0, 1,  "HEV Batt Ave Cell Temp",   UNSIGNED,  1,          -40,     0,  "°C",
0xF4B7,   0,  0, 1,  "HEV Batt Bus Bar Temp",    UNSIGNED,  1,          -40,     0,  "°C",
0xF4B7,   0,  0, 1,  "HEV Batt Coolant Temp",    UNSIGNED,  1,          -40,     0,  "°C",
0xF4B7,   0,  0, 1,  "HEV_Batt_Therm_Mode",      UNSIGNED,  BITMAP,     0,       0,  "",
// 00 = System Off,
// 01 = Active Cooling,
// 02 = Passive Cooling,
// 03 = Active Heating,
// 04 = Passive Heating,
// 05-FF = Reserved, 

0xF4B8,   2,  1, 2,  "HEV Batt Time Since Last Balance", UNSIGNED,      1,       0,      0,  "min (hrs, min)",

0xF4B9,   4,  2, 2,  "HEV Batt Min Cell Voltage",        UNSIGNED,  0.001,       0,       3,  "V",
0xF4B9,   0,  0, 2,  "HEV Batt Max Cell Voltage",        UNSIGNED,  0.001,       0,       3,  "V",

0xF4BA,   5,  3, 1,  "HEV Batt PWR Available",           UNSIGNED,  100/255,   0,       8,  "%",
0xF4BA,   0,  0, 2,  "HEV Batt Charge Current Limit",    SIGNED,    0.1,       0,       1,  "A",
0xF4BA,   0,  0, 2,  "HEV Batt Discharge Current Limit", SIGNED,    0.1,       0,       1,  "A",

0xF4BB,  37, 10, 1,  "HVESP_Enrg_In_SUP",        UNSIGNED,  BITMAP,     0,      0,  "",
0xF4BB,   0,  0, 4,  "HVESS_Enrg_In",            UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPA_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPB_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPC_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPD_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPE_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPF_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPG_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BB,   0,  0, 4,  "HVESPH_Enrg_In",           UNSIGNED,  1,          0,      0,  "kWh",

0xF4BC,  37, 10, 1,  "HVESP_Enrg_Out_SUP",       UNSIGNED,  BITMAP,     0,      0,  "",
0xF4BC,   0,  0, 4,  "HVESS_Enrg_Out",           UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPA_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPB_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPC_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPD_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPE_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPF_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPG_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",
0xF4BC,   0,  0, 4,  "HVESPH_Enrg_Out",          UNSIGNED,  1,          0,      0,  "kWh",

0xF4BD,  37, 10, 1,  "HVESP_Enrg_Tput_SUP",      UNSIGNED,  BITMAP,     0,      0,  "",
0xF4BD,   0,  0, 4,  "HVESS_Enrg_Tput",          UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPA_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPB_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPC_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPD_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPE_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPF_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPG_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",
0xF4BD,   0,  0, 4,  "HVESPH_Enrg_Tput",         UNSIGNED,  100,        0,      0,  "Wh",

0xF4BE,  10, 10, 1,  "HVESP_SUP",                UNSIGNED,  BITMAP,     0,      0,  "",
0xF4BE,   0,  0, 1,  "HVESS_SOH",                UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPA_SOH",               UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPB_SOH",               UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPC_SOH",               UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPD_SOH",               UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPE_SOH",               UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPF_SOH",               UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPG_SOH",               UNSIGNED,  0.4,        0,      1,  "%",
0xF4BE,   0,  0, 1,  "HVESPH_SOH",               UNSIGNED,  0.4,        0,      1,  "%",

0xF4BF,  19, 10, 1,  "HVESP_MIN_SUP",            UNSIGNED,  BITMAP,     0,      0,  "",
0xF4BF,   0,  0, 2,  "HVESS_MIN_SOC",            UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPA_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPB_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPC_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPD_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPE_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPF_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPG_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4BF,   0,  0, 2,  "HVESPH_MIN_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",

0xF4C1,  19, 10, 1,  "HVESP_MAX_SUP",            UNSIGNED,  BITMAP,     0,      0,  "",
0xF4C1,   0,  0, 2,  "HVESS_MAX_SOC",            UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPA_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPB_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPC_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPD_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPE_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPF_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPG_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",
0xF4C1,   0,  0, 2,  "HVESPH_MAX_SOC",           UNSIGNED,  0.0015625,  0,      7,  "%",

0xF4C2,  28, 10, 1,  "HVESP_DEnrg_SUP",          UNSIGNED,  BITMAP,     0,      0,  "",
0xF4C2,   0,  0, 3,  "HVESS_DEnrg_CAP",          UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPA_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPB_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPC_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPD_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPE_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPF_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPG_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",
0xF4C2,   0,  0, 3,  "HVESPH_DEnrg_CAP",         UNSIGNED,  0.001,      0,      3,  "kWh",

0xF4C3,   3,  3, 1,  "FLI_SUP",                  UNSIGNED,  BITMAP,     0,      0,  "",
0xF4C3,   0,  0, 1,  "FLI_A",                    UNSIGNED,  100/255,    0,      8,  "%",
0xF4C3,   0,  0, 1,  "FLI_B",                    UNSIGNED,  100/255,    0,      8,  "%",

0xF4C4,   8,  2, 4,  "EXH_PM_TIME",              UNSIGNED,  1,          0,      0,  "sec",
0xF4C4,   0,  0, 4,  "EXH_PM_OCC_CNT",           UNSIGNED,  1,          0,      0,  "counts",

0xF4C5,   5,  3, 1,  "LFP_SUP",                  UNSIGNED,  BITMAP,     0,      0,  "",
0xF4C5,   0,  0, 2,  "LFP_A",                    UNSIGNED,  0.079,      0,      3,  "kPa",
0xF4C5,   0,  0, 2,  "LFP_B",                    UNSIGNED,  0.079,      0,      3,  "kPa",

0xF4C6,   8,  5, 1,  "PART_SUP",                 UNSIGNED,  BITMAP,     0,      0,  "",
0xF4C6,   0,  0, 1,  "PART_STAT",                UNSIGNED,  BITMAP,     0,      0,  "",
// bit 0  = 0  - Warning System inactive, 1- Warning System active (PM_WARN_ACT: YES or NO)
// bit 1,2  = 00 - Level 1 inducement inactive, 01 - Level 1 inducement enabled, 10 - Level 1 inducement active, 11 - Level 1 inducement not supported  INDUC_L1
// bit 3,4  = 00 - Level 2 inducement inactive, 01 - Level 2 inducement enabled, 10 - Level 2 inducement active, 11 - Level 2 inducement not supported  INDUC_L2
// bit 5,6  = 00 - Level 3 inducement inactive, 01 - Level 3 inducement enabled, 10 - Level 3 inducement activ,e 11- Level 3 inducement not supported  INDUC_L3
0xF4C6,   0,  0, 2,  "DPF_REMOVAL_BLOCKED_TIME", UNSIGNED,  1,          0,      0,  "hr",
0xF4C6,   0,  0, 2,  "LRIS_FAILURE_TIME",        UNSIGNED,  1,          0,      0,  "hr",
0xF4C6,   0,  0, 2,  "PCD_FAILURE_TIME",         UNSIGNED,  1,          0,      0,  "hr",

0xF4C7,   2,  1, 2,  "REFLASH_DIST",             UNSIGNED,  1,          0,      0,  "km",

0xF4C8,   1,  1, 1,  "NCD_PCD_STAT",             UNSIGNED,  BITMAP,     0,      0,  "",

0xF4C9,  17,  9, 1,  "O2S_SUP",                  UNSIGNED,  BITMAP,     0,      0,  "",
0xF4C9,   0,  0, 2,  "O2S15_PCT",                UNSIGNED,  0.001526,   0,      6,  "%",
0xF4C9,   0,  0, 2,  "O2S16_PCT",                UNSIGNED,  0.001526,   0,      6,  "%",
0xF4C9,   0,  0, 2,  "O2S25_PCT",                UNSIGNED,  0.001526,   0,      6,  "%",
0xF4C9,   0,  0, 2,  "O2S26_PCT",                UNSIGNED,  0.001526,   0,      6,  "%",
0xF4C9,   0,  0, 2,  "LAMBDA15",                 UNSIGNED,  0.000122,   0,      6,  "",
0xF4C9,   0,  0, 2,  "LAMBDA16",                 UNSIGNED,  0.000122,   0,      6,  "",
0xF4C9,   0,  0, 2,  "LAMBDA25",                 UNSIGNED,  0.000122,   0,      6,  "",
0xF4C9,   0,  0, 2,  "LAMBDA26",                 UNSIGNED,  0.000122,   0,      6,  "",

0xF4CA,   7,  4, 1,  "TIME_TO_INDUC_SUP",        UNSIGNED,  BITMAP,     0,      6,  "",
0xF4CA,   0,  0, 2,  "TIME_TO_INDUC_L1",         UNSIGNED,  1,          0,      0,  "min",
0xF4CA,   0,  0, 2,  "TIME_TO_INDUC_L2",         UNSIGNED,  1,          0,      0,  "min",
0xF4CA,   0,  0, 2,  "TIME_TO_INDUC_L3",         UNSIGNED,  1,          0,      0,  "min",

0xF4CB,   5,  3, 1,  "EP_SUP",                   UNSIGNED,  BITMAP,     0,      0,  "",
0xF4CB,   0,  0, 2,  "EP_12",                    UNSIGNED,  0.01,       0,      2,  "kPa",
0xF4CB,   0,  0, 2,  "EP_22",                    UNSIGNED,  0.01,       0,      2,  "kPa",

0xF4CC,  17,  9, 1,  "EM_RPM_SUP",               UNSIGNED,  BITMAP,     0,      0,  "",
0xF4CC,   0,  0, 2,  "EM A RPM",                 UNSIGNED,  1,          0,      0,  "rpm",
0xF4CC,   0,  0, 2,  "EM B RPM",                 UNSIGNED,  1,          0,      0,  "rpm",
0xF4CC,   0,  0, 2,  "EM C RPM",                 UNSIGNED,  1,          0,      0,  "rpm",
0xF4CC,   0,  0, 2,  "EM D RPM",                 UNSIGNED,  1,          0,      0,  "rpm",
0xF4CC,   0,  0, 2,  "EM E RPM",                 UNSIGNED,  1,          0,      0,  "rpm",
0xF4CC,   0,  0, 2,  "EM F RPM",                 UNSIGNED,  1,          0,      0,  "rpm",
0xF4CC,   0,  0, 2,  "EM G RPM",                 UNSIGNED,  1,          0,      0,  "rpm",
0xF4CC,   0,  0, 2,  "EM H RPM",                 UNSIGNED,  1,          0,      0,  "rpm",

0xF4CD,  17,  9, 1,  "EM_TQ_SUP",                UNSIGNED,  BITMAP,     0,      0,  "",
0xF4CD,   0,  0, 2,  "EM A TQ",                  UNSIGNED,  1,          0,      0,  "Nm",
0xF4CD,   0,  0, 2,  "EM B TQ",                  UNSIGNED,  1,          0,      0,  "Nm",
0xF4CD,   0,  0, 2,  "EM C TQ",                  UNSIGNED,  1,          0,      0,  "Nm",
0xF4CD,   0,  0, 2,  "EM D TQ",                  UNSIGNED,  1,          0,      0,  "Nm",
0xF4CD,   0,  0, 2,  "EM E TQ",                  UNSIGNED,  1,          0,      0,  "Nm",
0xF4CD,   0,  0, 2,  "EM F TQ",                  UNSIGNED,  1,          0,      0,  "Nm",
0xF4CD,   0,  0, 2,  "EM G TQ",                  UNSIGNED,  1,          0,      0,  "Nm",
0xF4CD,   0,  0, 2,  "EM H TQ",                  UNSIGNED,  1,          0,      0,  "Nm",

0xF4CE,   9,  5, 1,  "EVAP_SUP",                 UNSIGNED,  BITMAP,     0,      0,  "",
0xF4CE,   0,  0, 2,  "EVAP_C_VP",                SIGNED,    0.25,       0,      2,  "Pa",
0xF4CE,   0,  0, 2,  "EVAP_C_VP",                SIGNED,    2,          0,      0,  "Pa",
0xF4CE,   0,  0, 2,  "EVAP_D_VP",                SIGNED,    0.25,       0,      2,  "Pa",
0xF4CE,   0,  0, 2,  "EVAP_D_VP",                SIGNED,    2,          0,      0,  "Pa",

0xF4CF,   9,  5, 1,  "CATTEMP_SUP",              UNSIGNED,  BITMAP,     0,      0,  "",
0xF4CF,   0,  0, 2,  "CATTEMPA",                 UNSIGNED,  0.1,        -40,    1,  "°C",
0xF4CF,   0,  0, 2,  "CATTEMPB",                 UNSIGNED,  0.1,        -40,    1,  "°C",
0xF4CF,   0,  0, 2,  "CATTEMPC",                 UNSIGNED,  0.1,        -40,    1,  "°C",
0xF4CF,   0,  0, 2,  "CATTEMPD",                 UNSIGNED,  0.1,        -40,    1,  "°C",

0xF4D0,   7,  4, 1,  "SOH_SUP",                  UNSIGNED,  BITMAP,     0,      0,  "",
0xF4D0,   0,  0, 2,  "HEALTH_DIST",              UNSIGNED,  1,          0,      0,  "km",
0xF4D0,   0,  0, 2,  "REMAINING_ESS_RSRV_CAP",   UNSIGNED,  0.1,        0,      1,  "kWh",
0xF4D0,   0,  0, 2,  "INIT_ESS_RSRV_CAP",        UNSIGNED,  0.1,        0,      1,  "kWh",

0xF4D1,   4,  2, 2,  "HVESS_CHARGE_LIM",         UNSIGNED,  0.05,       0,      2,  "kW",
0xF4D1,   0,  0, 2,  "HVESS_CHARGE_ACT",         UNSIGNED,  0.05,       0,      2,  "kW",

0xF4D2,   3,  3, 1,  "SOC_SUP",                  UNSIGNED,  BITMAP,     0,      0,  "",
0xF4D2,   0,  0, 1,  "SOCE",                     UNSIGNED,  100/255,    0,      8,  "%",
0xF4D2,   0,  0, 1,  "SOCR",                     UNSIGNED,  100/255,    0,      8,  "%",

0xF4D3,   4,  1, 4,  "ODO",                      UNSIGNED,  0.1,        0,      1,  "km",

0xF4D4,   4,  1, 4,  "HVESS_ENER",               SIGNED,    0.000001,   0,      6,  "Wh/s",

0xF4D5,  11,  5, 1,  "FC_SUP",                   UNSIGNED,  BITMAP,     0,      0,  "",
0xF4D5,   0,  0, 2,  "FC_VOLT",                  UNSIGNED,  0.05,       0,      2,  "V ",
0xF4D5,   0,  0, 2,  "FC_FUEL_RATE",             UNSIGNED,  0.0005,     0,      4,  "g/s",
0xF4D5,   0,  0, 2,  "FC_CUMUL_CURR",            UNSIGNED,  0.02,       0,      2,  "mAh/s",
0xF4D5,   0,  0, 4,  "FC_CUMUL_EMER",            UNSIGNED,  0.0001,     0,      4,  "Wh/s",

0xF4D6,   2,  1, 2,  "NUMPSATRIPSFLTMEMCLR",     UNSIGNED,  1,          0,      0,  "cnts",

0xF4D7,   5,  4, 1,  "DEF_SUP",                  UNSIGNED,  BITMAP,     0,      0,  "",
0xF4D7,   0,  0, 1,  "DEF_CMD",                  UNSIGNED,  0.5,        0,      1,  "%",
0xF4D7,   0,  0, 1,  "DEF_MODE",                 UNSIGNED,  BITMAP,     0,      0,  "",              // 00 = Dosing System Off, 01-FD = Manufacturer Specific, FE = Error (not dosing), FF = Not Available
0xF4D7,   0,  0, 2,  "DEF_MAX",                  UNSIGNED,  0.3,        0,      1,  "xg/hr",

0xF4D8,   1,  1, 1,  "BCAP_R",                   UNSIGNED,  BITMAP,     0,      0,  "",              // 0 = Not Ready, 1 = Ready

0xF4D9,   4,  1, 4,  "CALCULATED_ESS_CAP",       UNSIGNED,  0.001,      0,      3,  "kWh",

0xF4DA,   4,  1, 4,  "HVESS_ENER",               SIGNED,    0.000001,   0,      6,  "Ah /s",

0xF4DB,   4,  1, 4,  "ODO",                      UNSIGNED,  0.1,        0,      1,  "km",

0xF4DC,  41, 11, 1,  "AECD21_24_TIME_SUP",       UNSIGNED,  BITMAP,     0,      0,  "",
0xF4DC,   0,  0, 4,  "AECD21_TIME1",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD21_TIME2",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD22_TIME1",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD22_TIME2",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD23_TIME1",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD23_TIME2",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD24_TIME1",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD24_TIME2",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD25_TIME1",             UNSIGNED,  1,          0,      0,  "sec (hr min)",
0xF4DC,   0,  0, 4,  "AECD25_TIME2",             UNSIGNED,  1,          0,      0,  "sec (hr min)",

0xF501,   6,  6, 1,  "IM Readiness Byte A",      UNSIGNED,  BITMAP,     0,      0,  "",
// bits 0-6  1 Fault per bit DTC_CNT: xxxd
// bit 7     0 = MIL OFF; 1 = MIL ON
0xF501,   0,  0, 1,  "IM Readiness Byte B",      UNSIGNED,  BITMAP,     0,      0,  "",
// bit 0  0 = Misfire monitor not supported (NO) 1 = Misfire monitor supported (YES)  MIS_SUP: NO or YES
// bit 1  0 = Fuel system monitor not supported (NO) 1 = Fuel monitor supported (YES)  FUEL_SUP: NO or YES
// bit 2  0 = CCM monitor not supported (NO) 1 = CCM monitor supported (YES)  CCM_SUP: NO or YES
// bit 3  0 = Engine Cooling System monitor not supported (NO) 1 = Engine Cooling System monitor supported (YES)  COOL_SUP: NO or YES
// bit 4  0 = Misfire monitor complete, or not applicable (YES) 1 = Misfire monitor not complete (NO)  MIS_RDY: YES or NO
// bit 5  0 = Fuel system monitor complete, or not applicable (YES) 1 = Fuel system monitor not complete (NO)  FUEL_RDY: YES or NO
// bit 6  0 = CCM monitor complete, or not applicable (YES) 1 = CCM monitor not complete (NO)  CCM_RDY: NO or YES
// bit 7  0 = Engine Cooling System monitor complete, or not applicable (YES) 1 = Engine Cooling System monitor not complete (NO)  COOL_RDY: NO or YES
0xF501,   0,  0, 1,  "IM Readiness Byte C",      UNSIGNED,  BITMAP,     0,      0,  "",
// bit 0  0 = Catalyst monitor not supported (NO) 1 = Catalyst monitor supported  CAT_SUP: NO or YES
// bit 1  0 = NMHC catalyst monitor not supported (NO) 1 = NMHC catalyst monitor supported  HCCATSUP: NO or YES
// bit 2  0 = Heated catalyst monitor not supported (NO) 1 = Heated catalyst monitor supported  HCAT_SUP: NO or YES
// bit 3  0 = NOx catalyst monitor not supported (NO) 1 = NOx catalyst monitor supported  NCAT_SUP: NO or YES
// bit 4  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  CAT_RDY: YES, NO or N/A
// bit 5  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  HCCATRDY: YES, NO or N/A
// bit 6  0 = Heated catalyst monitor complete (YES), or not applicable (N/A) 1 = Heated catalyst monitor not complete (NO)  HCAT_RDY: YES, NO or N/A
// bit 7  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  NCAT_RDY: YES, NO or N/A
0xF501,   0,  0, 1,  "IM Readiness Byte D",     UNSIGNED,  BITMAP,      0,     0,  "",
// bit 0  0 = Evap monitor not supported (NO) 1 = Evap monitor supported  EVAP_SUP: NO or YES
// bit 1  0 = SAIR monitor not supported (NO) 1 = SAIR monitor supported  AIR_SUP: NO or YES
// bit 2  0 = Boost pressure monitor not supported (NO) 1 = Boost pressure monitor supported  BP_SUP: NO or YES
// bit 3  0 = PF monitor not supported (NO) 1 = PF monitor supported  PF_SUP: NO or YES
// bit 4  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  EVAP_RDY: YES, NO or N/A
// bit 5  0 = SAIR monitor complete (YES), or not applicable (N/A) 1 = SAIR monitor not complete (NO)  AIR_RDY: YES, NO or N/A
// bit 6  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  BP_RDY: YES, NO or N/A
// bit 7  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  PF_RDY: YES, NO or N/A
0xF501,   0,  0, 1,  "IM Readiness Byte E",     UNSIGNED,  BITMAP,      0,     0,  "",
// bit 0  0 = Exhaust gas sensor monitor not supported (NO) 1 = Exhaust gas sensor monitor supported  EGS_SUP: NO or YES
// bit 1  0 = CV monitor not supported (NO) 1 = CV monitor supported  CV_SUP: NO or YES
// bit 2  0 = EGR monitor not supported (NO) 1 = EGR monitor supported  EGR_SUP: NO or YES
// bit 3  0 = VVT monitor not supported (NO) 1 = VVT monitor supported  VVT_SUP: NO or YES
// bit 4  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  EGS_RDY: YES, NO or N/A
// bit 5  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  CV_RDY: YES, NO or N/A
// bit 6  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  EGR_RDY: YES, NO or N/A
// bit 7  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  VVT_RDY: YES, NO or N/A
0xF501,   0,  0, 1,  "IM Readiness Byte F",     UNSIGNED,  BITMAP,      0,     0,  "",
// bit 0  0 = DOR system monitor not supported (NO) 1 = DOR system monitor supported  DOR_SUP: NO or YES
// bit 1  0 = CSER monitor not supported (NO) 1 = CSER monitor supported  CSER_SUP: NO or YES
// bit 2  0 = NAC monitor not supported (NO) 1 = NAC monitor supported  NAC_SUP: NO or YES
// bit 3  0 = OTH monitor not supported (NO) 1 = OTH monitor supported  OTH_SUP: NO or YES
// bit 4  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  DOR_RDY: YES, NO or N/A
// bit 5  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  CSER_RDY: YES, NO or N/A
// bit 6  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  NAC_RDY: YES, NO or N/A
// bit 7  0 = monitor complete (YES) 0 = monitor not applicable (N/A) 1 =  monitor not complete (NO)  OTH_RDY: YES, NO or N/A

0xF502,  17,  9, 1,  "Misfire Cylinder 1-8 Data support", UNSIGNED, BITMAP, 0, 0,  "",
// bit 0  1 = Misfire Cylinder 1 Data supported
// bit 1  1 = Misfire Cylinder 2 Data supported
// bit 2  1 = Misfire Cylinder 3 Data supported
// bit 3  1 = Misfire Cylinder 4 Data supported
// bit 4  1 = Misfire Cylinder 5 Data supported
// bit 5  1 = Misfire Cylinder 6 Data supported
// bit 6  1 = Misfire Cylinder 7 Data supported
// bit 7  1 = Misfire Cylinder 8 Data supported
0xF502,   0,  0, 2,  "MIS1_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",
0xF502,   0,  0, 2,  "MIS2_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",
0xF502,   0,  0, 2,  "MIS3_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",
0xF502,   0,  0, 2,  "MIS4_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",
0xF502,   0,  0, 2,  "MIS5_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",
0xF502,   0,  0, 2,  "MIS6_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",
0xF502,   0,  0, 2,  "MIS7_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",
0xF502,   0,  0, 2,  "MIS8_CUR_DCY",            UNSIGNED,  1,           0,     0,  "",

0xF503,  17,  9, 1,  "Misfire Cylinder 9-16 Data support", UNSIGNED, BITMAP, 0, 0,  "",
// bit 0  1 = Misfire Cylinder 9 Data supported
// bit 1  1 = Misfire Cylinder 10 Data supported
// bit 2  1 = Misfire Cylinder 11 Data supported
// bit 3  1 = Misfire Cylinder 12 Data supported
// bit 4  1 = Misfire Cylinder 13 Data supported
// bit 5  1 = Misfire Cylinder 14 Data supported
// bit 6  1 = Misfire Cylinder 15 Data supported
// bit 7  1 = Misfire Cylinder 16 Data supported
0xF503,   0,  0, 2,  "MIS9_CUR_DCY ",           UNSIGNED,  1,           0,     0,  "",
0xF503,   0,  0, 2,  "MIS10_CUR_DCY",           UNSIGNED,  1,           0,     0,  "",
0xF503,   0,  0, 2,  "MIS11_CUR_DCY",           UNSIGNED,  1,           0,     0,  "",
0xF503,   0,  0, 2,  "MIS12_CUR_DCY",           UNSIGNED,  1,           0,     0,  "",
0xF503,   0,  0, 2,  "MIS13_CUR_DCY",           UNSIGNED,  1,           0,     0,  "",
0xF503,   0,  0, 2,  "MIS14_CUR_DCY",           UNSIGNED,  1,           0,     0,  "",
0xF503,   0,  0, 2,  "MIS15_CUR_DCY",           UNSIGNED,  1,           0,     0,  "",
0xF503,   0,  0, 2,  "MIS16_CUR_DCY",           UNSIGNED,  1,           0,     0,  "",

0xF504,  17,  9, 1,  "Misfire Cylinder 1-8 Data support", UNSIGNED, BITMAP, 0, 0,  "",
// bit 0  1 = Misfire Cylinder 1 Data supported
// bit 1  1 = Misfire Cylinder 2 Data supported
// bit 2  1 = Misfire Cylinder 3 Data supported
// bit 3  1 = Misfire Cylinder 4 Data supported
// bit 4  1 = Misfire Cylinder 5 Data supported
// bit 5  1 = Misfire Cylinder 6 Data supported
// bit 6  1 = Misfire Cylinder 7 Data supported
// bit 7  1 = Misfire Cylinder 8 Data supported
0xF504,   0,  0, 2,  "MIS1_EWMA",               UNSIGNED,  1,           0,     0,  "",
0xF504,   0,  0, 2,  "MIS2_EWMA",               UNSIGNED,  1,           0,     0,  "",
0xF504,   0,  0, 2,  "MIS3_EWMA",               UNSIGNED,  1,           0,     0,  "",
0xF504,   0,  0, 2,  "MIS4_EWMA",               UNSIGNED,  1,           0,     0,  "",
0xF504,   0,  0, 2,  "MIS5_EWMA",               UNSIGNED,  1,           0,     0,  "",
0xF504,   0,  0, 2,  "MIS6_EWMA",               UNSIGNED,  1,           0,     0,  "",
0xF504,   0,  0, 2,  "MIS7_EWMA",               UNSIGNED,  1,           0,     0,  "",
0xF504,   0,  0, 2,  "MIS8_EWMA",               UNSIGNED,  1,           0,     0,  "",

0xF505,  17,  9, 1,  "Misfire Cylinder 9-16 Data support", UNSIGNED, BITMAP, 0, 0,  "",
// bit 0  1 = Misfire Cylinder 9 Data supported
// bit 1  1 = Misfire Cylinder 10 Data supported
// bit 2  1 = Misfire Cylinder 11 Data supported
// bit 3  1 = Misfire Cylinder 12 Data supported
// bit 4  1 = Misfire Cylinder 13 Data supported
// bit 5  1 = Misfire Cylinder 14 Data supported
// bit 6  1 = Misfire Cylinder 15 Data supported
// bit 7  1 = Misfire Cylinder 16 Data supported
0xF505, 0, 0, 2, "MIS9_EWMA ", UNSIGNED, 1, 0, 0, "",
0xF505, 0, 0, 2, "MIS10_EWMA", UNSIGNED, 1, 0, 0, "",
0xF505, 0, 0, 2, "MIS11_EWMA", UNSIGNED, 1, 0, 0, "",
0xF505, 0, 0, 2, "MIS12_EWMA", UNSIGNED, 1, 0, 0, "",
0xF505, 0, 0, 2, "MIS13_EWMA", UNSIGNED, 1, 0, 0, "",
0xF505, 0, 0, 2, "MIS14_EWMA", UNSIGNED, 1, 0, 0, "",
0xF505, 0, 0, 2, "MIS15_EWMA", UNSIGNED, 1, 0, 0, "",
0xF505, 0, 0, 2, "MIS16_EWMA", UNSIGNED, 1, 0, 0, "",
};

WORD PidPrintTableSize = (sizeof(PidPrintTable)/sizeof(PID_PRINT_DATA));
